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