2010-04-04 44 views
5

Tôi đã cài đặt SBCL (qua macports/darwinports) trên Macbook Intel Core 2 Duo của tôi đang chạy 10.5.8. Tôi đã cài đặt một số thư viện như thế này:Cài đặt CLSQL trên Mac OS X

(require 'asdf) 
(require 'asdf-install) 
(asdf-install:install 'cl-who) 

Nhưng khi tôi đã cố gắng để cài đặt CLSQL theo cách này ('clsql) sau khi tải về, tôi nhận điều này:

... 
; 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 

Có một cái gì đó tôi quên, hoặc một số mẹo để làm cho nó xây dựng trên Mac OS X? Tôi biết rất ít về các thư viện C trên máy Mac trong những ngày này, vì vậy tôi thậm chí không biết bắt đầu từ đâu về điều này.

Cảm ơn!

+0

Btw, bạn đã thử nhanh chóng để xử lý các bản sao chưa? – PuercoPop

+0

Cần lưu ý 'asdf-install' được coi là không được dùng nữa tại thời điểm này. Tôi đã có thể sử dụng 'quicklisp' để giải quyết một tình huống tương tự. – cwallenpoole

Trả lời

0

Có hướng dẫn here, bạn đã thực hiện tất cả các bước chuẩn bị chưa?

0

Tiến độ: lấy cảm hứng từ this Asterisk bug report ("Bao gồm bundle1.o phá vỡ Tiger và Leopard"), tôi loại bỏ -bundle /usr/lib/bundle1.o từ tất cả 4 địa điểm trong ~/.sbcl/site/clsql-5.1.1/uffi/Makefile và cài đặt lại, và nó đã thêm trước khi chết.

bây giờ tôi đang nhìn thấy:

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*) 

Đây là loại kỳ lạ, vì:

  • clsql-sys:*foreign-library-search-paths*(#P"/Users/ken/.sbcl/site/clsql-5.1.1/uffi/")

  • clsql-uffi-loader.lisp cố gắng tất cả các (uffi:foreign-library-types), đó là ("dylib" "bundle")

  • có một tập tin ~/.sbcl/site/clsql-5.1.1/uffi/clsql_uffi.dylib được xây dựng bởi các makefile

Ý tưởng?

+0

* Nhận xét từ người dùng ẩn danh được thêm dưới dạng chỉnh sửa: * Khắc phục: Sự cố liên quan dường như là do tệp .dylib thực tế mặc dù được tạo không phải là thư viện động thực. Đối với điều này, khi loại bỏ bundle /usr/lib/bundle1.o add -dynamiclib vào cùng một dòng. – Rob