Problem adding new module


(Michael S. Jessop) #1

Stats = Ruby 1.6.8 on BeOS R5 BONE

I had been running Ruby 1.6.4 (prebuilt for BeOS) with vanilla BeOS (no
BONE). It worked great! I switched to BONE and Ruby started
segmenting. I download 1.6.8 and built it myself . The new build
seemed to work fine. I then rebuilt the ruby sqlite module which ALSO
seemed to work fine… but when I try to run my program[s] against
sqlite I get…

$ ruby pman_test.rb
/boot/home/config/lib/ruby/1.6/sqlite.rb:27:in require': dlopen: could not find /boot/home/config/lib/ruby/1.6/i586-beos/_sqlite.so - /boot/ home/config/lib/ruby/1.6/i586-beos/_sqlite.so (LoadError) from /boot/home/config/lib/ruby/1.6/sqlite.rb:27 from ./email.rb:1:inrequire’
from ./email.rb:1
from pman_test.rb:1:in `require’
from pman_test.rb:1
$

Any ideas how I should proceed?

Thank you!

Mike J.

···

The light at the end of the tunnel is the headlight of an approaching
train.


(Ara.T.Howard) #2

Stats = Ruby 1.6.8 on BeOS R5 BONE

I had been running Ruby 1.6.4 (prebuilt for BeOS) with vanilla BeOS (no
BONE). It worked great! I switched to BONE and Ruby started
segmenting. I download 1.6.8 and built it myself . The new build
seemed to work fine. I then rebuilt the ruby sqlite module which ALSO
seemed to work fine… but when I try to run my program[s] against
sqlite I get…

$ ruby pman_test.rb
/boot/home/config/lib/ruby/1.6/sqlite.rb:27:in `require’: dlopen: could

not find /boot/home/config/lib/ruby/1.6/i586-beos/_sqlite.so - /boot/
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

does this file exist?

home/config/lib/ruby/1.6/i586-beos/_sqlite.so (LoadError)
from /boot/home/config/lib/ruby/1.6/sqlite.rb:27
from ./email.rb:1:in require' from ./email.rb:1 from pman_test.rb:1:inrequire’
from pman_test.rb:1
$

Any ideas how I should proceed?

Thank you!

Mike J.


The light at the end of the tunnel is the headlight of an approaching
train.

-a

···

On Tue, 2 Mar 2004, Michael S. Jessop wrote:

===============================================================================

EMAIL :: Ara [dot] T [dot] Howard [at] noaa [dot] gov
PHONE :: 303.497.6469
ADDRESS :: E/GC2 325 Broadway, Boulder, CO 80305-3328
URL :: http://www.ngdc.noaa.gov/stp/
TRY :: for l in ruby perl;do $l -e “print “\x3a\x2d\x29\x0a””;done
===============================================================================


(Nobuyoshi Nakada) #3

Hi,

At Tue, 2 Mar 2004 22:54:43 +0900,
Ara.T.Howard wrote in [ruby-talk:94061]:

not find /boot/home/config/lib/ruby/1.6/i586-beos/_sqlite.so - /boot/
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

does this file exist?

In general, when LoadError for .so reports the full path, the
file was found but could not loaded due to another reason,
e.g. permission, lack of required libraries, etc.

···


Nobu Nakada


(Ara.T.Howard) #4

ah. so perhaps _sqlite.so cannot find the sqlite libs.

try

ldd /boot/home/config/lib/ruby/1.6/i586-beos/_sqlite.so
(or equiv)

so see which libs THIS lib depends on. then see if those libs are in the
places normally searched by ld.so. if they are not recomple with LD_RUN_PATH
set equal to that location, or set LD_LIBRARY_PATH to that location at
runtime, or reconfigure ld.so to look at that location. IMHO the first is the
best option.

-a

···

On Wed, 3 Mar 2004 nobu.nokada@softhome.net wrote:

Hi,

At Tue, 2 Mar 2004 22:54:43 +0900,
Ara.T.Howard wrote in [ruby-talk:94061]:

not find /boot/home/config/lib/ruby/1.6/i586-beos/_sqlite.so - /boot/
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

does this file exist?

In general, when LoadError for .so reports the full path, the
file was found but could not loaded due to another reason,
e.g. permission, lack of required libraries, etc.

EMAIL :: Ara [dot] T [dot] Howard [at] noaa [dot] gov
PHONE :: 303.497.6469
ADDRESS :: E/GC2 325 Broadway, Boulder, CO 80305-3328
URL :: http://www.ngdc.noaa.gov/stp/
TRY :: for l in ruby perl;do $l -e “print “\x3a\x2d\x29\x0a””;done
===============================================================================