mod_ruby1.3.0をmakeできない。
実施環境。
CentOS release 5.5 (Final) ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux] Server version: Apache/2.2.3
ruby1.8.7をインストール
# wget ftp://ftp.iij.ad.jp/pub/lang/ruby/1.8/ruby-1.8.7-p302.tar.gz # tar zxvf ruby-1.8.7-p302.tar.gz # cd ruby-1.8.7-p320 # ./configure --prefix=/usr # make # make install
mod_ruby1.3.0をインストールしようとする。
# wget http://www.modruby.net/archive/mod_ruby-1.3.0.tar.gz # tar zxvf mod_ruby-1.3.0.tar.gz # cd mod_ruby-1.3.0 # ./configure.rb --with-apxs=/usr/sbin/apxs --with-apr-includes=/usr/include/apr-1 # make gcc -shared -o mod_ruby.so mod_ruby.o ruby_config.o apachelib.o array_header.o table.o connection.o server.o request.o upload.o cookie.o paramtable.o multival.o bucket.o uri.o error.o apache_request.o apache_multipart_buffer.o apache_cookie.o -L/usr/lib64 -Wl,-R/usr/lib64 -L/usr/lib -lruby-static -lrt -ldl -lcrypt -lm /usr/bin/ld: /usr/lib/libruby-static.a(array.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC /usr/lib/libruby-static.a: could not read symbols: Bad value collect2: ld はステータス 1 で終了しました make: *** [mod_ruby.so] エラー 1
なんか、怒られる。
どう対処したら良いのか、今の所、よく分からない。
ちなみにhttpd.conf
mod_ruby関係箇所は以下のように記述している。
LoadModule ruby_module /tmp/mod_ruby-1.3.0/mod_ruby.so <IfModule mod_ruby.c> RubyRequire apache/ruby-run # /ruby以下のファイルをRubyスクリプトとして実行する <Location /ruby> SetHandler ruby-object RubyHandler Apache::RubyRun.instance </Location> # *.rbxをRubyスクリプトとして実行する <Files *.rbx> SetHandler ruby-object RubyHandler Apache::RubyRun.instance Options +ExecCGI </Files> </IfModule>