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

Stas Boukarev stassats at gmail.com
Fri Oct 19 03:19:11 UTC 2012


Mark Evenson <evenson at panix.com> writes:

> On 10/12/12 5:36 PM, Stas Boukarev wrote:
>
>> I still get the same error and backtrace.
>
> […]
>
> Unfortunately, I was unable to duplicate at my end after installing
> x64-ubuntu-12.04.LTS with
> 1.6.0_24-openjdk-6b24-1.11.4-1ubuntu0.12.94.1.
>
> But maybe things have moved on in trunk enough that you could maybe
> build from scratch and erase the application fasls via
>
> 	unix$  ant snap abcl abcl.clean.application.fasls
>
> 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
Now when trying to load cffi from quicklisp I get a different error, a
misplaced COND body. A patch is attached.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: abcl.diff
Type: text/x-diff
Size: 875 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20121019/3ecc0aa0/attachment.diff>
-------------- next part --------------

Further, as I'm trying it on a different machine and it doesn't have maven
installed. So it throws a not so helpful error:
The value NIL is not of type (OR PATHNAME STRING FILE-STREAM SYSTEM:JAR-STREAM SYSTEM:URL-STREAM).

Attached a patch for this as well.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: abcl2.diff
Type: text/x-diff
Size: 788 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/armedbear-devel/attachments/20121019/3ecc0aa0/attachment-0001.diff>
-------------- next part --------------

Now, after installing maven I'm able to load cffi from quicklisp, but
not in my ordinary setup.

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 "!".

After I do

(setf asdf:*central-registry*
      (append asdf:*central-registry*
              (mapcar #'pathname
                      (mapcar #'directory-namestring
                              (directory "~/lisp/impl/abcl/contrib/*/*.asd")))))

(push 'abcl-contrib *modules*)

I'm now able to load CFFI. And also load cl+ssl, although it doesn't
actually work.

(drakma:http-request "https://google.com")
WARNING: JAVA:MAKE-IMMEDIATE-OBJECT is deprecated.
WARNING: JAVA:MAKE-IMMEDIATE-OBJECT is deprecated.
WARNING: JAVA:MAKE-IMMEDIATE-OBJECT is deprecated.
WARNING: JAVA:MAKE-IMMEDIATE-OBJECT is deprecated.
#<THREAD "interpreter" {29ED3DA1}>: Debugger invoked on condition of type TYPE-ERROR
  $Proxy5 is not assignable to com.sun.jna.Pointer


And loading cl+ssl in a fresh imaged, after it was compiled beforehand
causes:
Error loading /tmp/fasls/.../cl+ssl/ffi.abcl at line 168 (offset 9274)
#<THREAD "interpreter" {32269133}>: Debugger invoked on condition of type ERROR
  Class not found: org.armedbear.jna.dynamic.callbacks.G72378

-- 
With best regards, Stas.


More information about the armedbear-devel mailing list