[armedbear-devel] Change in merge semantics which fixes loading CFFI

Stas Boukarev stassats at gmail.com
Fri Oct 19 16:22:46 UTC 2012


Mark Evenson <evenson at panix.com> writes:

> On 10/19/12 5:19 AM, Stas Boukarev wrote:
>> Mark Evenson <evenson at 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.
>>>
>>> [abcl-cffi]: http://slack.net/~evenson/abcl/cffi/cffi-abcl-20121016a.patch
>
> 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*)


-- 
With best regards, Stas.




More information about the armedbear-devel mailing list