[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] how to use extensions in csi
From: |
Thomas Rowe |
Subject: |
Re: [Chicken-users] how to use extensions in csi |
Date: |
Wed, 7 Sep 2005 19:35:40 -0500 |
User-agent: |
Mutt/1.5.8i |
On Wed, Sep 07, 2005 at 12:02:04PM +0200, felix winkelmann wrote:
> On 9/7/05, Thomas Rowe <address@hidden> wrote:
> > Please let me know if this sort of low level question is inappropriate for
> > this list.
> >
> > I cannot seem to load extensions in the interpreter. I have installed from
> > source.
> >
> > $ pwd
> > /tmp/chicken-2.0
> > $ ./configure && make && make install
> > $ csi
> > #;1> (use srfi-1)
> > ; loading library srfi-1 ...
> > Error: (load-library) unable to load library
> > srfi-1
> > "libchicken.so: cannot open shared object file: No such file or directory"
> > #;1> (require 'srfi-1)
> > ; loading library srfi-1 ...
> > #;2> filter
> > Error: unbound variable: filter
> >
> > What is going on? How am I supposed to load extensions? Did I install
> > incorrectly? I'm using gcc version 3.3.5. I compiled with no flags.
>
> Is libchicken.so in your linker path? If you compile
> a file that does `(use srfi-1)', does that work?
> What's the output of `ldd csi`.
> Another option is to try this:
>
> % LD_DEBUG=libs csi
> (and perform a `(use srfi-1)')
>
> Is this on a Linux system?
>
>
> cheers,
> felix
>
The extension loader appears to try and get libchicken.so out of /usr/lib
even though it's in /usr/local/lib?
There is no srfi-1.so file anywhere on my system.
$ LD_DEBUG="libs csi" csi
#;1> (use srfi-1)
; loading library srfi-1 ...
27159: find library=srfi-1.so [0]; searching
27159: search cache=/etc/ld.so.cache
27159: search
path=/lib/tls/i686:/lib/tls:/lib/i686:/lib:/usr/lib/tls/i686:/usr/lib/tls:/usr/lib/i686:/usr/lib
(system search path)
27159: trying file=/lib/tls/i686/srfi-1.so
27159: trying file=/lib/tls/srfi-1.so
27159: trying file=/lib/i686/srfi-1.so
27159: trying file=/lib/srfi-1.so
27159: trying file=/usr/lib/tls/i686/srfi-1.so
27159: trying file=/usr/lib/tls/srfi-1.so
27159: trying file=/usr/lib/i686/srfi-1.so
27159: trying file=/usr/lib/srfi-1.so
27159:
27159: find library=libchicken.so [0]; searching
27159: search cache=/etc/ld.so.cache
27159: search path=/lib:/usr/lib/tls:/usr/lib (system search path)
27159: trying file=/lib/libchicken.so
27159: trying file=/usr/lib/tls/libchicken.so
27159: trying file=/usr/lib/libchicken.so
27159:
Error: (load-library) unable to load library srfi-1
"libchicken.so: cannot open shared object file: No such file or directory"
$ ldd /usr/local/bin/csi
linux-gate.so.1 => (0xffffe000)
libchicken.so.0 => /usr/local/lib/libchicken.so.0 (0xb7d5f000)
libdl.so.2 => /lib/libdl.so.2 (0xb7d4e000)
libpcre.so.0 => /usr/lib/libpcre.so.0 (0xb7d3d000)
libm.so.6 => /lib/libm.so.6 (0xb7d1a000)
libc.so.6 => /lib/libc.so.6 (0xb7c02000)
/lib/ld-linux.so.2 (0xb7f50000)