[Bese-devel] Problemi con l'installazione di cl-icu
Marco Baringer
mb at bese.it
Mon Feb 2 18:44:56 UTC 2004
On Lunedì, feb 2, 2004, at 08:54 Europe/Rome, Giannandrea Castaldi
wrote:
> I'm using cmucl 18e-r2 and I'm already using uffi 1.4.6. The complete
> backtrace is the following:
> Execution of a form compiled with errors:
> (ALIEN:DEF-ALIEN-TYPE IT.BESE.CL-ICU::UCALENDAR (* C-CALL:VOID))
> [Condition of type KERNEL:SIMPLE-PROGRAM-ERROR]
i spent a bit of time today with cmucl and managed to get to the bottow
of this. the issues i found were:
1) when we want a void pointer on cmucl we need something of type (*
t), not (* c-call:void), which is what uffi translates (* :void) into
under cmucl. this can be fixed by changing all the def-foreign-type (*
:void) to :pointer-void, or by having uffi special case (* :void) on
cmucl. this also requires modifying all the calls to make-null-pointer
which pass :void as the pointer type.
2) cmucl wants foreign-strings to be arrays of type (signed 8), not
(unsigned 8). cl-icu should pass foreign-string and not cstrings to the
alien functions.
i branched uffi and commited these changes, cl-icu was updated to fix a
few other misc errors which came up.
using the latest revision from
bese-2004 at common-lisp.net/cl-icu--dev--0.1 and the modified uffi from
bese-devel at common-lisp.net/uffi--cmucl-void-pointers--1.4 i was able to
compile load and run the examples.
i don't really think what i did to uffi was the best possible solution,
but at least it works.
p.s. - this probably broke cl-icu on openmcl....
--
Marco
Ring the bells that still can ring.
Forget the perfect offering.
There is a crack in everything.
That's how the light gets in.
-Leonard Cohen
More information about the bese-devel
mailing list