Question about cffi-libffi on win32
Dear all, I'm using SBCL 1.1.4.0.mswin.1288-90ab477. I want to use cffi-libffi but failed. Here is what I did: 1. First, download libffi_3.0.6-1_win32.zip from http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ and drop libff-5.dll to a place that SBCL can find. 2. use quicklisp to load the cffi-libffi system. However, I got the following error: * (ql:quickload "cffi-libffi") To load "cffi-libffi": Load 1 ASDF system: cffi-libffi ; Loading "cffi-libffi" ; c:/msys/1.0/bin/gcc.exe -m32 -I/Documents and Settings/eryiju/quicklisp/dists/ quicklisp/software/cffi_0.11.2/ -o C:\Documents and Settings\eryiju\Application Data\common-lisp\cache\sbcl-1.1.4.0.mswin.1288-90ab477-win-x86\C\Documents and S ettings\eryiju\quicklisp\dists\quicklisp\software\cffi_0.11.2\libffi\libffi-win3 2.exe C:\Documents and Settings\eryiju\Application Data\common-lisp\cache\sbcl-1 .1.4.0.mswin.1288-90ab477-win-x86\C\Documents and Settings\eryiju\quicklisp\dist s\quicklisp\software\cffi_0.11.2\libffi\libffi-win32.c note: SBCL on windows can't redirect output. debugger invoked on a SIMPLE-ERROR in thread #<THREAD "main thread" RUNNING {23D A8AC1}>: External process exited with code 1. Command was: "c:/msys/1.0/bin/gcc.exe" "-m32" "-I/Documents and Settings/eryiju/ quicklisp/dists/quicklisp/software/cffi_0.11.2/" "-o" "C:\\Documents and Setting s\\eryiju\\Application Data\\common-lisp\\cache\\sbcl-1.1.4.0.mswin.1288-90ab477 -win-x86\\C\\Documents and Settings\\eryiju\\quicklisp\\dists\\quicklisp\\softwa re\\cffi_0.11.2\\libffi\\libffi-win32.exe" "C:\\Documents and Settings\\eryiju\\ Application Data\\common-lisp\\cache\\sbcl-1.1.4.0.mswin.1288-90ab477-win-x86\\C \\Documents and Settings\\eryiju\\quicklisp\\dists\\quicklisp\\software\\cffi_0. 11.2\\libffi\\libffi-win32.c" Output was: Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL. restarts (invokable by number or by possibly-abbreviated name): 0: [RETRY ] Retry #<STANDARD-CLASS CFFI-GROVEL::PROCESS-OP> on #<GROVEL-FILE " cffi-libffi" "libffi" "libffi">. 1: [ACCEPT] Continue, treating #<STANDARD-CLASS CFFI-GROVEL::PROCESS-OP> on #< GROVEL-FILE "cffi-libffi" "libffi" "libffi"> as having been successful. 2: [ABORT ] Give up on "cffi-libffi" 3: Exit debugger, returning to top level. (CFFI-GROVEL::INVOKE #<unavailable argument> "-m32" "-I/Documents and Settings/e ryiju/quicklisp/dists/quicklisp/software/cffi_0.11.2/" "-o" "C:\\Documents and S ettings\\eryiju\\Application Data\\common-lisp\\cache\\sbcl-1.1.4.0.mswin.1288-9 0ab477-win-x86\\C\\Documents and Settings\\eryiju\\quicklisp\\dists\\quicklisp\\ software\\cffi_0.11.2\\libffi\\libffi-win32.exe" "C:\\Documents and Settings\\er yiju\\Application Data\\common-lisp\\cache\\sbcl-1.1.4.0.mswin.1288-90ab477-win- x86\\C\\Documents and Settings\\eryiju\\quicklisp\\dists\\quicklisp\\software\\c ffi_0.11.2\\libffi\\libffi-win32.c") 0] I noticed that .....\cffi_0.11.2\libffi\libffi-win32.c does NOT exist, even in git repository. What should I do now? BTW: How to change gcc's location? I used grep in cffi's directory but can't find it. My MinGW was installed somewhere else, I had to copy it to c:/msys/1.0/bin so that cffi-libffi can find it (I saw a "can't fork" error message before doing so). Thanks in advance. - Rujia
Rujia Liu <rujia.liu@gmail.com> writes:
Dear all,
I'm using SBCL 1.1.4.0.mswin.1288-90ab477. I want to use cffi-libffi but failed. Here is what I did:
1. First, download libffi_3.0.6-1_win32.zip from http://ftp.gnome.org/pub/GNOME/binaries/win32/dependencies/ and drop libff-5.dll to a place that SBCL can find. 2. use quicklisp to load the cffi-libffi system. However, I got the following error:
* (ql:quickload "cffi-libffi") To load "cffi-libffi": Load 1 ASDF system: cffi-libffi ; Loading "cffi-libffi" ; c:/msys/1.0/bin/gcc.exe -m32 -I/Documents and Settings/eryiju/quicklisp/dists/ quicklisp/software/cffi_0.11.2/ -o C:\Documents and Settings\eryiju\Application Data\common-lisp\cache\sbcl-1.1.4.0.mswin.1288-90ab477-win-x86\C\Documents and S ettings\eryiju\quicklisp\dists\quicklisp\software\cffi_0.11.2\libffi\libffi-win3 2.exe C:\Documents and Settings\eryiju\Application Data\common-lisp\cache\sbcl-1 .1.4.0.mswin.1288-90ab477-win-x86\C\Documents and Settings\eryiju\quicklisp\dist s\quicklisp\software\cffi_0.11.2\libffi\libffi-win32.c note: SBCL on windows can't redirect output.
debugger invoked on a SIMPLE-ERROR in thread #<THREAD "main thread" RUNNING {23D A8AC1}>: External process exited with code 1. Command was: "c:/msys/1.0/bin/gcc.exe" "-m32" "-I/Documents and Settings/eryiju/ quicklisp/dists/quicklisp/software/cffi_0.11.2/" "-o" "C:\\Documents and Setting s\\eryiju\\Application Data\\common-lisp\\cache\\sbcl-1.1.4.0.mswin.1288-90ab477 -win-x86\\C\\Documents and Settings\\eryiju\\quicklisp\\dists\\quicklisp\\softwa re\\cffi_0.11.2\\libffi\\libffi-win32.exe" "C:\\Documents and Settings\\eryiju\\ Application Data\\common-lisp\\cache\\sbcl-1.1.4.0.mswin.1288-90ab477-win-x86\\C \\Documents and Settings\\eryiju\\quicklisp\\dists\\quicklisp\\software\\cffi_0. 11.2\\libffi\\libffi-win32.c" Output was:
Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.
restarts (invokable by number or by possibly-abbreviated name): 0: [RETRY ] Retry #<STANDARD-CLASS CFFI-GROVEL::PROCESS-OP> on #<GROVEL-FILE " cffi-libffi" "libffi" "libffi">. 1: [ACCEPT] Continue, treating #<STANDARD-CLASS CFFI-GROVEL::PROCESS-OP> on #< GROVEL-FILE "cffi-libffi" "libffi" "libffi"> as having been successful. 2: [ABORT ] Give up on "cffi-libffi" 3: Exit debugger, returning to top level.
(CFFI-GROVEL::INVOKE #<unavailable argument> "-m32" "-I/Documents and Settings/e ryiju/quicklisp/dists/quicklisp/software/cffi_0.11.2/" "-o" "C:\\Documents and S ettings\\eryiju\\Application Data\\common-lisp\\cache\\sbcl-1.1.4.0.mswin.1288-9 0ab477-win-x86\\C\\Documents and Settings\\eryiju\\quicklisp\\dists\\quicklisp\\ software\\cffi_0.11.2\\libffi\\libffi-win32.exe" "C:\\Documents and Settings\\er yiju\\Application Data\\common-lisp\\cache\\sbcl-1.1.4.0.mswin.1288-90ab477-win- x86\\C\\Documents and Settings\\eryiju\\quicklisp\\dists\\quicklisp\\software\\c ffi_0.11.2\\libffi\\libffi-win32.c") 0]
I noticed that .....\cffi_0.11.2\libffi\libffi-win32.c does NOT exist, even in git repository. What should I do now?
BTW: How to change gcc's location? I used grep in cffi's directory but can't find it. My MinGW was installed somewhere else, I had to copy it to c:/msys/1.0/bin so that cffi-libffi can find it (I saw a "can't fork" error message before doing so). There's an unmerged pull request which might be of interest: https://github.com/cffi/cffi/pull/30
-- With best regards, Stas.
participants (2)
-
Rujia Liu
-
Stas Boukarev