2010-04-04 4 views
5

J'ai installé SBCL (via macports/darwinports) sur mon Macbook Intel Core 2 Duo fonctionnant sous 10.5.8. J'ai installé plusieurs bibliothèques comme ceci:Installer CLSQL sur Mac OS X

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

Mais quand j'ai essayé d'installer CLSQL cette façon ('clsql) après téléchargé, je suis arrivé ceci:

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

Y at-il quelque chose que j'oublié, ou un truc pour l'obtenir sur Mac OS X? Je connais très peu de choses sur les bibliothèques C sur Mac, donc je ne sais même pas par où commencer.

Merci!

+0

Btw, avez-vous essayé quicklisp pour gérer les instalations? – PuercoPop

+0

Doit être noté 'asdf-install' est considéré obsolète à ce stade. J'ai été capable d'utiliser 'quicklisp' pour résoudre une situation similaire. – cwallenpoole

Répondre

0

Il existe des instructions here, avez-vous fait toutes les étapes de préparation?

0

Progrès: inspiré par this Asterisk bug report (« y compris les pauses bundle1.o Tiger et Leopard »), je l'ai enlevé -bundle /usr/lib/bundle1.o de tous les 4 places dans ~/.sbcl/site/clsql-5.1.1/uffi/Makefile et réinstallé, et il a obtenu plus avant de mourir.

Je vois maintenant:

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

C'est un peu bizarre, puisque:

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

  • clsql-uffi-loader.lisp essaie tous (uffi:foreign-library-types), ce qui est ("dylib" "bundle")

  • il y a un fichier ~/.sbcl/site/clsql-5.1.1/uffi/clsql_uffi.dylib construit par le makefile

Idées?

+0

* Un commentaire d'un utilisateur anonyme ajouté comme un edit: * CORRECTIF: Le problème lié semble être causé par le fait que les fichiers .dylib réels bien que créés ne sont pas de véritables bibliothèques partagées dynamiques. Pour cela, lorsque vous supprimez -bundle /usr/lib/bundle1.o ajoutez -dynamiclib à ces mêmes lignes. – Rob