Установите CLSQL на Mac OS X - PullRequest
       66

Установите CLSQL на Mac OS X

5 голосов
/ 04 апреля 2010

У меня установлен SBCL (через macports / darwinports) на моем Intel Core 2 Duo Macbook под управлением 10.5.8. Я установил несколько таких библиотек:

(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? Сейчас я очень мало знаю о библиотеках C на Mac, поэтому даже не знаю, с чего начать.

Спасибо!

Ответы [ 3 ]

2 голосов
/ 08 сентября 2016

Возможно, использовать Quicklisp вместо «голого» ASDF намного проще. Взгляните на https://www.quicklisp.org/beta/

0 голосов
/ 07 июня 2010

Прогресс: вдохновленный этим сообщением об ошибке Asterisk ("Включая bundle1.o разбивает Тигра и Леопарда"), я удалил -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")

  • существует файл ~/.sbcl/site/clsql-5.1.1/uffi/clsql_uffi.dylib, созданный make-файлом

Идеи

0 голосов
/ 19 апреля 2010

Здесь есть инструкции , вы выполнили все подготовительные шаги?

...