Re: Installing eRuby on MacOS X
Kevin Bullock <[email protected]>
| Newsgroups | gmane.comp.apache.mod-ruby |
|---|---|
| Message-ID | <[email protected]> |
I recently got both working on Panther with the Apache and Ruby versions that come installed with the system. It sounds like you're using your own manual install of Apache... are you using a manual Ruby install as well? Can you launch, e.g., irb, or run normal Ruby scripts? The undefined symbol errors indicate that for some reason, mod_ruby can't load libruby. You might try recompiling mod_ruby and eRuby, but statically linking them against libruby.a. I had a similar problem when I was trying to get RubyCocoa working before it had been updated for Panther... not sure what they changed to make it work with the dynamic library though. Pacem in terris / Mir / Shanti / Salaam / Heiwa Kevin R. Bullock On 21 Jan 2004, at 16.19, Gavin Kistner wrote: > All day I have been trying to get mod_ruby and eRuby installed on > MacOS X 10.3 (Panther) with Apache 1.3. > I'm close, but not yet there. > > (When finished I will post the full details of what I needed to do.) > > mod_ruby and eRuby both claim to have succeeded in the whole > configure/make/make install steps. > > However, when I uncomment the following line in httpd.conf... > #RubyRequire apache/eruby-run > ...Apache fails to start up. (The directive "RubyRequire > apache/ruby-run" works just fine.) > > I'm assuming that perhaps the problem is that the eRuby installer put > the library in the wrong location. When I perform "make install" I > see: > liberuby.a -> /usr/local/lib/liberuby.a > chmod 0644 /usr/local/lib/liberuby.a > > Is this the correct location for it to go? > Apache is a new working install in the standard location of: > /usr/local/apache/ > And the mod_ruby.so file was correctly installed into: > /usr/local/apache/libexec/mod_ruby.so > > > As more information, following is the output of the configure and > 'make install' commands for eRuby and mod_ruby, and then the output of > the error log upon trying to start it with the line uncommented. > > Any pointers on getting this working would be really appreciated. > > > [/tmp/ruby/eruby-1.0.5] root# ./configure.rb > checking whether we are using gcc... yes > checking Ruby version... 1.8.1 > checking for default charset... iso-8859-1 > checking whether enable shared... no > creating config.h > creating Makefile > > ... > > [/tmp/ruby/eruby-1.0.5] root# make install > liberuby.a -> /usr/local/lib/liberuby.a > chmod 0644 /usr/local/lib/liberuby.a > > ... > > [/tmp/ruby/mod_ruby-1.0.7] root# ./configure.rb > --with-apxs=/usr/local/apache/bin/apxs --enable-eruby > checking for a BSD compatible install... /usr/bin/install -c > checking whether we are using gcc... yes > checking Ruby version... 1.8.1 > checking for static Apache module support... no > checking for dynamic Apache module support... yes > checking for eruby... yes > creating Makefile > creating libruby.module > creating doc/Makefile > > ... > > [/tmp/ruby/mod_ruby-1.0.7] root# make install > /usr/bin/install -c -d /usr/local/apache/libexec > /usr/bin/install -c -m 555 mod_ruby.so /usr/local/apache/libexec > /usr/bin/install -c -d /usr/local/lib/ruby/1.8/apache > for file in apache/ruby-run.rb apache/eruby-run.rb apache/erb-run.rb > apache/rd2html.rb apache/ruby-debug.rb apache/eruby-debug.rb > auto-reload.rb; do \ > /usr/bin/install -c -m 644 > /private/tmp/ruby/mod_ruby-1.0.7/lib/$file > /usr/local/lib/ruby/1.8/$file; \ > done > > > [local/apache/logs] root# cat error_log > dyld: /usr/local/apache/bin/httpd Undefined symbols: > _rb_cObject > _rb_check_type > _rb_data_object_alloc > _rb_define_class_under > _rb_define_method > _rb_define_module > _rb_define_singleton_method > _rb_define_virtual_variable > _rb_eStandardError > _rb_eval_string_wrap > _rb_file_open > _rb_funcall > _rb_gc_mark > _rb_global_variable > _rb_intern > _rb_io_close > _rb_io_gets > _rb_protect > _rb_provide > _rb_raise > _rb_set_kcode > _rb_stdin > _rb_str2cstr > _rb_str_cat > _rb_str_freeze > _rb_str_new > _rb_str_new2 > _re_mbctab > _ruby_debug > _ruby_show_version > _ruby_top_self > _ruby_verbose > _ruby_xmalloc > > > > -- > (-, /\ \/ / /\/ > >