When compiling my package GSLL (http://repo.or.cz/w/gsll.git) with the lastest version of CFFI (from darcs repo yesterday) in Clozure CL, I get an error Too few arguments in call to #<Compiled-function CFFI::NOTICE-FOREIGN-STRUCT-DEFINITION #x30004143F48F> If I use the CFFI version that's in Debian lenny, 20080217-1, it compile, loads, and runs fine. Also the CFFI darcs version compiles, loads and runs fine under SBCL. The relevant GSLL source file is here: http://repo.or.cz/w/gsll.git?a=blob;f=init/callback.lisp;h=63e84165b7bd8aaa7...
Any ideas as to why I get this error?
Liam
ccl Welcome to Clozure Common Lisp Version 1.2-r10552 (LinuxX8664)! ? (clc:clc-require :gsll-tests)
Error: Too few arguments in call to #<Compiled-function CFFI::NOTICE-FOREIGN-STRUCT-DEFINITION #x30004142FEDF>: 2 arguments provided, at least 3 required. While executing: CFFI::NOTICE-FOREIGN-STRUCT-DEFINITION, in process listener(1). Type :POP to abort, :R for a list of available restarts. Type :? for other options.
1 > (:b) *(7F5A58D4C548) : 0 (NOTICE-FOREIGN-STRUCT-DEFINITION GSL-FUNCTION (#'POINTER (PARAMETERS POINTER))) 7 (7F5A58D4C5A0) : 1 (FUNCALL #'#<Anonymous Function #x3000400B59AF> #<FASLSTATE #x7F5A58B39F3D>) 77 (7F5A58D4C5C0) : 2 (%FASLOAD "/var/cache/common-lisp-controller/1000/ccl/local/home/liam/mathematics/gsll/init/callback.lx64fsl" [...]) 1301 (7F5A58D4C668) : 3 (%LOAD #P"/var/cache/common-lisp-controller/1000/ccl/local/home/liam/mathematics/gsll/init/callback.lx64fsl" NIL NIL :ERROR :DEFAULT) 2397 (7F5A58D4C7D0) : 4 (LOAD #P"/var/cache/common-lisp-controller/1000/ccl/local/home/liam/mathematics/gsll/init/callback.lx64fsl" [...]) 1037 (7F5A58D4C870) : 5 (FUNCALL #'#<#<STANDARD-METHOD ASDF:PERFORM (ASDF:LOAD-OP ASDF:CL-SOURCE-FILE)>> #<LOAD-OP NIL #x3000412AE04D> #<CL-SOURCE-FILE "callback" #x30004124EBED>) 253 (7F5A58D4C8C0) : 6 (%%BEFORE-AND-AFTER-COMBINED-METHOD-DCODE '(NIL #<#> . 17503251765552)) 789 (7F5A58D4C930) : 7 (%%STANDARD-COMBINED-METHOD-DCODE '(NIL # #<#>) 17503251765552) 269 (7F5A58D4C998) : 9 (OPERATE 'ASDF:LOAD-OP :GSLL-TESTS [...]) 1557 (7F5A58D4CA78) : 10 (REQUIRE-ASDF :GSLL-TESTS) 133 (7F5A58D4CAA0) : 11 (CLC-REQUIRE :GSLL-TESTS [...]) 301 (7F5A58D4CAF8) : 12 (CALL-CHECK-REGS 'COMMON-LISP-CONTROLLER:CLC-REQUIRE [...]) 229 (7F5A58D4CB30) : 13 (TOPLEVEL-EVAL '(COMMON-LISP-CONTROLLER:CLC-REQUIRE :GSLL-TESTS) [...]) 733 (7F5A58D4CBD0) : 14 (READ-LOOP [...]) 1741 (7F5A58D4CDD8) : 15 (TOPLEVEL-LOOP) 125 (7F5A58D4CE08) : 16 (FUNCALL #'#<(:INTERNAL (CCL:TOPLEVEL-FUNCTION (CCL::LISP-DEVELOPMENT-SYSTEM T)))>) 101 (7F5A58D4CE20) : 17 (FUNCALL #'#<(:INTERNAL CCL::MAKE-MCL-LISTENER-PROCESS)>) 645 (7F5A58D4CEB8) : 18 (RUN-PROCESS-INITIAL-FORM #<TTY-LISTENER listener(1) [Active] #x300040C6192D> '(#)) 717 (7F5A58D4CF48) : 19 (FUNCALL #'#<(:INTERNAL CCL::%PROCESS-PRESET-INTERNAL)> #<TTY-LISTENER listener(1) [Active] #x300040C6192D> '(#)) 397 (7F5A58D4CF98) : 20 (FUNCALL #'#<(:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION)>) 293 1 >
On Mon, 2009-02-23 at 10:22 -0500, Liam Healy wrote:
When compiling my package GSLL (http://repo.or.cz/w/gsll.git) with the lastest version of CFFI (from darcs repo yesterday) in Clozure CL, I get an error Too few arguments in call to #<Compiled-function CFFI::NOTICE-FOREIGN-STRUCT-DEFINITION #x30004143F48F> If I use the CFFI version that's in Debian lenny, 20080217-1, it compile, loads, and runs fine. Also the CFFI darcs version compiles, loads and runs fine under SBCL. The relevant GSLL source file is here: http://repo.or.cz/w/gsll.git?a=blob;f=init/callback.lisp;h=63e84165b7bd8aaa7...
Any ideas as to why I get this error?
I guess that you're having a problem of stale FASLs: try (asdf:oos 'asdf:load-op :gsll :force t) and if that doesn't work remove all FASLs from /var/cache/common-lisp-controller and retry. A good advice would be not to use c-l-c at all IMO.
On Mon, Feb 23, 2009 at 11:46 AM, Stelian Ionescu stelian.ionescu-zeus@poste.it wrote:
On Mon, 2009-02-23 at 10:22 -0500, Liam Healy wrote:
When compiling my package GSLL (http://repo.or.cz/w/gsll.git) with the lastest version of CFFI (from darcs repo yesterday) in Clozure CL, I get an error Too few arguments in call to #<Compiled-function CFFI::NOTICE-FOREIGN-STRUCT-DEFINITION #x30004143F48F> If I use the CFFI version that's in Debian lenny, 20080217-1, it compile, loads, and runs fine. Also the CFFI darcs version compiles, loads and runs fine under SBCL. The relevant GSLL source file is here: http://repo.or.cz/w/gsll.git?a=blob;f=init/callback.lisp;h=63e84165b7bd8aaa7...
Any ideas as to why I get this error?
I guess that you're having a problem of stale FASLs: try (asdf:oos 'asdf:load-op :gsll :force t) and if that doesn't work remove all FASLs from /var/cache/common-lisp-controller and retry. A good advice would be not to use c-l-c at all IMO.
Sorry I failed to mention I had cleared all fasls, both for GSLL and CFFI.
Liam
Sorry I failed to mention I had cleared all fasls, both for GSLL and CFFI.
Liam
On closer examination, while I thought I was clearing the fasls, I actually was not due to a buggy script. Now that I've fixed it and rerun, this error disappears. Thanks for the tip.
Liam