[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