[squeak-dev] Loading FFI is broken

Eliot Miranda eliot.miranda at gmail.com
Tue Feb 26 18:36:30 UTC 2013


On Tue, Feb 26, 2013 at 1:51 AM, Frank Shearar <frank.shearar at gmail.com>wrote:

> (Installer monticello mc: (MCHttpRepository new location:
> 'http://source.squeak.org/FFI'))
>     install: 'FFI-Kernel-eem.24.mcz'. "There's a -tbn.25, but that's
> not important to this post"
>
> fails with an MNU: ExternalFunction class >> callingConventionFor:.
>
> As far as I can see what's happening is this:
> * during the loading of the mcz ExternalFunction is defined,
> * a method is parsed (#XOpenDisplay, which has a pragma <cdecl:
> X11Display* ''XOpenDisplay'' (char*) module:''X11''>)
> * Parser >> externalFunctionDeclaration checks whether
> ExternalFunction is defined.
> * It is, so tries to evaluate `descriptorClass callingConvention:
> here` and boom, because ExternalFunction class >>
> callingConventionFor: _has not been loaded yet_.
>

I thought we'd modified Monticello to load new methods first.  Did this not
get added to trunk?


>
> I've seen this kind of issue with Helvetia code: sometimes you simply
> have to load class-side methods first.
>
> Thoughts? Lukas worked around the issue with his Helvetia code by
> directly patching Monticello, and ripping out its "try to do atomic
> loading" mechanism.
>
> frank
>
>


-- 
best,
Eliot
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130226/062af1ee/attachment.htm


More information about the Squeak-dev mailing list