我在运行10.5.8的英特尔酷睿2双核Macbook上安装了SBCL(通过macports / darwinports)。我安装了几个这样的库:
(require 'asdf)
(require 'asdf-install)
(asdf-install:install 'cl-who)
但是当我下载后尝试以这种方式安装CLSQL('clsql
)时,我得到了这个:
...
; registering #<SYSTEM CLSQL-UFFI {123D9E01}> as CLSQL-UFFI
; $ cd /Users/ken/.sbcl/site/clsql-5.0.5/uffi/; make
cc -arch x86_64 -arch i386 -bundle /usr/lib/bundle1.o -flat_namespace -undefined suppress clsql_uffi.c -o clsql_uffi.dylib
ld: duplicate symbol dyld_stub_binding_helper in /usr/lib/bundle1.o and /usr/lib/bundle1.o for architecture i386
ld: duplicate symbol dyld_stub_binding_helper in /usr/lib/bundle1.o and /usr/lib/bundle1.o for architecture x86_64
collect2: ld returned 1 exit status
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/Nf/Nf4o5ArDFaWBH2OwtnWM3E+++TQ/-Tmp-//ccJyZxou.out (No such file or directory)
make: *** [clsql_uffi.so] Error 1
有没有我忘记的东西,或者在Mac OS X上构建它的一些技巧?我现在对Mac上的C库知之甚少,所以我甚至不知道从哪里开始。
谢谢!
答案 0 :(得分:2)
使用#34;裸体&#34;的Quicklisp insteak可能要容易得多。 ASDF。看看https://www.quicklisp.org/beta/
答案 1 :(得分:0)
有说明here,您是否完成了所有准备步骤?
答案 2 :(得分:0)
进展:受this Asterisk bug report启发(“包括bundle1.o打破Tiger和Leopard”),我从-bundle /usr/lib/bundle1.o
的所有4个地方删除了~/.sbcl/site/clsql-5.1.1/uffi/Makefile
并重新安装,之后又进一步死亡。
我现在看到了:
debugger invoked on a SIMPLE-ERROR in thread #<THREAD "initial thread" RUNNING {1193E621}>:
Couldn't load foreign library "clsql_uffi". (searched CLSQL-SYS:*FOREIGN-LIBRARY-SEARCH-PATHS*)
这有点奇怪,因为:
clsql-sys:*foreign-library-search-paths*
是(#P"/Users/ken/.sbcl/site/clsql-5.1.1/uffi/")
clsql-uffi-loader.lisp
尝试所有(uffi:foreign-library-types)
,即("dylib" "bundle")
makefile
~/.sbcl/site/clsql-5.1.1/uffi/clsql_uffi.dylib
文件
想法?