When installing Alien (after last upgrades in trunk) I have the following error:
MessageNotUnderstood: TempVariableNode>>doesNotUnderstand: #code It happens in AlienInstaller>>install
MessageNotUnderstood: TempVariableNode>>code: TempVariableNode(Object)>>doesNotUnderstand: #code: EncoderForV3PlusClosures(Encoder)>>fixTemp: BytecodeAgnosticMethodNode>>generate: Alien class(Behavior)>>recompile:from: Alien class(Behavior)>>recompile: [] in AlienInstaller class>>install [] in [] in Array(SequenceableCollection)>>do:displayingProgress: Array(SequenceableCollection)>>withIndexDo: [] in Array(SequenceableCollection)>>do:displayingProgress: [] in [] in ProgressInitiationException>>defaultMorphicAction BlockClosure>>on:do: [] in ProgressInitiationException>>defaultMorphicAction BlockClosure>>ensure: ProgressInitiationException>>defaultMorphicAction ProgressInitiationException>>defaultAction UndefinedObject>>handleSignal: MethodContext(ContextPart)>>handleSignal: MethodContext(ContextPart)>>handleSignal: ProgressInitiationException(Exception)>>signal ProgressInitiationException>>display:at:from:to:during:
install | repository | repository := (Installer repository: 'http://www.squeaksource.com/') project: 'Alien'. #( 'Alien-Core-First' 'Alien-Core' 'Alien-Examples' 'Alien-LibC' 'Alien-CoreTest' 'Alien-Last-Class-Initialize' ) do: [ :p | repository install: p ] displayingProgress: 'Installing Alien packages ...'. (PackageInfo named: 'Alien') methods do: [:ea | ea actualClass recompile: ea methodSymbol] displayingProgress: 'Recompiling...'
Hi Casimiro,
this will most likely have something to do with the recent closure fixes.
Too good Alien isn't a standard package, eh? ;-)
Best,
Michael
Hi,
the issue is solved. Using AlienInstaller-mha.5 from source.squeak.org/treated in an up-to-date trunk image, Alien can be loaded.
For me (on a Mac), most of the tests pass; three don't - the ones that try to load and use libc. The reason is that a primitive fails: AlienLibrary >> primLoadLibrary. I'm trying to figure out what is wrong.
Could someone please try Alien on another platform and see whether (a) Alien installation works, and (b) the problem is observable there?
Best,
Michael
And hello again,
On Fri, Nov 27, 2009 at 11:39 AM, Michael Haupt mhaupt@gmail.com wrote:
For me (on a Mac), most of the tests pass; three don't - the ones that try to load and use libc. The reason is that a primitive fails: AlienLibrary >> primLoadLibrary. I'm trying to figure out what is wrong.
with some crucial help from a friend of mine, who also happens to be a Darwin expert, I was able to fix this. The trouble is that the VM uses LoadFrameworkBundle() internally, which expects a framework, not a shared library. However, LibCLibrary>>libraryName would, on Mac OS, return 'libc.dylib', which is a shared library but not a framework.
Replacing this with '/System/Library/Frameworks/System.framework/System' does the trick.
John, would it be OK if I upload that fix to the repository? Or will it break on older Mac OS X versions, i.e., before Snow Leopard?
Best,
Michael
Hi,
On Fri, Nov 27, 2009 at 12:08 PM, Michael Haupt mhaupt@gmail.com wrote:
Replacing this with '/System/Library/Frameworks/System.framework/System' does the trick.
I have uploaded the fix to the Alien repository.
Best,
Michael
squeak-dev@lists.squeakfoundation.org