3
votes

I use Emacs\Slime\SBCL\QuickLisp\Cygwin(new to Cywgin I know nothing really about it) I, per this GNU link http://common-lisp.net/project/gsll/, tried to follow these instructions under the download and install section:

"You will need to make sure that the libraries and header files associated with GNU Scientific Library (GSL) and libffi are installed; your distribution may name these libgsl0-dev and libffi-dev. Once they are installed and you have loaded the quicklisp file: run (ql:quickload "gsll")"

but its not working . I get this error message in emacs when running (ql:quickload "gsll") Unable to load any of the alternatives: ("libffi-6.dll" "libffi-5.dll" "libffi.dll") [Condition of type CFFI:LOAD-FOREIGN-LIBRARY-ERROR]

I have quicklisp installed correctly i use it all the time so I know its not that ....I don't really understand this part of above excerpt from website(above)

"your distribution may name these libgsl0-dev and libffi-dev." Once they are installed and you have loaded the quicklisp file"

well I do kind of and quicklisp can't seem to find them with "(ql:system-apropos "libffi")" or "(ql:system-apropos "libffi")" also the website(above link) names these dependencies, I think here in this exerpt:

"Requirements

GSLL should work in any Common Lisp implementation and platform combination for which the following are supported:

GSL
CFFI and cffi-grovel, version 0.11.0 or newer; callbacks and foreign-funcall must be supported.
trivial-garbage
Antik
ASDF
Osicat
lisp-unit, (Optional) necessary to run the tests
FSBV, (Optional) necessary for functions using complex scalars or simulated annealing
iterate and asdf-system-connnections, (Optional) provides a convenient way to iterate over elements or indices of vectors or matrices."

of the above I have CFFI CFFI-Grovel,trivial garbage, asdf,iterate ,Antik(all from quicklisp) but still can't figure it out please help me with step by step instructions for Windows 8 64-bit with perfectly functioning Emacs\Slime\SBCL\QuickLisp\Cygwin installed and available...I would appreciate any and all advice..Thank You

Note: now of these - Excerpt from website http://comments.gmane.org/gmane.lisp.gsll/257"

To load "gsll":
Load 3 ASDF systems:
alexandria cl-ppcre split-sequence
Install 20 Quicklisp releases:
antik asdf-system-connections babel bordeaux-threads
cffi chunga cl+ssl cl-base64 drakma flexi-streams fsbv
gsll iterate osicat puri static-vectors
trivial-features trivial-garbage trivial-gray-streams
usocket"

I have all but Osicat. GSLL, and fsbv. When I try to load GSLL with (ql:quickload "gsll") I get:

Error while trying to load definition for system gsll from pathname
D:/Users/W/AppData/Roaming/quicklisp/dists/quicklisp/software/gsll-20130312-git/gsll.asd:
Unable to load any of the alternatives:
("libffi-6.dll" "libffi-5.dll" "libffi.dll")
[Condition of type ASDF:LOAD-SYSTEM-DEFINITION     ERROR]

When I try to load Osicat with

(ql:quickload "osicat") 

I get:

Error while invoking <COMPILE-OP (:VERBOSE NIL) {26FB8F59}> on
<CL-SOURCE-FILE "osicat" "src" "osicat">
[Condition of type ASDF:COMPILE-ERROR]   

and quicklisp doesn't have FSBV.....Any Help would be appreciated.

;;;;;;;;;;;;;;;;EDIT;;;;;;;;;;;;;;;;;;; @Nelson Made new progress on this one ...I got past the:

"Error while trying to load definition for system gsll from pathname D:/Users/W/AppData/Roaming/quicklisp/dists/quicklisp/software/gsll-20130312-git/gsll.asd: Unable to load any of the alternatives: ("libffi-6.dll" "libffi-5.dll" "libffi.dll") [Condition of type ASDF:LOAD-SYSTEM-DEFINITION ERROR]"

Error Message when I ran (ql:quickload "gsll") in Emacs. I did it by downloading the LIBFFI tarball from here:

http://sourceware.org/libffi/ ..the link at the top of page.

then i followed this tutorial http://phosphor-escence.blogspot.com/2011/08/build-libffi-and-libyaml-on-mingw-for.html to build LIBFFI with a correctly installed MinGW(installed at C:\MinGW) I learned to install MinGw correctly here: http://www.mingw.org/wiki/Getting_Started

after building LIBFFI I added its path - D:\libffi-3.0.13 - to my "system" Environment Variables "path" variable: D: is my root drive.

I searched the D:\libffi-3.0.13 folder in Windows Explorer by putting *.dll in search bar, found libffi-6.dll and put it in D:\Program Files (x86)\Steel Bank Common Lisp\1.1.4 so SBCL could access it , the libffi-6.dll was named in the previous error message:

Error while trying to load definition for system gsll from pathname D:/Users/W/AppData/Roaming/quicklisp/dists/quicklisp/software/gsll-20130312-git/gsll.asd: Unable to load any of the alternatives: ("libffi-6.dll" "libffi-5.dll" "libffi.dll") [Condition of type ASDF:LOAD-SYSTEM-DEFINITION ERROR]

Jobs not done though...now I'm getting this Error Message, Which I will start on Tomorrow:

"Error while trying to load definition for system gsll from pathname D:/Users/W/AppData/Roaming/quicklisp/dists/quicklisp/software/gsll-20130312-git/gsll.asd:

External process exited with code 1. Command was: "C:/MinGW/bin/gcc.exe" "-m32" "-I/Program Files (x86)/Steel Bank Common Lisp/1.1.4/site/cffi/" "-o" "D:\Program Files (x86)\Steel Bank Common Lisp\1.1.4\site\cffi\libffi\libffi-win32.exe" "D:\Program Files (x86)\Steel Bank Common Lisp\1.1.4\site\cffi\libffi\libffi-win32.c" Output was:

[Condition of type ASDF:LOAD-SYSTEM-DEFINITION-ERROR]"

Any help in the meantime would be appreciated:

;;;;;;;;;;SOLVED;;;;;;;;;; A Tutorial link for it is coming soon and will posted right under this point<-----here.

Here it is Fellow Lispers..I give you GSLL on Windows 7 AND 8: https://wnetai.wordpress.com/how-to-install-gsll_the-gnu-scientific-library-for-lisp-on-windows-7-and-windows-8/

and here is a link of GSLL Error Mesages and their Solutions: https://wnetai.wordpress.com/how-to-install-gsll_the-gnu-scientific-library-for-lisp-on-windows-7-and-windows-8/error-message-you-may-get-when-installing-gsll-and-their-solutions/

I'm working on a Database of Code Snippets for GSLL starting with Linear Algebra which will be on the same Blog as those upper two links so stay tuned here and on my Lisp Blog for those. Its basically a How to use GSLL Tutorial made with Code Snippets, Descriptions of the Snippets and Examples.

3
I had the same situation as you but in linux; Liam's answer below addressed my case: make sure you have the header files installed correctly.ghollisjr

3 Answers

1
votes

Your problem is that the development version of libffi (with header files) is not installed. There might be windows users on the cffi-devel mailing list that could help you with that; I recommend you post your question there. As far as the lisp libraries are concerned, quicklisp should take care of that and they are irrelevant to your problem. (And also, FSBV is obsolete and not needed; thanks for pointing out that the documentation needs to be updated.) (Also, emacs and slime are irrelevant to the problem, tags should be removed.)

0
votes

It seems like you need to install those libraries into your system, you'll have to find the windows equivalents.

For debian/ubuntu : http://pkgs.org/download/libffi-dev

These aren't installed through quicklisp but through the system package manager, in your case you will have to find a windows compatible version and install it.

0
votes

Any luck with getting GSLL to work on Windows 7? I've been trying to install the software and have even used Dependency Walker to track any missing DLLs that might be needed but still have not been able to get it to run. I do have it running fine on Linux but I am looking to have it running under Window 7.