2015-02-24 45 views
0

我试图安装Lisp中GNU科学图书馆(GSLL)上安装SBCL GSLL。 我看到有回答过类似的问题了,但我没有发现什么是在我的情况下发生的连接。与Quicklisp

任何人都可以帮助从这里继续前进?

CL-USER> (lisp-implementation-type) 
"SBCL" 
CL-USER> (lisp-implementation-version) 
"1.2.4.debian" 

CL-USER> (ql:quickload "gsll") 

; cc -m64 -I/lrde/home/alandi/quicklisp/dists/quicklisp/software/cffi_0.14.0/ -o /lrde/home/alandi/.cache/common-lisp/sbcl-1.2.4.debian-linux-x64/lrde/home/alandi/quicklisp/dists/quicklisp/software/cffi_0.14.0/libffi/libffi-unix /lrde/home/alandi/.cache/common-lisp/sbcl-1.2.4.debian-linux-x64/lrde/home/alandi/quicklisp/dists/quicklisp/software/cffi_0.14.0/libffi/libffi-unix.c 
; 

; compilation unit aborted 
; caught 2 fatal ERROR conditions 

To load "gsll": 
    Load 8 ASDF systems: 
    alexandria antik asdf-system-connections cffi-grovel 
    cffi-libffi metabang-bind osicat trivial-garbage 

    Install 1 Quicklisp gsll 
    release: 
; Loading "gsll" 

; cc -m64 -I/lrde/home/alandi/quicklisp/dists/quicklisp/software/cffi_0.14.0/ -o /lrde/home/alandi/.cache/common-lisp/sbcl-1.2.4.debian-linux-x64/lrde/home/alandi/quicklisp/dists/quicklisp/software/cffi_0.14.0/libffi/libffi-unix /lrde/home/alandi/.cache/common-lisp/sbcl-1.2.4.debian-linux-x64/lrde/home/alandi/quicklisp/dists/quicklisp/software/cffi_0.14.0/libffi/libffi-unix.c 

; 
; compilation unit aborted 
; caught 2 fatal ERROR conditions 
; Evaluation aborted on Component "gsll" not found. 
+2

这看起来很像您在C编译时遇到的问题。尝试在命令行上运行命令'cc -m64 ...'并将其粘贴到错误描述中。我的无辜猜测是你错过了一些C编译依赖项(库和/或头文件)。 – schaueho 2015-02-24 10:25:49

回答

2

我在OS X上,但也许这对你有帮助。我可以通过(ql:quickload "gsll")加载库,但我不得不作出调整:

通过shell调用gsl-config --prefix找到GSL动态库的路径。

对于我这个调用返回/usr/local/Cellar/gsl/1.16但我dynlibs位于/usr/local/Cellar/gsl/1.16/lib。所以我只需要对文件~/quicklisp/dists/quicklisp/software/gsll-20140211-git/init/init.lisp中的路径名进行一些调整。

SEACH为(cffi:define-foreign-library libgslcblas ...)(cffi:define-foreign-library libgsl ...)和调整你的路在那里。

也许没有什么帮助。

+0

谢谢弗兰克。就是这样。 – Joe 2016-02-10 20:30:44