[elephant-devel] CVS HEAD w/ lispworks 5.0.1 linux

Lui Fungsin fungsin.lui at gmail.com
Sat May 5 06:30:18 UTC 2007


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



More information about the elephant-devel mailing list