FXRuby 1.6.4 redux

OK, thanks to the timely help of Lyle J. (Thanks, Lyle!) I got
FXRuby 1.6.4 compiled and installed. Unfortunately I cannot say that I
have it running.

  1. Using ‘gem install fxruby’, as per the FXRuby web site’s warning,
    doesn’t work. (This was not unexpected.)

  2. Building FXRuby 1.6.4 myself from source and installing it
    (‘install.rbconfig’, ‘install.rb setup’ and ‘install.rb install’) seems
    to have worked in that it compiled (relatively) cleanly, made the files
    I’d expect and then put them about where I’d expect to find them.
    That’s where the good news ends, however. When I try a quick test of
    it, things fail in ways I can’t figure out:

    $ irb
    irb(main):001:0> require 'fox16'
    LoadError: libfxscintilla.so.18: cannot open shared object file:
    No such file or directory
    - /usr/local/lib/site_ruby/1.8/i486-linux/fox16.so
            from /usr/local/lib/site_ruby/1.8/i486-linux/fox16.so
            from (irb):1
    irb(main):002:0> quit
    
    $ find /usr/local/lib -name fox16.so
    /usr/local/lib/site_ruby/1.8/i486-linux/fox16.so
    
    $ ls -l /usr/local/lib/site_ruby/1.8/i486-linux
    total 19M
    -rwxr-xr-x 1 root staff 59K 2006-12-11 15:03 bz2.so
    -r-xr-xr-x 1 root staff 19M 2006-12-14 06:48 fox16.so
    
    $ find /usr/local/ -name "*scin*"
    /usr/local/lib/site_ruby/1.8/fox16/scintilla.rb
    /usr/local/lib/libfxscintilla.so.18.1.1
    /usr/local/lib/libfxscintilla.so.18
    /usr/local/lib/libfxscintilla.so
    /usr/local/lib/libfxscintilla.la
    /usr/local/lib/libfxscintilla.a
    /usr/local/lib/libfxscintilla.17.0.0
    /usr/local/lib/libfxscintilla.17
    /usr/local/lib/libfxscintilla
    /usr/local/include/fxscintilla
    
    $ ls -l /usr/local/lib/libfxscintilla*
    lrwxrwxrwx 1 root root   21 2006-12-11
    20:07 /usr/local/lib/libfxscintilla -> libfxscintilla.17.0.0
    lrwxrwxrwx 1 root root   21 2006-12-11
    20:07 /usr/local/lib/libfxscintilla.17 -> libfxscintilla.17.0.0
    -rwxr-xr-x 1 root root 2.5M 2006-12-11
    20:07 /usr/local/lib/libfxscintilla.17.0.0
    -rw-r--r-- 1 root root 4.4M 2006-12-13
    21:22 /usr/local/lib/libfxscintilla.a
    -rwxr-xr-x 1 root root  778 2006-12-13
    21:22 /usr/local/lib/libfxscintilla.la
    lrwxrwxrwx 1 root root   24 2006-12-11
    19:25 /usr/local/lib/libfxscintilla.so ->
    libfxscintilla.so.18.1.1
    lrwxrwxrwx 1 root root   24 2006-12-11
    19:25 /usr/local/lib/libfxscintilla.so.18 ->
    libfxscintilla.so.18.1.1
    -rwxr-xr-x 1 root root 3.0M 2006-12-11
    19:25 /usr/local/lib/libfxscintilla.so.18.1.1
    

My inexperienced eyes can find nothing wrong. The fox16.so file that it
claims it can’t find is very obviously there. Or, if I’m misreading
this, the libfxscintilla.so.18 file it claims it can’t find is also
clearly present. Permissions seem to all be sane. I can’t figure out
what it wants from me. What painfully, laughably obvious thing am I
missing here?


Michael T. Richter
Email: [email protected], [email protected]
MSN: [email protected], [email protected]; YIM:
michael_richter_1966; AIM: YanJiahua1966; ICQ: 241960658; Jabber:
[email protected]

“My paramount object in this struggle is to save the Union, and is not
either to save or to destroy slavery.” --Abraham Lincoln

Michael T. Richter wrote:

OK, thanks to the timely help of Lyle J. (Thanks, Lyle!) I got
FXRuby 1.6.4 compiled and installed. Unfortunately I cannot say that I
have it running.

/ …

What painfully, laughably obvious thing am I
missing here?

The library file is present, but the application that needs it cannot
find
it.

  1. Check that /etc/ld.so.conf contains the path to the required library
    directory. Example of /etc/ld.so.conf contents:

include ld.so.conf.d/*.conf
/usr/local/lib

Notice that the path to the required library directory is explicitly
included in this key library path resolution file.

If your /etc/ld.so.conf file doesn’t look like this, edit it.

  1. Run ldconfig as root:

/sbin/ldconfig

See if this generic approach resolves the problem.

BTW this is a way to resolve a large number of library-related problems.

On Thu, 2006-14-12 at 17:10 +0900, Paul L. wrote:

a whole bunch of stuff about /etc/ld.so.conf

Yes, that did it Paul. Thanks. I guess what baffled me was the fact
that it was giving the path all the way to the library to say it wasn’t
there. Weird error message, but this set of incantations made it all
work, so I’m happy.


Michael T. Richter
Email: [email protected], [email protected]
MSN: [email protected], [email protected]; YIM:
michael_richter_1966; AIM: YanJiahua1966; ICQ: 241960658; Jabber:
[email protected]

“Sexual organs were created for reproduction between the male element
and the female element – and everything that deviates from that is not
acceptable from a Buddhist point of view. Between a man and man, a woman
and another woman, in the mouth, the anus, or even using a hand.” --The
Dalai Lama

On 12/14/06, Michael T. Richter [email protected] wrote:

Yes, that did it Paul. Thanks. I guess what baffled me was the fact that
it was giving the path all the way to the library to say it wasn’t there.

It was giving you the path to the FXRuby extension’s shared library
(in your case, /usr/local/lib/site_ruby/1.8/i486-linux/fox16.so), and
Ruby did know where to find that file. What it couldn’t find was
/usr/local/lib/libFOX-1.6.so, which is a dependency of the former. The
information that Paul provided corrected that latter problem.

This is discussed in the FXRuby U.'s Guide, here:

http://www.fxruby.org/doc/build.html#tragedies

Hope this helps,

Lyle

P.S. Thanks, Paul!