I am attempting to use cffi on a Clisp 2.41 build running under Cygwin. I can get cffi to load using asdf, but when I loaded a package that uses cffi, I got an error message "ERROR is a constant: may not be used as a variable".
In cffi-clisp.lisp, around line 234; (multiple-value-bind (ff error) ... is causing the problem. I patched this to: (multiple-value-bind (ff fferror) and also corrected the subsequent two references to error on lines 249 and 250 and managed to get past this particular problem.
In trying to localize the source of the name conflict, it appears that one of the optional modules that I have included in Clisp is the source of the conflit. These would include GDI, PCRE, RAWSOCK, LDAP, FASTCGI or ZLIB. The BASE build without the optional modules didn't have the name conflict, while the FULL build does. I have not determined which of the modules above was defining the constant "error".
On 29/12/06, Fred Stone freddybear428007@cs.com wrote:
In cffi-clisp.lisp, around line 234; (multiple-value-bind (ff error) ... is causing the problem. I patched this to: (multiple-value-bind (ff fferror) and also corrected the subsequent two references to error on lines 249 and 250 and managed to get past this particular problem.
Thanks for your report. Those particular lines actually disappeared somewhere in the latest patches so I guess that problem's solved. Looks to me like a CLISP bug though.