FFI load script no longer works .... (Re: [squeak-dev] ODBC package and mySQL driver for 4.4?)

Benoit St-Jean bstjean at yahoo.com
Fri Dec 21 23:12:37 UTC 2012


Thanks Hannes, it worked!


 
-----------------
Benoit St-Jean
Yahoo! Messenger: bstjean
A standpoint is an intellectual horizon of radius zero.
(Albert Einstein)


>________________________________
> From: Frank Shearar <frank.shearar at gmail.com>
>To: The general-purpose Squeak developers list <squeak-dev at lists.squeakfoundation.org> 
>Sent: Friday, December 21, 2012 5:58:17 PM
>Subject: Re: FFI load script no longer works .... (Re: [squeak-dev] ODBC package and mySQL driver for 4.4?)
> 
>On 21 December 2012 22:46, H. Hirzel <hannes.hirzel at gmail.com> wrote:
>> Benoit,
>>
>> yes, indeed,
>>
>> (Installer repository: 'http://source.squeak.org/FFI')
>>   install: 'FFI-Pools';
>>   install: 'FFI-Kernel';
>>   install: 'FFI-Tests';
>>   install: 'FFI-Win32';
>>   install: 'FFI-MacOS';
>>   install: 'FFI-Unix'.
>>
>> No longer works with 4.4-12320.
>>
>> It used to work two or three months ago...
>
>You need the "allow underscore selectors" preference set to load the
>FFI. I can't remember the magic to do that, but it ought to be part of
>the install script.
>
>frank
>
>> --Hannes
>>
>> --Hannes
>>
>> On 12/21/12, Benoit St-Jean <bstjean at yahoo.com> wrote:
>>> Hi Hannes,
>>>
>>> Just tried what you told me...  Well, there's a MNU when loading in 4.4.
>>> Here's the stack:
>>>
>>> -----------------------------------------------------------------------------------------
>>>
>>> To: squeak-dev at lists.squeakfoundation.org
>>> Subject: [BUG]ClassBuilder(Object)>>error:
>>>
>>> here insert explanation of what you were doing, suspect changes you've made
>>> and so forth.
>>>
>>> 21 December 2012 5:31:33.375 pm
>>>
>>> VM: Win32 - Smalltalk
>>> Image: Squeak4.3 [latest update: #11864]
>>>
>>> SecurityManager state:
>>> Restricted: false
>>> FileAccess: true
>>> SocketAccess: true
>>> Working Dir C:\Data\Squeak\Squeak 4.3 All-In-One\Contents\Resources
>>> Trusted Dir C:\Data\Squeak\Squeak 4.3 All-In-One\Contents\Resources\Benoit
>>> St-Jean
>>> Untrusted Dir C:\Documents and Settings\Benoit St-Jean\My Documents\My
>>> Squeak
>>>
>>> ClassBuilder(Object)>>error:
>>>     Receiver: a ClassBuilder
>>>     Arguments and temporary variables:
>>>         aString:     'WS is multiply defined'
>>>     Receiver's instance variables:
>>>         environ:     Smalltalk globals "a SystemDictionary with lots of
>>> globals"
>>>         classMap:     nil
>>>         instVarMap:     an IdentityDictionary()
>>>         progress:     nil
>>>         maxClassIndex:     nil
>>>         currentClassIndex:     nil
>>>
>>> ClassBuilder>>validateClassvars:from:forSuper:
>>>     Receiver: a ClassBuilder
>>>     Arguments and temporary variables:
>>> <<error during printing>
>>>     Receiver's instance variables:
>>>         environ:     Smalltalk globals "a SystemDictionary with lots of
>>> globals"
>>>         classMap:     nil
>>>         instVarMap:     an IdentityDictionary()
>>>         progress:     nil
>>>         maxClassIndex:     nil
>>>         currentClassIndex:     nil
>>>
>>> [] in
>>> ClassBuilder>>name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:unsafe:
>>>     Receiver: a ClassBuilder
>>>     Arguments and temporary variables:
>>> <<error during printing>
>>>     Receiver's instance variables:
>>>         environ:     Smalltalk globals "a SystemDictionary with lots of
>>> globals"
>>>         classMap:     nil
>>>         instVarMap:     an IdentityDictionary()
>>>         progress:     nil
>>>         maxClassIndex:     nil
>>>         currentClassIndex:     nil
>>>
>>> BlockClosure>>ensure:
>>>     Receiver: [closure] in
>>> ClassBuilder>>name:inEnvironment:subclassOf:type:instanceVariableNames:classV...etc...
>>>     Arguments and temporary variables:
>>>         aBlock:     [closure] in
>>> ClassBuilder>>name:inEnvironment:subclassOf:type:instanceV...etc...
>>>         complete:     nil
>>>         returnValue:     nil
>>>     Receiver's instance variables:
>>>         outerContext:
>>> ClassBuilder>>name:inEnvironment:subclassOf:type:instanceVariable...etc...
>>>         startpc:     332
>>>         numArgs:     0
>>>
>>> ClassBuilder>>name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:unsafe:
>>>     Receiver: a ClassBuilder
>>>     Arguments and temporary variables:
>>>         className:     #Win32Constants
>>>         env:     Smalltalk globals "a SystemDictionary with lots of globals"
>>>         newSuper:     SharedPool
>>>         type:     #normal
>>>         instVarString:     ''
>>>         classVarString:     'COLOR_ACTIVEBORDER COLOR_ACTIVECAPTION
>>> COLOR_APPWORKSPACE COLO...etc...
>>>         poolString:     ''
>>>         category:     #'FFI-Win32-Examples'
>>>         unsafe:     false
>>>         oldClass:     nil
>>>         instVars:     #()
>>>         classVars:     #(#COLOR #ACTIVEBORDER #COLOR #ACTIVECAPTION #COLOR
>>> #APPWORKSPACE #C...etc...
>>>         copyOfOldClass:     nil
>>>         newClass:     #(nil)
>>>     Receiver's instance variables:
>>>         environ:     Smalltalk globals "a SystemDictionary with lots of
>>> globals"
>>>         classMap:     nil
>>>         instVarMap:     an IdentityDictionary()
>>>         progress:     nil
>>>         maxClassIndex:     nil
>>>         currentClassIndex:     nil
>>>
>>> ClassBuilder>>name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:
>>>     Receiver: a ClassBuilder
>>>     Arguments and temporary variables:
>>>         className:     #Win32Constants
>>>         env:     Smalltalk globals "a SystemDictionary with lots of globals"
>>>         newSuper:     SharedPool
>>>         type:     #normal
>>>         instVarString:     ''
>>>         classVarString:     'COLOR_ACTIVEBORDER COLOR_ACTIVECAPTION
>>> COLOR_APPWORKSPACE COLO...etc...
>>>         poolString:     ''
>>>         category:     #'FFI-Win32-Examples'
>>>     Receiver's instance variables:
>>>         environ:     Smalltalk globals "a SystemDictionary with lots of
>>> globals"
>>>         classMap:     nil
>>>         instVarMap:     an IdentityDictionary()
>>>         progress:     nil
>>>         maxClassIndex:     nil
>>>         currentClassIndex:     nil
>>>
>>> [] in MCClassDefinition>>createClass
>>>     Receiver: a MCClassDefinition(Win32Constants)
>>>     Arguments and temporary variables:
>>> <<error during printing>
>>>     Receiver's instance variables:
>>>         name:     #Win32Constants
>>>         superclassName:     #SharedPool
>>>         variables:     an OrderedCollection(a
>>> MCClassVariableDefinition(COLOR_ACTIVEBORDER)...etc...
>>>         category:     #'FFI-Win32-Examples'
>>>         type:     #normal
>>>         comment:     ''
>>>         commentStamp:     ''
>>>         traitComposition:     nil
>>>         classTraitComposition:     nil
>>>
>>> BlockClosure>>on:do:
>>>     Receiver: [closure] in MCClassDefinition>>createClass
>>>     Arguments and temporary variables:
>>>         exception:     an ExceptionSet
>>>         handlerAction:     [closure] in MCClassDefinition>>createClass
>>>         handlerActive:     true
>>>     Receiver's instance variables:
>>>         outerContext:     MCClassDefinition>>createClass
>>>         startpc:     120
>>>         numArgs:     0
>>>
>>> MCClassDefinition>>createClass
>>>     Receiver: a MCClassDefinition(Win32Constants)
>>>     Arguments and temporary variables:
>>>         superClass:     SharedPool
>>>         composition:     nil
>>>         class:     #(nil)
>>>     Receiver's instance variables:
>>>         name:     #Win32Constants
>>>         superclassName:     #SharedPool
>>>         variables:     an OrderedCollection(a
>>> MCClassVariableDefinition(COLOR_ACTIVEBORDER)...etc...
>>>         category:     #'FFI-Win32-Examples'
>>>         type:     #normal
>>>         comment:     ''
>>>         commentStamp:     ''
>>>         traitComposition:     nil
>>>         classTraitComposition:     nil
>>>
>>> MCClassDefinition>>load
>>>     Receiver: a MCClassDefinition(Win32Constants)
>>>     Arguments and temporary variables:
>>>         class:     nil
>>>     Receiver's instance variables:
>>>         name:     #Win32Constants
>>>         superclassName:     #SharedPool
>>>         variables:     an OrderedCollection(a
>>> MCClassVariableDefinition(COLOR_ACTIVEBORDER)...etc...
>>>         category:     #'FFI-Win32-Examples'
>>>         type:     #normal
>>>         comment:     ''
>>>         commentStamp:     ''
>>>         traitComposition:     nil
>>>         classTraitComposition:     nil
>>>
>>> [] in [] in [] in MCPackageLoader>>basicLoad
>>>     Receiver: a MCPackageLoader
>>>     Arguments and temporary variables:
>>> <<error during printing>
>>>     Receiver's instance variables:
>>>         requirements:     #()
>>>         unloadableDefinitions:     a SortedCollection()
>>>         obsoletions:     a Dictionary()
>>>         additions:     an OrderedCollection(a
>>> MCOrganizationDefinition(#(#'FFI-Win32-Exampl...etc...
>>>         removals:     an OrderedCollection()
>>>         errorDefinitions:     an OrderedCollection(a
>>> MCClassDefinition(Win32Constants))
>>>         provisions:     a Set(#UpdatingRectangleMorph #FormTest
>>> #SystemDictionary #HSVColor...etc...
>>>         methodAdditions:     an OrderedCollection(a MethodAddition a
>>> MethodAddition a Metho...etc...
>>>
>>> [] in [] in OrderedCollection(Collection)>>do:displayingProgress:every:
>>>     Receiver: an OrderedCollection(a MCClassDefinition(Win32Constants))
>>>     Arguments and temporary variables:
>>> <<error during printing>
>>>     Receiver's instance variables:
>>>         array:     {a MCClassDefinition(Win32Constants) . nil . nil . nil .
>>> nil . nil . nil...etc...
>>>         firstIndex:     1
>>>         lastIndex:     1
>>>
>>> OrderedCollection>>do:
>>>     Receiver: an OrderedCollection(a MCClassDefinition(Win32Constants))
>>>     Arguments and temporary variables:
>>>         aBlock:     [closure] in [] in
>>> OrderedCollection(Collection)>>do:displayingProgress...etc...
>>>         index:     1
>>>     Receiver's instance variables:
>>>         array:     {a MCClassDefinition(Win32Constants) . nil . nil . nil .
>>> nil . nil . nil...etc...
>>>         firstIndex:     1
>>>         lastIndex:     1
>>>
>>> [] in OrderedCollection(Collection)>>do:displayingProgress:every:
>>>     Receiver: an OrderedCollection(a MCClassDefinition(Win32Constants))
>>>     Arguments and temporary variables:
>>> <<error during printing>
>>>     Receiver's instance variables:
>>>         array:     {a MCClassDefinition(Win32Constants) . nil . nil . nil .
>>> nil . nil . nil...etc...
>>>         firstIndex:     1
>>>         lastIndex:     1
>>>
>>> [] in [] in MorphicUIManager>>displayProgress:at:from:to:during:
>>>     Receiver: a MorphicUIManager
>>>     Arguments and temporary variables:
>>> <<error during printing>
>>>     Receiver's instance variables:
>>>         toolBuilder:     nil
>>>
>>> BlockClosure>>on:do:
>>>     Receiver: [closure] in [] in
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>>     Arguments and temporary variables:
>>>         exception:     ProgressNotification
>>>         handlerAction:     [closure] in [] in
>>> MorphicUIManager>>displayProgress:at:from:to:...etc...
>>>         handlerActive:     true
>>>     Receiver's instance variables:
>>>         outerContext:     [] in
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>>         startpc:     86
>>>         numArgs:     0
>>>
>>> [] in MorphicUIManager>>displayProgress:at:from:to:during:
>>>     Receiver: a MorphicUIManager
>>>     Arguments and temporary variables:
>>> <<error during printing>
>>>     Receiver's instance variables:
>>>         toolBuilder:     nil
>>>
>>> BlockClosure>>ensure:
>>>     Receiver: [closure] in
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>>     Arguments and temporary variables:
>>>         aBlock:     [closure] in
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>>         complete:     nil
>>>         returnValue:     nil
>>>     Receiver's instance variables:
>>>         outerContext:
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>>         startpc:     79
>>>         numArgs:     0
>>>
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>>     Receiver: a MorphicUIManager
>>>     Arguments and temporary variables:
>>>         titleString:     ''
>>>         aPoint:     512 at 356
>>>         minVal:     0
>>>         maxVal:     1
>>>         workBlock:     [closure] in
>>> OrderedCollection(Collection)>>do:displayingProgress:ev...etc...
>>>         progress:     [closure] in
>>> SystemProgressMorph>>position:label:min:max:
>>>         result:     #(nil)
>>>     Receiver's instance variables:
>>>         toolBuilder:     nil
>>>
>>>
>>> --- The full stack ---
>>> ClassBuilder(Object)>>error:
>>> ClassBuilder>>validateClassvars:from:forSuper:
>>> [] in
>>> ClassBuilder>>name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:unsafe:
>>> BlockClosure>>ensure:
>>> ClassBuilder>>name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:unsafe:
>>> ClassBuilder>>name:inEnvironment:subclassOf:type:instanceVariableNames:classVariableNames:poolDictionaries:category:
>>> [] in MCClassDefinition>>createClass
>>> BlockClosure>>on:do:
>>> MCClassDefinition>>createClass
>>> MCClassDefinition>>load
>>> [] in [] in [] in MCPackageLoader>>basicLoad
>>> [] in [] in OrderedCollection(Collection)>>do:displayingProgress:every:
>>> OrderedCollection>>do:
>>> [] in OrderedCollection(Collection)>>do:displayingProgress:every:
>>> [] in [] in MorphicUIManager>>displayProgress:at:from:to:during:
>>> BlockClosure>>on:do:
>>> [] in MorphicUIManager>>displayProgress:at:from:to:during:
>>> BlockClosure>>ensure:
>>> MorphicUIManager>>displayProgress:at:from:to:during:
>>>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>> ProgressInitiationException>>defaultResumeValue
>>> ProgressInitiationException(Exception)>>resume
>>> ProgressInitiationException>>defaultAction
>>> UndefinedObject>>handleSignal:
>>> MethodContext(ContextPart)>>handleSignal:
>>> MethodContext(ContextPart)>>handleSignal:
>>> MethodContext(ContextPart)>>handleSignal:
>>> MethodContext(ContextPart)>>handleSignal:
>>> ProgressInitiationException(Exception)>>signal
>>> ProgressInitiationException>>display:at:from:to:during:
>>> ProgressInitiationException class>>display:at:from:to:during:
>>> ByteString(String)>>displayProgressAt:from:to:during:
>>> ByteString(String)>>displayProgressFrom:to:during:
>>> OrderedCollection(Collection)>>do:displayingProgress:every:
>>> OrderedCollection(Collection)>>do:displayingProgress:
>>> [] in [] in MCPackageLoader>>basicLoad
>>> BlockClosure>>on:do:
>>> [] in MCPackageLoader>>basicLoad
>>> BlockClosure>>ensure:
>>> MCPackageLoader>>basicLoad
>>> [] in MCPackageLoader>>loadWithNameLike:
>>> BlockClosure>>ensure:
>>> MCPackageLoader>>useChangeSetNamed:during:
>>> MCPackageLoader>>useNewChangeSetNamedLike:during:
>>> MCPackageLoader>>loadWithNameLike:
>>> MCVersionLoader>>load
>>> [] in InstallerMonticello>>basicInstall
>>> BlockClosure>>on:do:
>>> BlockClosure>>valueSupplyingAnswers:
>>> BlockClosure>>valueSuppressingMessages:supplyingAnswers:
>>> InstallerMonticello(Installer)>>withAnswersDo:
>>> InstallerMonticello>>basicInstall
>>> [] in InstallerMonticello(Installer)>>installLogging
>>> InstallerMonticello(Installer)>>logErrorDuring:
>>> InstallerMonticello(Installer)>>installLogging
>>> InstallerMonticello(Installer)>>install
>>> InstallerMonticello(Installer)>>install:
>>> UndefinedObject>>DoIt
>>> Compiler>>evaluate:in:to:notifying:ifFail:logged:
>>> [] in SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>>> BlockClosure>>on:do:
>>> SmalltalkEditor(TextEditor)>>evaluateSelectionAndDo:
>>> -- and more not shown --
>>>
>>>
>>> -----------------------------------------------------------------------------------------
>>>
>>>
>>> -----------------
>>> Benoit St-Jean
>>> Yahoo! Messenger: bstjean
>>> A standpoint is an intellectual horizon of radius zero.
>>> (Albert Einstein)
>>>
>>>
>>>>________________________________
>>>> From: H. Hirzel <hannes.hirzel at gmail.com>
>>>>To: squeak-dev at lists.squeakfoundation.org
>>>>Sent: Friday, December 21, 2012 4:16:12 PM
>>>>Subject: [squeak-dev] ODBC package and mySQL driver for 4.4?
>>>>
>>>>On 12/21/12, Benoit St-Jean <bstjean at yahoo.com> wrote:
>>>>> The more urgent is the ODBC package.  We used to load it with a "prereq"
>>>>> of
>>>>> executing "ScriptLoader loadFFI" but the loadFFi method has vanished...
>>>>>
>>>>> Second items that is important, the MySQL Driver...  That one I have not
>>>>> tried yet...
>>>>
>>>>
>>>>For the FFI part
>>>>-----------------------
>>>>
>>>>To load the FFI see menu 'help' / 'extending the system' and there
>>>>
>>>>you find
>>>>
>>>>"FFI: http://source.squeak.org/FFI.html"
>>>>(Installer repository: 'http://source.squeak.org/FFI')
>>>>    install: 'FFI-Pools';
>>>>    install: 'FFI-Kernel';
>>>>    install: 'FFI-Tests';
>>>>    install: 'FFI-Win32';
>>>>    install: 'FFI-MacOS';
>>>>    install: 'FFI-Unix'.
>>>>
>>>>
>>>>--Hannes
>>>>
>>>>
>>>>
>>>>
>>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20121221/69b7c15f/attachment.htm


More information about the Squeak-dev mailing list