Installing the framework

3 views
Skip to first unread message

Hernán Morales Durand

unread,
Mar 17, 2009, 5:47:28 PM3/17/09
to omnibro...@googlegroups.com
Hello.
Anyone can tell me what is the right way (i.e. tested) to install properly the latest OmniBrowser
- any kind of installation, full or basic - in a Squeak 3.10 "clean", read official, image, using an Installer script?

Does it work in an image without Traits?

Cheers

Hernán

Bergel, Alexandre

unread,
Mar 17, 2009, 5:56:19 PM3/17/09
to omnibro...@googlegroups.com
Just do it eso:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
"load latest alpha version of OB directly from its Monticello repo"
Installer wiresong
project: 'ob';
install: 'OmniBrowser';
install: 'OB-Standard';
install: 'OB-Morphic';
install: 'OB-Enhancements'.

Installer ss
project: 'AST';
install: 'AST-lr'.

Installer ss
project: 'RefactoringEngine';
install: 'Refactoring-Core';
install: 'Refactoring-Spelling'.

Installer ss
project: 'Regex';
install: 'VB-Regex'.

Installer wiresong
project: 'ob';
install: 'OB-Refactory'.

Installer lukas
project: 'omnibrowser';
install: 'OB-Regex'
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.





Hernán Morales Durand

unread,
Mar 17, 2009, 7:03:16 PM3/17/09
to omnibro...@googlegroups.com
Thanks Alexandre, I'm using the Squeak3.10.2-7179-win32.zip from Squeak.org. First I've updated the Installer since it didn't knew the "wiresong" repository:

HTTPSocket httpFileIn: 'installer.pbwiki.com/f/Installer.st'.
(Smalltalk at: #Installer)
  upgrade;
  install: 'Packages'.

and after doIt that script, I get the following error (screenshot attached):

VM: Win32 - a SmalltalkImage
Image: Squeak3.10.2 [latest update: #7179]

SecurityManager state:
Restricted: false
FileAccess: true
SocketAccess: true
Working Dir C:\Squeaks\Projects\Images\GeneralImages\Official 3.10
Trusted Dir C:\Squeaks\Projects\Images\GeneralImages\Official 3.10\gandalf

Trait(Object)>>doesNotUnderstand: #withAllSubclassesDo:
    Receiver: TPureBehavior
    Arguments and temporary variables:
        aMessage:     withAllSubclassesDo: [] in OBDPRequired class>>theMethodNamed:hasBeen...etc...
    Receiver's instance variables:
        methodDict:     a MethodDictionary(size 124)
        traitComposition:     TCompilingBehavior @ {#methodDictAddSelectorSilently:withMeth...etc...
        localSelectors:     an IdentitySet(#purgeLocalSelectors #isDisabledSelector: #sendC...etc...
        users:     an IdentitySet(TraitBehavior Behavior Behavior)
        organization:     ('adding/removing methods' addSelectorSilently:withMethod: addSel...etc...
        name:     #TPureBehavior
        environment:     a SystemDictionary(lots of globals)
        classTrait:     TPureBehavior classTrait
        category:     #'Traits-Kernel-Traits'

OBDPRequired class>>theMethodNamed:hasBeenAddedIn:
    Receiver: OBDPRequired
    Arguments and temporary variables:
        aSymbol:     #parseTreeFor:
        aClass:     TPureBehavior
        eachClass:     nil
    Receiver's instance variables:
        superclass:     OBDPAbstract
        methodDict:     a MethodDictionary(#isDeferred->a CompiledMethod (3908) #noteIntere...etc...
        format:     140
        instanceVariables:     nil
        organization:     ('testing' isDeferred)
('caching' noteInterestIn:)
('accessing' s...etc...
        subclasses:     nil
        name:     #OBDPRequired
        classPool:     nil
        sharedPools:     nil
        environment:     a SystemDictionary(lots of globals)
        category:     #'OB-Enhancements-DynamicProtocols'
        traitComposition:     nil
        localSelectors:     nil
        cache:     a Dictionary()

[] in OBDynamicProtocols class>>addedMethodEvent: {[:protocol | protocol theMethodNamed: anEvent itemSelector hasBeenAddedIn: a...]}
    Arguments and temporary variables:
        anEvent:     Added Event for item: a CompiledMethod (2798) of kind: #method
        protocol:     OBDPRequired

Set>>do:
    Receiver: a Set(OBDPRequired OBDPRecentlyModified OBDPConflict OBDPDuplicated OBDPLocal OBDPDebuggin...etc...
    Arguments and temporary variables:
        aBlock:     [] in OBDynamicProtocols class>>addedMethodEvent: {[:protocol | protoco...etc...
        index:     1
        each:     OBDPRequired
        indexLimiT:     20
    Receiver's instance variables:
        tally:     11
        array:     {OBDPRequired . nil . nil . nil . nil . OBDPRecentlyModified . nil . nil...etc...


--- The full stack ---
Trait(Object)>>doesNotUnderstand: #withAllSubclassesDo:
OBDPRequired class>>theMethodNamed:hasBeenAddedIn:
[] in OBDynamicProtocols class>>addedMethodEvent: {[:protocol | protocol theMethodNamed: anEvent itemSelector hasBeenAddedIn: a...]}
Set>>do:
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
OBDynamicProtocols class>>addedMethodEvent:
WeakMessageSend>>valueWithArguments:
[] in WeakActionSequenceTrappingErrors>>valueWithArguments:startingFrom: {[answer := each valueWithArguments: anArray]}
BlockContext>>on:do:
WeakActionSequenceTrappingErrors>>valueWithArguments:startingFrom:
WeakActionSequenceTrappingErrors>>valueWithArguments:
SystemEventManager(Object)>>triggerEvent:withArguments:
SystemEventManager(Object)>>triggerEvent:with:
AddedEvent(AbstractEvent)>>trigger:
SystemChangeNotifier>>trigger:
SystemChangeNotifier>>methodAdded:selector:inProtocol:class:requestor:
MethodAddition>>notifyObservers
[] in MCPackageLoader>>basicLoad {[:each | each notifyObservers]}
OrderedCollection>>do:
[] in MCPackageLoader>>basicLoad {[additions   do: [:ea | self tryToLoad: ea]   displayingProgress: 'Loading.....]}
BlockContext>>on:do:
[] in MCPackageLoader>>basicLoad {[[additions   do: [:ea | self tryToLoad: ea]   displayingProgress: 'Loading....]}
BlockContext>>ensure:
MCPackageLoader>>basicLoad
[] in MCPackageLoader>>loadWithNameLike: {[self basicLoad]}
[] in MCPackageLoader>>useChangeSetNamed:during: {[aBlock value]}
BlockContext>>ensure:
MCPackageLoader>>useChangeSetNamed:during:
MCPackageLoader>>useNewChangeSetNamedLike:during:
MCPackageLoader>>loadWithNameLike:
MCVersionLoader>>load
[] in InstallerMonticello>>basicInstall {[self mcThing load]}
[] in BlockContext>>valueSupplyingAnswers: {[self value]}
BlockContext>>on:do:
BlockContext>>valueSupplyingAnswers:
...etc...

I've double checked this process, any hints?

Best regards

Hernán

2009/3/17 Bergel, Alexandre <ber...@iam.unibe.ch>
MessageNotUnderstood# Trait##withAllSubclassesDo#.png

Bergel, Alexandre

unread,
Mar 18, 2009, 4:22:58 AM3/18/09
to omnibro...@googlegroups.com
Everything works in Pharo :-)
I would suggest you to use Pharo then...

Alexandre
> <MessageNotUnderstood# Trait##withAllSubclassesDo#.png>

Damien Cassou

unread,
Mar 18, 2009, 5:11:53 AM3/18/09
to omnibro...@googlegroups.com
On Wed, Mar 18, 2009 at 12:03 AM, Hernán Morales Durand
<hernan....@gmail.com> wrote:
> Trait(Object)>>doesNotUnderstand: #withAllSubclassesDo:

Implement the method yourself in TPureBehavior:

withAllSubclassesDo: aBlock
| temp |
temp := self allSubclassesDo: aBlock.
aBlock value: self


OB does not depend on traits, but OB-Enhancements does. If you don't
have traits, don't load OB-Enhancements.

--
Damien Cassou
http://damiencassou.seasidehosting.st

Hernán Morales Durand

unread,
Mar 18, 2009, 10:44:28 AM3/18/09
to omnibro...@googlegroups.com
That solved the problem, merci beaucoup Alex et Damien.

Hernán

2009/3/18 Damien Cassou <damien...@gmail.com>
Reply all
Reply to author
Forward
0 new messages