3

アマゾンウェブサービス(ubuntu 12.04.1 LTS)を使用しており、RVM(シングルユーザーがインストールされている)でRuby1.9.3を使用しています

乗客をインストールしましたrvmsudo gem install passenger

そして私はしようとしましたrvmsudo passenger-install-apache2-module

そしてそれは何かがうまくいかなかったと言います.....

2つのエラーがあると思います

  1. 最初のエラー

    checking for alloca.h... *** /home/ubuntu/.rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19/ext/ruby/extconf.rb failed ***
    Could not create Makefile due to some reason, probably lack of
    necessary libraries and/or headers.  Check the mkmf.log file for more
    details.  You may need configuration options.
    
    provided configuration options:
        --with-opt-dir
        --without-opt-dir
        --with-opt-include
        --without-opt-include=${opt-dir}/include
        --with-opt-lib
        --without-opt-lib=${opt-dir}/lib
        --with-make-prog
        --without-make-prog
        --srcdir=/home/ubuntu/.rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19/ext/ruby
        --curdir
        --ruby=/home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/bin/ruby
    

そのため、mkmf.logを確認しましたが、何が問題なのかわかりません。

mkmf.logで

" -o conftest -I/home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/include/ruby-1.9.1/x86_64-linux -I/home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/include/ruby-1.9.1/ruby/backward -I/home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/include/ruby-1.9.1 -I/home/ubuntu/.rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19/ext/ruby     -O3 -ggdb -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration  -fPIC -g conftest.c  -L. -L/home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib -Wl,-R/home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib -L.  -rdynamic -Wl,-export-dynamic     '-Wl,-rpath,/../lib' -Wl,-R -Wl,/home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib -L/home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib -lruby  "
 sh: 0: Illegal option -
 Current option settings
 errexit         on
 noglob          on
 ignoreeof       on
 interactive     on
 monitor         on
 noexec          on
 stdin           on
 xtrace          on
 verbose         on
 vi              on
 emacs           on
 noclobber       on
 allexport       on
 notify          on
 nounset         on
 nolog           on
 debug           on
 checked program was:
 /* begin */
 1: #include "ruby.h"
 2:
 3: int main() {return 0;}
 /* end */

2.2番目のエラー

 /home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/mkmf.rb:381:in `try_do': The compiler failed to generate an executable file. (RuntimeError)
 You have to install development tools first.
from /home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/mkmf.rb:506:in `try_cpp'
from /home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/mkmf.rb:931:in `block in have_header'
from /home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/mkmf.rb:790:in `block in checking_for'
from /home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/mkmf.rb:284:in `block (2 levels) in postpone'
from /home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from /home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/mkmf.rb:284:in `block in postpone'
from /home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/mkmf.rb:254:in `open'
from /home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/mkmf.rb:280:in `postpone'
from /home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/mkmf.rb:789:in `checking_for'
from /home/ubuntu/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/mkmf.rb:930:in `have_header'
from /home/ubuntu/.rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19/ext/ruby/extconf.rb:36:in `<main>'
 rake aborted!
 Command failed with status (1): [cd 'ext/ruby/ruby-1.9.3-x86_64-linux/' && ...]
 /home/ubuntu/.rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19/build/ruby_extension.rb:43:in `block in <top (required)>'
 /home/ubuntu/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in `eval'
 /home/ubuntu/.rvm/gems/ruby-1.9.3-p392/bin/ruby_noexec_wrapper:14:in `<main>'
 Tasks: TOP => apache2 => native_support => ext/ruby/ruby-1.9.3-x86_64-linux//passenger_native_support.so => ext/ruby/ruby-1.9.3-x86_64-linux//Makefile
 (See full trace by running task with --trace)

しかし、私はここで手がかりを見つけることができません...

誰かがこれを解決する方法を知っていますか?

4

3 に答える 3

3

頭から離れて、最初に、次のようにbuild-essentialをインストールして、開発用にUbuntuを構成したことを確認します。

xyz@supergLTS:~$ sudo apt-get install build-essential

これにより、makeおよびgccが必要とするすべての開発ツール、ファイル、およびヘッダーが取得されます。次に、Apache2モジュールのビルドプロセスを再実行します

rvmsudo passenger-install-apache2-module
于 2013-02-26T15:26:04.607 に答える
1

私の問題は乗客を再インストールすることで解決しました、いくつかのライブラリが欠けていたと思います

#gem uninstall passenger
#gem install passenger
#passenger-install-apache2-module
于 2014-06-05T20:10:32.893 に答える
0

ファイルenv PATH;の一番上に含めることで、この問題を修正しました。nginx.conf私の場合、必要なツールをすべてインストールしましたが、何らかの理由でnginxがそれらを見つけることができなかったため、追加するenv PATH;と機能しました。また、構成を変更した後は、nginxサービスを再起動することを忘れないでください。sudo service nginx restart

于 2015-10-05T19:19:47.353 に答える