- 締切済み
mod_ruby コンパイルエラー
linuxのサーバー環境 [OS]Fedora Core5 Apache2.0 [済] eruby-1.0.5 [済] mysql-ruby-2.5.1 [済] mod_ruby-1.2.6 [未] ruby-1.8.5をyumでインストールルしmod_ruby1.2.6をコンパイルでインストールしようとしたらmake中に多岐にエラーが表示されどうしたらいいのか検討が尽きません。 解かる方がおられましたら良きアドバイスを頂けないでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- sakusaker7
- ベストアンサー率62% (800/1280)
./configure.rb --with-apxs=/usr/sbin/apxs Build shared Apache module. FILE is the optional pathname to the pache apxs tool; -with-apr-includes=/usr/include/apr-1 ひょっとして↑を丸まる入力しました? --with-apxs[=FILE] Build shared Apache module. FILE is the optional pathname to the Apache apxs tool; [apxs] --with-apr-includes=DIR APR include files are in DIR というusage は、 --with-apxs[=FILE] と --with-apr-includes=DIR が、configure.rbを実行するときに与えるオプションとその引数で、 その後ろにあるのはオプションの説明です。 ですから説明の部分は実行時に入力する必要はありません。 ということでディレクトリとファイルの指定が正しい場所なら ./configure.rb --with-apxs=/usr/sbin/apxs --with-apr-includes=/usr/include/apr-1 でいけるんじゃないでしょうか(--with-apr-includesの先頭がハイフン 一個になってるようですので気をつけてください)。
- sakusaker7
- ベストアンサー率62% (800/1280)
情報ありがとうございます。 > /usr/include/httpd/ap_config.h:25:17: error: apr.h: そのようなファイルやディレクトリはありません 以降のincludeに失敗しているファイル名を見ても どれも apr で始まっているファイルですよね。 これはApacheのヘッダファイルなので configure.rbを実行するときに --with-apxs[=FILE] Build shared Apache module. FILE is the optional pathname to the Apache apxs tool; [apxs] --with-apr-includes=DIR APR include files are in DIR この辺の指定をしてやれば解決しそうに思えるのですが どうでしょうか? あと老婆心ながら、ソースからのインストールをするときは 実行ファイルなりライブラリのビルドまでは 通常のユーザーで行って、最後のインストール(make install)だけ スーパーユーザーで行うようにした方がよいですよ。 できれば sudo を使って。
- sakusaker7
- ベストアンサー率62% (800/1280)
全部は無理としても、どんなエラーが起きているのか説明できるであろう部分を 貼り付けるなりしていただけませんか?
補足
[root@server mod_ruby-1.2.6]# make i386-redhat-linux-gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -Wall -fPIC -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE -pthread -I. -I/usr/lib/ruby/1.8/i386-linux -I/usr/include/httpd -c mod_ruby.c /usr/include/httpd/httpd.h:43 から include されたファイル中, mod_ruby.h:52 から, mod_ruby.c:33 から: /usr/include/httpd/ap_config.h:25:17: error: apr.h: そのようなファイルやディレクトリはありません /usr/include/httpd/ap_config.h:26:23: error: apr_hooks.h: そのようなファイルやディレクトリはありません /usr/include/httpd/ap_config.h:27:32: error: apr_optional_hooks.h: そのようなファイルやディレクトリはありません /usr/include/httpd/httpd.h:46 から include されたファイル中, mod_ruby.h:52 から, mod_ruby.c:33 から: /usr/include/httpd/ap_release.h:24:41: error: apr_general.h: そのようなファイルやディレクトリはありません mod_ruby.h:52 から include されたファイル中, mod_ruby.c:33 から: /usr/include/httpd/httpd.h:50:24: error: apr_tables.h: そのようなファイルやディレクトリはありません /usr/include/httpd/httpd.h:51:23: error: apr_pools.h: そのようなファイルやディレクトリはありません /usr/include/httpd/httpd.h:52:22: error: apr_time.h: そのようなファイルやディレクトリはありません /usr/include/httpd/httpd.h:53:28: error: apr_network_io.h: そのようなファイルやディレクトリはありません /usr/include/httpd/httpd.h:54:25: error: apr_buckets.h: そのようなファイルやディレクトリはありません /usr/include/httpd/httpd.h:55:22: error: apr_poll.h: そのようなファイルやディレクトリはありません
補足
アドバイスありがとうございます。 エラーを修正するため下記のように変更 [apx]/usr/include/httpd/ap_config.h:→/usr/sbin/apxs [apr]→/usr/include/apr-1 ./configure.rb --with-apxs=/usr/sbin/apxs Build shared Apache module. FILE is the optional pathname to the pache apxs tool; -with-apr-includes=/usr/include/apr-1 上記のように設定しましたが下記のように表示されます。 th-apr-includes=/usr/include/apr-1 checking for a BSD compatible install... /usr/bin/install -c checking whether we are using gcc... yes checking Ruby version... 1.8.5 checking for static Apache module support... no checking for dynamic Apache module support... yes creating Makefile creating libruby.module creating doc/Makefile bash: -with-apr-includes=/usr/include/apr-1: そのようなファイルやディレクトリはありません どうしたら良いのか分かりません。