[elephant-devel] CVS HEAD w/ lispworks 5.0.1 linux
Ian Eslick
eslick at csail.mit.edu
Sat May 5 10:59:25 UTC 2007
I noticed that the .asd file has a line:
#-(or linux) (list (format nil "-l~A" (get-db-name c)))))
To keep linux builds from adding the library link command ( get-db-
name will extract the db-4.5 or
db45 name of the BDB library that you provide in the
configuration ). I don't remember why this was put in and am not a
regular user of linux. If you remove the reader conditional, does it
work for you?
Ian
On May 5, 2007, at 2:30 AM, Lui Fungsin wrote:
> Hi Ian,
>
> Congrats on the 0.9 RC1 release.
>
> Good news : the MOP error is gone with elephant 0.9
>
> Now I can successfully do all these:
>
> (asdf:operate 'asdf:load-op :elephant)
> (asdf:operate 'asdf:load-op :ele-bdb)
> (asdf:operate 'asdf:load-op :elephant-tests)
> (in-package :ele-tests)
> (setf *default-spec* *testbdb-spec*)
>
> Bad news is that I still can't get elephant to work out of the box:
>
> ELE-TESTS 8 > (do-backend-tests)
> lispworks-5-0-0-x86-linux: symbol lookup error:
> src/db-bdb/libberkeley-db.so: undefined symbol: db_env_create
> ;; lispworks exits abnormally
>
>
> So I spent sometime to diagnose this. Here're my findings:
>
> I went through the asdf compilation log and found that this looks
> suspicious:
>
> $ gcc -L/usr/local/BerkeleyDB.4.5/lib/
> -I/usr/local/BerkeleyDB.4.5/include/ -shared -fPIC -Wall -O2 -g
> src/db-bdb/libberkeley-db.c -o src/db-bdb/libberkeley-db.so -lm
>
> $ ldd src/db-bdb/libberkeley-db.so
> linux-gate.so.1 => (0x009fb000)
> libm.so.6 => /lib/libm.so.6 (0x00110000)
> libc.so.6 => /lib/libc.so.6 (0x00db5000)
> /lib/ld-linux.so.2 (0x0085f000)
>
> I then recompiled the file with a -ldb flag
>
> $ gcc -L/usr/local/BerkeleyDB.4.5/lib/
> -I/usr/local/BerkeleyDB.4.5/include/ -shared -fPIC -Wall -O2 -g
> src/db-bdb/libberkeley-db.c -o src/db-bdb/libberkeley-db.so -lm -ldb
>
> $ export LD_LIBRARY_PATH=/usr/local/BerkeleyDB.4.5/lib/
>
> $ ldd src/db-bdb/libberkeley-db.so
> linux-gate.so.1 => (0x00d71000)
> libm.so.6 => /lib/libm.so.6 (0x00d43000)
> libdb-4.5.so => /usr/local/BerkeleyDB.4.5/lib/libdb-4.5.so
> (0x00918000)
> libc.so.6 => /lib/libc.so.6 (0x00b43000)
> /lib/ld-linux.so.2 (0x0085f000)
> libpthread.so.0 => /lib/libpthread.so.0 (0x00f9c000)
>
> After that lispworks successfully ran (do-backend-tests) and passed
> all the tests.
>
> How do you get it to work without these tweaks?
>
> fungsin
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel
More information about the elephant-devel
mailing list