Инсталирайте GSLL на SBCL с Quicklisp

Опитвам се да инсталирам GNU Scientific Library for Lisp (GSLL). Видях, че вече има отговори на подобен въпрос, но не намерих връзка със случващото се в моя случай.

Може ли някой да помогне да продължим от тук?

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.

person Danny Zuko    schedule 24.02.2015    source източник
comment
Изглежда, че имате проблем с C компилацията. Опитайте да изпълните командата cc -m64 ... от командния ред и я поставете в описанието на грешката. Моето невинно предположение е, че ви липсва някаква C зависимост (библиотека и/или заглавки) за компилация.   -  person schaueho    schedule 24.02.2015


Отговори (1)


Аз съм на OS X, но може би това все пак ще ви помогне. Можех да заредя библиотеката от (ql:quickload "gsll"), но трябваше да направя корекция:

Пътят до динамичните библиотеки на GSL се намира чрез извикване на shell gsl-config --prefix.

За мен това извикване връща /usr/local/Cellar/gsl/1.16, но моите dynlibs се намират в /usr/local/Cellar/gsl/1.16/lib. Така че просто трябваше да направя някои корекции в имената на пътищата във файла ~/quicklisp/dists/quicklisp/software/gsll-20140211-git/init/init.lisp.

Потърсете (cffi:define-foreign-library libgslcblas ...) и (cffi:define-foreign-library libgsl ...) и коригирайте пътищата си там.

Може би това помага.

person Frank Zalkow    schedule 24.02.2015
comment
Благодаря Франк. Това беше. - person Joe; 10.02.2016