Macos 在Mac OS X上安装CLSQL

Macos 在Mac OS X上安装CLSQL,macos,lisp,common-lisp,sbcl,clsql,Macos,Lisp,Common Lisp,Sbcl,Clsql,我在运行10.5.8的Intel Core 2 Duo Macbook上安装了SBCL(通过macports/darwinports)。我已经安装了几个库,如下所示: (require 'asdf) (require 'asdf-install) (asdf-install:install 'cl-who) 但当我在下载CLSQL后尝试以这种方式('CLSQL)安装它时,我得到了以下结果: ... ; registering #<SYSTEM CLSQL-UFFI {123D9E01}&

我在运行10.5.8的Intel Core 2 Duo 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
。。。
; 注册为CLSQL-UFFI
; $ cd/Users/ken/.sbcl/site/clsql-5.0.5/uffi/;制作
cc-arch x86_64-arch i386-bundle/usr/lib/bundle1.o-flat_命名空间-undefined suppress clsql_uffi.c-o clsql_uffi.dylib
ld:architecture i386的/usr/lib/bundle1.o和/usr/lib/bundle1.o中的重复符号dyld\u stub\u binding\u helper
ld:architecture x86\u 64的/usr/lib/bundle1.o和/usr/lib/bundle1.o中的重复符号dyld\u stub\u binding\u helper
collect2:ld返回了1个退出状态
collect2:ld返回了1个退出状态
lipo:无法打开输入文件:/var/folders/Nf/nf4o5ardfawb20wtnwm3e+++TQ/-Tmp-///ccJyZxou.out(没有这样的文件或目录)
make:**[clsql\u uffi.so]错误1
是不是有什么我忘了的东西,或者是什么让它建立在MacOSX上的技巧?这些天我对Mac上的C库知之甚少,所以我甚至不知道从哪里开始

谢谢

有说明,你完成了所有的准备步骤吗?

进度:受(“包括bundle1.o breaks Tiger and Leopard”)的启发,我将
-bundle/usr/lib/bundle1.o
~/.sbcl/site/clsql-5.1.1/uffi/Makefile
中的所有4个位置移除并重新安装,它在死亡之前更进一步

我现在看到:

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_uffi”。(已搜索的CLSQL-SYS:*FOREIGN-LIBRARY-SEARCH-path*) 这有点奇怪,因为:

  • clsql-sys:*国外图书馆搜索路径*
    (#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\u uffi.dylib
    文件


想法?

使用Quicklisp可能比使用“裸”ASDF容易得多。看一看作为编辑:修复添加的匿名用户的评论:相关问题似乎是由实际创建的.dylib文件不是真正的动态共享库这一事实引起的。为此,在删除-bundle/usr/lib/bundle1.o时,将-dynamiclib添加到这些行中。顺便说一句,您是否尝试过使用quicklisp处理安装?应注意
asdf install
此时被视为不推荐使用。我能够使用
quicklisp
解决类似的情况。