[elephant-devel] libberkeley-db.dylib build error on Mac OS X 10.6
Chun Tian
binghe.lisp at gmail.com
Sat Oct 10 01:39:32 UTC 2009
Hi, Elephant
It seems that "gcc" on Mac OS X 10.6 compiles to 64-bit executes by
default. And if I load Elephant-1.0 in a 32-bit CL, libberkeley-db.c
cannot compile correctly: (I'm under 32-bit LispWorks)
; $ gcc -L/sw64/lib/ -I/sw64/include/db4/ -bundle -fPIC -Wall -g -O2 -
g /Users/binghe/Lisp/packages/elephant-1.0/src/db-bdb/libberkeley-db.c
-o /Users/binghe/Lisp/packages/elephant-1.0/src/db-bdb/libberkeley-
db.dylib -lm -ldb-4.7
/Users/binghe/Lisp/packages/elephant-1.0/src/db-bdb/libberkeley-db.c:
In function 'lisp_compare2':
/Users/binghe/Lisp/packages/elephant-1.0/src/db-bdb/libberkeley-db.c:
1061: warning: unused variable 'i'
/Users/binghe/Lisp/packages/elephant-1.0/src/db-bdb/libberkeley-db.c:
In function 'lisp_compare_key2':
/Users/binghe/Lisp/packages/elephant-1.0/src/db-bdb/libberkeley-db.c:
1155: warning: unused variable 'i'
ld: warning: in /sw64/lib//libdb-4.7.dylib, file is not of required
architecture
Undefined symbols:
"_db_sequence_create", referenced from:
_db_sequence_create2 in ccpBICdb.o
"_db_env_create", referenced from:
_db_env_cr in ccpBICdb.o
"_db_create", referenced from:
_db_cr in ccpBICdb.o
"_db_strerror", referenced from:
_db_strerr in ccpBICdb.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Error: erred while invoking #<ASDF:COMPILE-OP NIL 2259272B> on
#<ELE-BDB-SYSTEM::BDB-C-SOURCE "libberkeley-db" 200DF123>
1 (continue) Retry performing #<ASDF:COMPILE-OP NIL 2259272B> on
#<ELE-BDB-SYSTEM::BDB-C-SOURCE "libberkeley-db"
200DF123>.
2 Continue, treating #<ASDF:COMPILE-OP NIL 2259272B> on
#<ELE-BDB-SYSTEM::BDB-C-SOURCE "libberkeley-db" 200DF123> as
having been successful.
3 (abort) Return to level 0.
4 Return to top loop level 0.
One solution may be explicit add a "-m32" compiler option for all 32-
bit CL platforms under Mac OS X. A small patch as in attach could fix
this, also paste here:
diff -rN -u old-elephant-1.0/elephant.asd new-elephant-1.0/elephant.asd
--- old-elephant-1.0/elephant.asd 2009-10-10 09:31:52.000000000 +0800
+++ new-elephant-1.0/elephant.asd 2009-10-10 09:31:52.000000000 +0800
@@ -225,6 +225,7 @@
#-(or darwin macosx darwin-host) "-shared"
#+(or darwin macosx darwin-host) "-bundle"
#+(and X86-64 (or macosx darwin darwin-host)) "-arch x86_64"
+ #+(and X86 (or macosx darwin darwin-host)) "-m32" ; Snow Leopard
#+(and X86-64 linux) "-march=x86-64"
"-fPIC"
"-Wall"
Please confirm and merge it.
Regards,
Chun Tian (binghe)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: compiler-options.diff
Type: application/octet-stream
Size: 526 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/elephant-devel/attachments/20091010/d93fe91c/attachment.obj>
More information about the elephant-devel
mailing list