[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