Mark Evenson evenson@panix.com writes:
On 10/19/12 5:19 AM, Stas Boukarev wrote:
Mark Evenson evenson@panix.com writes:
I currently [need to patch CFFI][abcl-cffi] to get past a error about "u955" not being understood by the BABEL reader.
Thanks for the work here! In the meantime, I have [started to rework the ABCL implementation CFFI][abcl-cffi] to remove the compiler warnings, and to start fixing bugs for particular versions of the jna.jar for various platforms. jna-3.4.0 seems to be failing for some usages of implementing callbacks, like those required cl+ssl, where jna-3.0.9 seems to work.
[abcl-cffi] http://detroit.slack.net/~evenson/abcl/cffi/cffi-abcl-20121017a.patch
Another fix for you (offset might be skewed with your patch)
@@ -317,7 +317,7 @@ WITH-POINTER-TO-VECTOR-DATA." "com.sun.jna.Pointer" "int") pointer (jfield "com.sun.jna.Function" - (convert-calling-convention convention)))) + (convert-calling-convention cconv))))
(defun lisp-value-to-java (value foreign-type) (if (eq foreign-type :pointer)
Turns out the error is actually caused by (:asd :jss), more specifically, by (load #P"/tmp/fasls/.../abcl-contrib.jar!/jss/packages.abcl")
Which means that it can't load fasls from directories with "!".
ABCL pathnames *should* allow directories with "!" in them, as long as the hosting JVM implementation can handle them. But "!" has a special meaning in the namestrings that a ABCL PATHNAME converts to/from. In ABCL, a PATHNAME with a namestring of "jar:file://foo/abcl-contrib.jar!/jss/packages.abcl" names a specific entry in a jar archive. The ABCL specific code in the ASDF output translations, namely ASDF::TRANSLATE-JAR-PATHNAME, should now correctly deal with these things. Maybe you are somehow not running the ASDF shipped with ABCL, but instead one that is listed in the ASDF system registry? This could explain why we see different behavior on what should be otherwise fairly identical systems, namely the binaries installed by ubuntu-12.04 system packaging. (Faré: I'm waiting for reports like Stas' to shake out before submitting a patch for asdf-2.26).
What's different is that I'm also using asdf-binary-locations: (asdf:enable-asdf-binary-locations-compatibility :centralize-lisp-binaries t :default-toplevel-directory *fasl-dir*)