Newbie Questions

Chris Muller ma.chris.m at gmail.com
Tue Mar 24 01:39:33 UTC 2009


Hi Ross, please use the Magma installation instructions found on the Swiki:

  http://wiki.squeak.org/squeak/2657

You are not the first get confused by Magma's installation process.  I
may have "tried too hard" to make it easy, and ended up confusing
people instead in many cases..

I have just updated that documentation page, made clarifications and
placed emphasis on the important aspect of the installation which is
regularly missed.  Please give it another try!

Regards,
  Chris


On Mon, Mar 23, 2009 at 4:49 PM, Ross Boylan <ross at biostat.ucsf.edu> wrote:
> On Mon, 2009-03-23 at 11:53 -0500, Chris Muller wrote:
>> > I'm thinking of using Damien's squeak-dev 3.10 image.  Should that
>> work?
>>
>> Please run the Magma test suite on that image.  It's really the best
>> and only way to know.
>>
>>   1)  Load Magma tester from SqueakMap
>>   2)  MagmaTestCase fullSuite maDebug  "do it"
>
> It didn't get too far.  In TestSuite self tests doesn't understand the
> message #addAllFirst:.  The stack trace appears below.
>
> Perhaps this is related to a glitch during installation:
> >From squeakmap I loaded the r42beta2 versions of Magma Server and then
> Magma Client.  During the latter I got:
> "You are about to load new versions of the following packages that have
> unsaved changes in the image.  If you continue, you will lose these
> changes.
>
>  Ma base additions
>
> Select Proceed to continue, or close this window to cancel the
> operation."
>
> Of course, I also got messages that the packages were not known to be
> compatible with 3.10.
>
> ------------------------------------ stack trace--------------------
> 23 March 2009 2:46:31 pm
>
> VM: unix - a SmalltalkImage
> Image: Squeak3.10.2 [latest update: #7179]
>
> SecurityManager state:
> Restricted: false
> FileAccess: true
> SocketAccess: true
> Working Dir /usr/local/src/insurance
> Trusted Dir /usr/local/src/insurance/secure
> Untrusted Dir /usr/local/src/insurance/My Squeak
>
> Set(Object)>>doesNotUnderstand: #addAllFirst:
>        Receiver: a Set(MagmaCollectionTester>>#testPersistentEmpty {test
> querys - persistent empty} MagmaCo...etc...
>        Arguments and temporary variables:
>                aMessage:       addAllFirst: a Set(MagmaTestCase>>#testUpdateByteObjects
> {other small...etc...
>        Receiver's instance variables:
>                tally:  18
>                array:  an Array(nil nil nil
> MagmaCollectionTester>>#testPersistentEmpty {test q...etc...
>
> TestSuite>>addTestsFirst:
>        Receiver: a TestSuite
>        Arguments and temporary variables:
>                aCollection:    a Set(MagmaTestCase>>#testUpdateByteObjects {other small
> tests} Ma...etc...
>        Receiver's instance variables:
>                tests:  a Set(MagmaCollectionTester>>#testPersistentEmpty {test querys
> - persist...etc...
>                resources:      nil
>                name:   nil
>
> MagmaTestCase class>>fullSuite
>        Receiver: MagmaTestCase
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
>                superclass:     MaNetworkTestCase
>                methodDict:     a MethodDictionary(size 188)
>                format:         162
>                instanceVariables:      #('magmaConsole' 'peerConsole' 'clientSession'
> 'localRoot' '...etc...
>                organization:   ('initialize-release' abort abortClients
> assertForwardRecoverySig...etc...
>                subclasses:     {MagmaCollectionTester}
>                name:   #MagmaTestCase
>                classPool:      a Dictionary(#InitiateBackupPrereqsCompleted->nil
> #MagmaServerAddres...etc...
>                sharedPools:    nil
>                environment:    a SystemDictionary(lots of globals)
>                category:       #'Magma tester-SUnit tests'
>                traitComposition:       nil
>                localSelectors:         nil
>
> UndefinedObject>>DoIt
>        Receiver: nil
>        Arguments and temporary variables:
>
>        Receiver's instance variables:
> nil
>
>
> --- The full stack ---
> Set(Object)>>doesNotUnderstand: #addAllFirst:
> TestSuite>>addTestsFirst:
> MagmaTestCase class>>fullSuite
> UndefinedObject>>DoIt
>  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
> Compiler>>evaluate:in:to:notifying:ifFail:logged:
> [] in TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection {[rcvr
> class evaluatorClass new   evaluate: self selectionAsStream   in:
> ctxt...]}
> BlockContext>>on:do:
> TextMorphForShoutEditor(ParagraphEditor)>>evaluateSelection
> TextMorphForShoutEditor(ParagraphEditor)>>doIt
> [] in TextMorphForShoutEditor(ParagraphEditor)>>doIt: {[self doIt]}
> TextMorphForShoutEditor(Controller)>>terminateAndInitializeAround:
> TextMorphForShoutEditor(ParagraphEditor)>>doIt:
> TextMorphForShoutEditor(ParagraphEditor)>>dispatchOnCharacter:with:
> TextMorphForShoutEditor(TextMorphEditor)>>dispatchOnCharacter:with:
> TextMorphForShoutEditor(ParagraphEditor)>>readKeyboard
> TextMorphForShoutEditor(TextMorphEditor)>>readKeyboard
> [] in TextMorphForShout(TextMorph)>>keyStroke: {[editor readKeyboard]}
> TextMorphForShout(TextMorph)>>handleInteraction:fromEvent:
> TextMorphForShout(TextMorphForEditView)>>handleInteraction:fromEvent:
> TextMorphForShout(TextMorph)>>keyStroke:
> TextMorphForShout(TextMorphForEditView)>>keyStroke:
> TextMorphForShout(TextMorph)>>handleKeystroke:
> KeyboardEvent>>sentTo:
> TextMorphForShout(Morph)>>handleEvent:
> TextMorphForShout(Morph)>>handleFocusEvent:
> [] in HandMorph>>sendFocusEvent:to:clear: {[ActiveHand := self.
> ActiveEvent := anEvent.  e := anEvent     transformedB...]}
> [] in PasteUpMorph>>becomeActiveDuring: {[aBlock value]}
> BlockContext>>on:do:
> PasteUpMorph>>becomeActiveDuring:
> HandMorph>>sendFocusEvent:to:clear:
> HandMorph>>sendEvent:focus:clear:
> [] in HandMorph>>sendKeyboardEvent: {[:focusHolder | anEvent wasHandled
> ifFalse: [self     sendEvent: anEvent  ...]}
> OrderedCollection>>do:
> HandMorph>>sendKeyboardEvent:
> HandMorph>>handleEvent:
> HandMorph>>processEvents
> [] in WorldState>>doOneCycleNowFor: {[:h |  ActiveHand := h.  h
> processEvents.  capturingGesture := capturingGest...]}
> Array(SequenceableCollection)>>do:
> WorldState>>handsDo:
> WorldState>>doOneCycleNowFor:
> WorldState>>doOneCycleFor:
> PasteUpMorph>>doOneCycle
> [] in Project class>>spawnNewProcess {[[World doOneCycle.  Processor
> yield.  false] whileFalse.  nil]}
> [] in BlockContext>>newProcess {[self value.  Processor
> terminateActive]}
>
>
>


More information about the Magma mailing list