Hi,
I get this error when trying to build graphic-forms-uitoolkit with SBCL 1.0.2 on Windows XP.
d.
Undefined alien: "func_ptr" [Condition of type UNDEFINED-ALIEN-ERROR]
Restarts: 0: [RETRY] Retry performing #<ASDF:LOAD-OP NIL {A8AF309}> on #<ASDF:CL-SOURCE-FILE "metrics" {B31B561}>. 1: [ACCEPT] Continue, treating #<ASDF:LOAD-OP NIL {A8AF309}> on #<ASDF:CL-SOURCE-FILE "metrics" {B31B561}> as having been successful. 2: [ABORT] Return to SLIME's top level. 3: [CLOSE-CONNECTION] Close SLIME connection 4: [ABORT] Exit debugger, returning to top level.
Backtrace: 0: (SB-SYS:ENSURE-DYNAMIC-FOREIGN-SYMBOL-ADDRESS "func_ptr" #<unused argument>) 1: (SB-IMPL::LINK-FOREIGN-SYMBOL "func_ptr" NIL) 2: (SB-IMPL::ENSURE-FOREIGN-SYMBOL-LINKAGE "func_ptr" NIL) 3: (SB-SYS:FOREIGN-SYMBOL-ADDRESS "func_ptr" NIL) 4: (SB-FASL::FOP-FOREIGN-FIXUP) 5: (SB-FASL::LOAD-FASL-GROUP #<SB-SYS:FD-STREAM for "file C:\cygwin\home\david\clbuild\source\graphic-forms\src\uitoolkit\system\metrics.fasl" {BC57C79}>) 6: (SB-FASL::LOAD-AS-FASL #<SB-SYS:FD-STREAM for "file C:\cygwin\home\david\clbuild\source\graphic-forms\src\uitoolkit\system\metrics.fasl" {BC57C79}> NIL #<unavailable argument>) 7: (SB-FASL::INTERNAL-LOAD #P"C:\cygwin\home\david\clbuild\source\graphic-forms\src\uitoolkit\system\metrics.fasl" #P"C:\cygwin\home\david\clbuild\source\graphic-forms\src\uitoolkit\system\metrics.fasl" :ERROR NIL NIL :BINARY NIL) 8: (SB-FASL::INTERNAL-LOAD #P"C:\cygwin\home\david\clbuild\source\graphic-forms\src\uitoolkit\system\metrics.fasl" #P"C:\cygwin\home\david\clbuild\source\graphic-forms\src\uitoolkit\system\metrics.fasl" :ERROR NIL NIL NIL :DEFAULT) 9: (LOAD #P"C:\cygwin\home\david\clbuild\source\graphic-forms\src\uitoolkit\system\metrics.fasl") 10: ((SB-PCL::FAST-METHOD ASDF:PERFORM (ASDF:LOAD-OP ASDF:CL-SOURCE-FILE)) #<unavailable argument> #<unavailable argument> #<ASDF:LOAD-OP NIL {A8AF309}> #<ASDF:CL-SOURCE-FILE "metrics" {B31B561}>) 11: ((LAMBDA (SB-PCL::.PV-CELL. SB-PCL::.NEXT-METHOD-CALL. SB-PCL::.ARG0. SB-PCL::.ARG1.)) #<unavailable argument> #<unavailable argument> #<ASDF:LOAD-OP NIL {A8AF309}> #<ASDF:CL-SOURCE-FILE "metrics" {B31B561}>) 12: ((LAMBDA ())) 13: (SB-C::%WITH-COMPILATION-UNIT #<CLOSURE (LAMBDA #) {AC447C5}>) 14: (NIL ASDF:LOAD-OP :GRAPHIC-FORMS-UITOOLKIT) 15: (ASDF::MODULE-PROVIDE-ASDF :GRAPHIC-FORMS-UITOOLKIT) 16: ((LAMBDA (#:G21)) ASDF::MODULE-PROVIDE-ASDF) 17: (SB-IMPL::%MAP-FOR-EFFECT-ARITY-1 #<CLOSURE (LAMBDA #) {B3FDFE5}> (ASDF::MODULE-PROVIDE-ASDF SB-IMPL::MODULE-PROVIDE-CONTRIB)) 18: (REQUIRE :GRAPHIC-FORMS-UITOOLKIT NIL) 19: (SB-INT:SIMPLE-EVAL-IN-LEXENV (REQUIRE :GRAPHIC-FORMS-UITOOLKIT) #<NULL-LEXENV>) --more--
On 3/11/07, David Lichteblau david@lichteblau.com wrote:
Hi,
I get this error when trying to build graphic-forms-uitoolkit with SBCL 1.0.2 on Windows XP.
Hi David. The latest checked-in version of src/uitoolkit/system/metrics.lisp should be OK and I just did a quick recompile to verify. Checking past revisions, I believe the mistake was in rev 417 and I fixed it in 419.
Can you double-check that your working copy is up-to-date?
Hi,
Quoting Jack Unrue (jdunrue@gmail.com):
Hi David. The latest checked-in version of src/uitoolkit/system/metrics.lisp should be OK and I just did a quick recompile to verify. Checking past revisions, I believe the mistake was in rev 417 and I fixed it in 419.
revision 430 is what I've got, checked out today.
Could this be a cffi or alien compatibility issue? I'm using cffi from darcs.
Thanks, d.
On 3/11/07, David Lichteblau david@lichteblau.com wrote:
Hi,
Quoting Jack Unrue (jdunrue@gmail.com):
Hi David. The latest checked-in version of src/uitoolkit/system/metrics.lisp should be OK and I just did a quick recompile to verify. Checking past revisions, I believe the mistake was in rev 417 and I fixed it in 419.
revision 430 is what I've got, checked out today.
Could this be a cffi or alien compatibility issue? I'm using cffi from darcs.
I was still using cffi-061208 and haven't been keeping up-to-date with developments in cffi land. I grabbed the latest from darcs and ran into the same compile error that you did.
I've checked in a fix, please update and give it another try. The compile error is resolved and I'm able to call GFS::OBTAIN-DLL-VERSION-INFO successfully:
* (gfs::obtain-dll-version-info "comctl32.dll")
(5 82 2900)
so I *think* this is the right fix at least on SBCL.
It also seems like I've got some obsolete code that needs updating, seeing as how stdcall callback support has been added to cffi.
Quoting Jack Unrue (jdunrue@gmail.com):
I was still using cffi-061208 and haven't been keeping up-to-date with developments in cffi land. I grabbed the latest from darcs and ran into the same compile error that you did.
I've checked in a fix, please update and give it another try. The compile error is resolved and I'm able to call GFS::OBTAIN-DLL-VERSION-INFO successfully:
Thank you, that works great now!
However, I also tried it with Luís' new-types branch, and that fails with a different error now, something about rectangles not being SAPs.
http://article.gmane.org/gmane.lisp.cffi.devel/1034
Of course, since the new-types branch is apparently still experimental, that might not be an issue in graphic-forms at all.
Thanks, David
You wrote:
However, I also tried it with Luís' new-types branch, and that fails with a different error now, something about rectangles not being SAPs.
http://article.gmane.org/gmane.lisp.cffi.devel/1034
Of course, since the new-types branch is apparently still experimental, that might not be an issue in graphic-forms at all.
Thanks for reporting this, too. I haven't yet figured out what to do about it but I'm still investigating.
I guess it's time to resubscribe to a couple mailing lists :-)
David Lichteblau wrote:
However, I also tried it with Luís' new-types branch, and that fails with a different error now, something about rectangles not being SAPs.
http://article.gmane.org/gmane.lisp.cffi.devel/1034
Of course, since the new-types branch is apparently still experimental, that might not be an issue in graphic-forms at all.
OK, here's an update. I've made changes that allow GF to compile on SBCL with cffi-newtypes. But there are some issues:
- the newtypes branch has deviated from the main cffi branch in a couple of incompatible ways. The mechanism for defining type translators is different (this was the cause of the SBCL compile errors), and there is an incompatible change to CFFI:FOREIGN-STRING-TO-LISP.
- there are other problems on LispWorks 5.0 and CLISP that need to be worked out yet. I'm pursuing the CLISP issue now and will hopefully figure out a patch or something for LW.
So I've created a branch called graphic-forms-newtypes where we can work with cffi-newtypes for the time being:
svn://common-lisp.net/project/graphic-forms/svn/branches/graphic-forms-newtypes
Some quick testing shows that there are repainting problems that need to be tackled. So this branch should be considered even more experimental than the main trunk.
On 3/15/07, I wrote:
So I've created a branch called graphic-forms-newtypes where we can work with cffi-newtypes for the time being:
svn://common-lisp.net/project/graphic-forms/svn/branches/graphic-forms-newtypes
Some quick testing shows that there are repainting problems that need to be tackled. So this branch should be considered even more experimental than the main trunk.
At this point, most of the obvious issues running with the cffi-newtypes branch have been fixed. I've also dealt with some problems revealed by running with LW 5.0.1.
Bug reports and other feedback are welcome as always.
graphic-forms-devel@common-lisp.net