That pulls in the latest packages, right?
So that does work. But why does the reported version fail to load? That's a problem still.
(While this lets me get on with what I wanted to do - add #interleaving: to Xtreams - this is still a problem. But thanks for the workaround, Chris!)
frank
On 12 November 2013 20:55, Chris Muller asqueaker@gmail.com wrote:
Installer new merge: #ffi.
Worked for me..
On Tue, Nov 12, 2013 at 2:45 PM, Frank Shearar frank.shearar@gmail.com wrote:
On 26 February 2013 18:36, Eliot Miranda eliot.miranda@gmail.com wrote:
On Tue, Feb 26, 2013 at 1:51 AM, Frank Shearar frank.shearar@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?
Apparently not. It still happens with an up-to-date Squeak 4.5.
frank
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