mcclim-freetype.asd uses a custom asdf class, namely uncompiled-cl-source to enforce that "freetype-ffi.lisp" is loaded as source. I'm not sure what are the technical reasons for this but replacing uncompiled-cl-source with a regular :file gives a lot of errors.
The uncompiled-cl-source workaround does not work with CCL as it expects output to the derived output files. I fixed the workaround (that's all I can do given my insight into compiled FFI fasls) by checking whether input or output are equal. If they are not, copy input-file to output-file.
Here is the beauty-below-average patch.
Clemens Fruhwirth clemens@endorphin.org writes:
The uncompiled-cl-source workaround does not work with CCL as it expects output to the derived output files.
What is CCL?
I fixed the workaround (that's all I can do given my insight into compiled FFI fasls) by checking whether input or output are equal. If they are not, copy input-file to output-file.
Here is the beauty-below-average patch.
Can you see if, instead of this patch, making uncompiled-cl-source-file just inherit from source-file works?
(The technical reason for loading this file as source is that there is an apparently long-standing SBCL bug which causes it to miscompile some of the slot accesses in there if it's compiled, but not if it's loaded as source. This is strongly suboptimal.)
Cheers,
Christophe
Christophe Rhodes csr21@cam.ac.uk wrote:
Clemens Fruhwirth clemens@endorphin.org writes:
The uncompiled-cl-source workaround does not work with CCL as it expects output to the derived output files.
What is CCL?
Sorry, I meant CLC, common-lisp-controller.
I fixed the workaround (that's all I can do given my insight into compiled FFI fasls) by checking whether input or output are equal. If they are not, copy input-file to output-file.
Here is the beauty-below-average patch.
Can you see if, instead of this patch, making uncompiled-cl-source-file just inherit from source-file works?
uncompiled-cl-source-file already inherits from source-file via its cl-source-file superclass. In case you meant that this should be changed, the result is an error
There is no applicable method for the generic function #<STANDARD-GENERIC-FUNCTION ASDF:SOURCE-FILE-TYPE (5)> when called with arguments (#<MCCLIM-FREETYPE-SYSTEM::UNCOMPILED-CL-SOURCE-FILE "freetype-ffi" {B24ED99}> #<ASDF:SYSTEM "mcclim-freetype" {9245969}>).
Clemens Fruhwirth clemens@endorphin.org writes:
Christophe Rhodes csr21@cam.ac.uk wrote:
Clemens Fruhwirth clemens@endorphin.org writes:
The uncompiled-cl-source workaround does not work with CCL as it expects output to the derived output files.
What is CCL?
Sorry, I meant CLC, common-lisp-controller.
Ah, I see; the issue is in the clc around method.
Can you see if, instead of this patch, making uncompiled-cl-source-file just inherit from source-file works?
uncompiled-cl-source-file already inherits from source-file via its cl-source-file superclass. In case you meant that this should be changed, the result is an error
There is no applicable method for the generic function #<STANDARD-GENERIC-FUNCTION ASDF:SOURCE-FILE-TYPE (5)> when called with arguments (#<MCCLIM-FREETYPE-SYSTEM::UNCOMPILED-CL-SOURCE-FILE "freetype-ffi" {B24ED99}> #<ASDF:SYSTEM "mcclim-freetype" {9245969}>).
Please try the attached patch, which might be a little bit more asdfly correct.
Cheers,
Christophe
Christophe Rhodes csr21@cam.ac.uk wrote:
Please try the attached patch, which might be a little bit more asdfly correct. =================================================================== RCS file: /project/mcclim/cvsroot/mcclim/Experimental/freetype/mcclim-freetype.asd,v retrieving revision 1.4 diff -u -r1.4 mcclim-freetype.asd --- Experimental/freetype/mcclim-freetype.asd 6 Feb 2006 13:42:09 -0000 1.4 +++ Experimental/freetype/mcclim-freetype.asd 14 Mar 2006 17:16:14 -0000
Works. Thank you.