On Sun, Jan 29, 2012 at 6:27 PM, Nicolas Cellier < nicolas.cellier.aka.nice@gmail.com> wrote:
Ah yes, my bad, thanks Esteban, ConfigurationOfCog of course... But we have to admit, since the Monticello repository is VMMaker and since a ConfigurationOfVMMaker exists, it's really too easy to pick the wrong configuration...
+1 ConfigurationOfVMMaker was done before ConfigurationOfCog, and since Cog also has a fork of "VMMaker" I agree it is confusing. I recommend to renmate it to ConfigurationOfInterpreterVM or something like that
Nicolas
2012/1/29 Esteban Lorenzano <estebanlm@gmail.com>:
Hi,
let me explain how I build a vm from fresh start:
1) install XCode (this is needed for the cocoa/carbon frameworks, not just the gcc) with this installed, I need to make sure gcc points to correct compiler: latest xcode distributions replaced default compiler from gcc to llvm. So, gcc points to llvm compiler instead the correct one for us: gcc-4.2. So, you can do a quick fix by:
sudo rm /usr/bin/gcc sudo ln /usr/bin/gcc-4.2 gcc
1.1) Install also CMake 2) clone blessed sources from git:
git clone git://gitorious.org/cogvm/blessed.git blessed
3) copy a fresh pharo image into [blessed]/image 4) execute this script:
Gofer it squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfCog'; load. (ConfigurationOfCog project version: '3.9') load.
NOTICE: ConfigurationOfCog installs cog (and stack) versions, ConfigurationOfVMMaker will install Interpreter version and gitorious versions might not work with this version (at least since 6 months I don't test it)
5) Execute this script:
CogCocoaIOSConfig new addExternalPlugins: #(FT2Plugin); generateSources; generate.
6) In [blessed]/build
6.1) execute: ../codegen-scripts/extract-commit-info.sh 6.2) execue: cmake . 6.3) execute: make
this should work out of the box. I tried just now and it works on my machine, so... if it doesn't work for you, let me know the errors.
El 29/01/2012, a las 10:47a.m., Nicolas Cellier escribió:
I see, the package FreeType-tween.435 is in http://www.squeaksource.com/FreetypePlugin
There is a spec for it in the squeak branch (ConfigurationOfVMMaker>>baseline15:)
spec repository: 'http://www.squeaksource.com/FreeTypePlus'; package: 'Freetype'.
But this spec is missing in Pharo... However, there is a FreeType package already loaded in Pharo (FreeType-StephaneDucasse.573 in Pharo 1.4) and if we browse this package history, FreeType-tween.435 is listed as one of its ancestors.
I tried to just add http://www.squeaksource.com/FreeTypePlus in the list or repository of Monticello package FreeType, but this did not solve anything. A workaround that drove me further was to add above spec in Pharo branch of #basline15:
I still have a warning:
This package depends on the following classes: Project You must resolve these dependencies before you will be able to load these definitions: beep
I did proceed... and many deprecation warning too:
The method Class>>addClassVarName: has been deprecated. Use addClassVarNamed:
Select Proceed to continue, or close this window to cancel the operation.
(same with addInstVarName:)
Then it tried to load FreeType-tween.435 which is not a good thing, we have a more recent version in image...
This package depends on the following classes: TextMorphEditor MultiCanvasCharacterScanner CanvasCharacterScanner DisplayScanner TextLineInterval You must resolve these dependencies before you will be able to load these definitions: cr paddedSpace tab paddedSpace cr paddedSpace tab justifiedPadFor:font: alphabeticalGroupsFor:size: changeSelectionFontTo: changeTextFont changeTextFontAlphabeticalMenu changeTextFontDialog familyMemberFor:fromFamilies: fontMenuItemsDisplayWithMenuFont otherFontSizeDialog: pointSizeMenuForFamilyMember:parentMenu:active:activePointSize:
Select Proceed to continue, or close this window to cancel the operation.
If I cancel, then I don't know if the whole load is cancelled, or just this package (no UI feedback). Else if I proceed, installation of this obsolete package fail... Arghh.
So another workaround was to change #version15: and to remove FreeType spec from the #common branch, move it to the #squeak branch, and declare a more recent version of FreeType in the #pharo branch... spec package: 'FreeType' with: 'FreeType-StephaneDucasse.573';
But this specific version should be different in each version of Pharo...
Nicolas
2012/1/29 Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com>:
And when I retry with a specific version, I get another Error because FreeType cannot be resolved...
Gofer new squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfVMMaker'; load. ((Smalltalk at: #ConfigurationOfVMMaker) project version: '1.5') perform: #load.
Could that be that the developpers of this configuration missed the bug because the item already was in their package-cache? I think that relying on the package-cache is a good optimization for speed, but should be forbiden when validating the configuration...
Nicolas
29 January 2012 11:56:37 am
VM: Mac OS - intel - 1068 - CoInterpreter * VMMaker-oscog-nice2.99, VMMaker-eem.35, VMMaker-oscog.52, VMMaker-oscog-dtl.63, VMMaker.oscog-eem.139 uuid: f0429633-b524-4abb-95fa-e2cf44a37805 Dec 4 2011, StackToRegisterMappingCogit * VMMaker-oscog-nice2.99, VMMaker-eem.35, VMMaker-oscog.52, VMMaker-oscog-dtl.63, VMMaker.oscog-eem.139 uuid: f0429633-b524-4abb-95fa-e2cf44a37805 Dec 4 2011, r2519 http://squeakvm.org/svn/squeak/branches/Cog Image: Pharo1.4a [Latest update: #14294]
MetacelloFetchingMCSpecLoader(Object)>>error: Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2 [ConfigurationOfVMMaker] load : FFI-Poo...etc... Arguments and temporary variables: aString: 'Could not resolve: FreeType [FreeType-tween.435] in /Users/nicolas/Sm...etc... Receiver's instance variables: spec: a MetacelloMCVersionSpecLoader operator: nil loaderPolicy: a MetacelloLoaderPolicy disablePackageCache: false
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>retryingResolvePackageSpecReferences:gofer:
Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2 [ConfigurationOfVMMaker] load : FFI-Poo...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: spec: a MetacelloMCVersionSpecLoader operator: nil loaderPolicy: a MetacelloLoaderPolicy disablePackageCache: false
[| references nearestReference cachedReference externalReference loadedVersionInfos mcVersion | self flag: #cleanup. cachedReference := self resolvePackageSpec: packageSpec
cachedGofer:
self loaderPolicy cacheGofer. (cachedReference ~~ nil and: [packageSpec getFile ~~ nil]) ifTrue: [cachedReference name = packageSpec file ifTrue: [^ self]]. references := self retryingResolvePackageSpecReferences: packageSpec gofer: gofer. nearestReference := references last asMetacelloCachingResolvedReference. (cachedReference ~~ nil and: [cachedReference name = nearestReference name]) ifTrue: [^ self]. (self ignoreImage not and: [(loadedVersionInfos := self ancestorsFor: packageSpec) ~~ nil]) ifTrue: [loadedVersionInfos do: [:info | info name = nearestReference name ifTrue: [^ self]. nil]]. externalReference := (references select: [:ref | ref name = nearestReference name]) first asMetacelloCachingResolvedReference. self repositoryMap at: externalReference name put: externalReference repository. (self resolveDependencies: externalReference nearest: nearestReference into: (OrderedCollection with: nearestReference)) do: [:reference | | pSpec l | mcVersion := reference version. (l := (GoferVersionReference name: reference name) resolveAllWith: self loaderPolicy cacheGofer) isEmpty ifTrue: [self cacheRepository storeVersion: mcVersion. reference == nearestReference ifTrue: [pSpec := packageSpec] ifFalse: [pSpec := packageSpec project packageSpec. pSpec name: mcVersion info]. self loadData addVersion: mcVersion versionInfo: mcVersion info resolvedReference: reference packageSpec: pSpec]]. self loaderPolicy resetCacheGofer. self preLoad: packageSpec. (MetacelloDirective loadPackage: packageSpec externalReference: externalReference loader: self) addTo: self loadDirective. self postLoad: packageSpec. Transcript cr; show: 'Fetched -> ' , externalReference name , ' --- ' , externalReference repository description , ' --- ' , nearestReference repository description] in MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer: Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2 [ConfigurationOfVMMaker] load : FFI-Poo...etc... Arguments and temporary variables: packageSpec: spec name: 'FreeType'; file: 'FreeType-tween.435'. gofer: a MetacelloGofer references: nil nearestReference: nil cachedReference: nil externalReference: nil loadedVersionInfos: nil mcVersion: #(nil) Receiver's instance variables: spec: a MetacelloMCVersionSpecLoader operator: nil loaderPolicy: a MetacelloLoaderPolicy disablePackageCache: false
[:bar | bar value: 1. aBlock value. bar value: 2] in MetacelloPharoPlatform>>do:displaying: Receiver: a MetacelloPharoPlatform Arguments and temporary variables: aBlock: [:barValArg | | barVal return newBarSize | barVal := barValArg. retur...etc... bar: [| references nearestReference cachedReference externalReference loadedVer...etc... Receiver's instance variables: bypassProgressBars: false bypassGoferLoadUpdateCategories: false
[result := workBlock value: progress] in [[result := workBlock value: progress] on: ProgressNotification do: [:ex | ex extraParam isString ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam]. ex resume]] in ProgressInitiationException>>defaultMorphicAction Receiver: ProgressInitiationException Arguments and temporary variables: progress: [:barValArg | | barVal return newBarSize | barVal := barValArg. ret...etc... result: #(nil) Receiver's instance variables: messageText: nil tag: nil signaler: 'Fetching FreeType-tween.435' signalContext: ProgressInitiationException(Exception)>>signal handlerContext: nil outerContext: nil workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] maxVal: 2 minVal: 0 aPoint: (561@206) progressTitle: 'Fetching FreeType-tween.435'
BlockClosure>>on:do: Receiver: [result := workBlock value: progress] Arguments and temporary variables: exception: ProgressNotification handlerAction: [:ex | ex extraParam isString ifTrue: [SystemProgressMorph un...etc... handlerActive: true Receiver's instance variables: outerContext: [[result := workBlock value: progress] on: ProgressNotification...etc... startpc: 87 numArgs: 0
[[result := workBlock value: progress] on: ProgressNotification do: [:ex | ex extraParam isString ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam]. ex resume]] in ProgressInitiationException>>defaultMorphicAction Receiver: ProgressInitiationException Arguments and temporary variables: progress: [:barValArg | | barVal return newBarSize | barVal := barValArg. ret...etc... result: #(nil) Receiver's instance variables: messageText: nil tag: nil signaler: 'Fetching FreeType-tween.435' signalContext: ProgressInitiationException(Exception)>>signal handlerContext: nil outerContext: nil workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] maxVal: 2 minVal: 0 aPoint: (561@206) progressTitle: 'Fetching FreeType-tween.435'
BlockClosure>>ensure: Receiver: [[result := workBlock value: progress] on: ProgressNotification do: [:ex | ex extr...etc... Arguments and temporary variables: aBlock: [SystemProgressMorph close: progress] complete: nil returnValue: nil Receiver's instance variables: outerContext: ProgressInitiationException>>defaultMorphicAction startpc: 81 numArgs: 0
ProgressInitiationException>>defaultMorphicAction Receiver: ProgressInitiationException Arguments and temporary variables: progress: [:barValArg | | barVal return newBarSize | barVal := barValArg. ret...etc... result: #(nil) Receiver's instance variables: messageText: nil tag: nil signaler: 'Fetching FreeType-tween.435' signalContext: ProgressInitiationException(Exception)>>signal handlerContext: nil outerContext: nil workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] maxVal: 2 minVal: 0 aPoint: (561@206) progressTitle: 'Fetching FreeType-tween.435'
MorphicUIManager>>progressInitiationExceptionDefaultAction: Receiver: a MorphicUIManager Arguments and temporary variables: anException: ProgressInitiationException Receiver's instance variables: interactiveParser: nil
ProgressInitiationException>>defaultAction Receiver: ProgressInitiationException Arguments and temporary variables:
Receiver's instance variables: messageText: nil tag: nil signaler: 'Fetching FreeType-tween.435' signalContext: ProgressInitiationException(Exception)>>signal handlerContext: nil outerContext: nil workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] maxVal: 2 minVal: 0 aPoint: (561@206) progressTitle: 'Fetching FreeType-tween.435'
UndefinedObject>>handleSignal: Receiver: nil Arguments and temporary variables: exception: ProgressInitiationException Receiver's instance variables: nil
MethodContext(ContextPart)>>handleSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: ProgressInitiationException val: nil Receiver's instance variables: sender: PasteUpMorph>>becomeActiveDuring: pc: 17 stackp: 3 method: (BlockClosure>>#on:do: "a CompiledMethod(954990592)") closureOrNil: nil receiver: [aBlock value]
MethodContext(ContextPart)>>handleSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: ProgressInitiationException val: nil Receiver's instance variables: sender: SmalltalkEditor>>evaluateSelectionAndDo: pc: 17 stackp: 3 method: (BlockClosure>>#on:do: "a CompiledMethod(954990592)") closureOrNil: nil receiver: [rcvr class evaluatorClass new evaluate: self selectionForDoitAsStr...etc...
MethodContext(ContextPart)>>handleSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: ProgressInitiationException val: nil Receiver's instance variables: sender: [[result := workBlock value: progress] on: ProgressNotification do:...etc... pc: 17 stackp: 3 method: (BlockClosure>>#on:do: "a CompiledMethod(954990592)") closureOrNil: nil receiver: [result := workBlock value: progress]
MethodContext(ContextPart)>>handleSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: ProgressInitiationException val: nil Receiver's instance variables: sender: MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultD...etc... pc: 17 stackp: 3 method: (BlockClosure>>#on:do: "a CompiledMethod(954990592)") closureOrNil: nil receiver: [^ aBlock value: dict]
ProgressInitiationException(Exception)>>signal Receiver: ProgressInitiationException Arguments and temporary variables:
Receiver's instance variables: messageText: nil tag: nil signaler: 'Fetching FreeType-tween.435' signalContext: ProgressInitiationException(Exception)>>signal handlerContext: nil outerContext: nil workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] maxVal: 2 minVal: 0 aPoint: (561@206) progressTitle: 'Fetching FreeType-tween.435'
ProgressInitiationException>>display:at:from:to:during: Receiver: ProgressInitiationException Arguments and temporary variables: argString: 'Fetching FreeType-tween.435' argPoint: (561@206) argMinVal: 0 argMaxVal: 2 argWorkBlock: [:bar | bar value: 1. aBlock value. bar value: 2] Receiver's instance variables: messageText: nil tag: nil signaler: 'Fetching FreeType-tween.435' signalContext: ProgressInitiationException(Exception)>>signal handlerContext: nil outerContext: nil workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] maxVal: 2 minVal: 0 aPoint: (561@206) progressTitle: 'Fetching FreeType-tween.435'
ProgressInitiationException class>>display:at:from:to:during: Receiver: ProgressInitiationException Arguments and temporary variables: aString: 'Fetching FreeType-tween.435' aPoint: (561@206) minVal: 0 maxVal: 2 workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] Receiver's instance variables: superclass: Exception methodDict: a
MethodDictionary(#defaultAction->(ProgressInitiationException>>#d...etc...
format: 152 instanceVariables: #('workBlock' 'maxVal' 'minVal'
'aPoint' 'progressTitle')
organization: ('*Morphic' defaultMorphicAction) ('accessing' maxVal minVal poin...etc... subclasses: nil name: #ProgressInitiationException classPool: nil sharedPools: nil environment: a SystemDictionary(lots of globals) category: #'UIManager-Support' traitComposition: nil localSelectors: nil
ByteString(String)>>displayProgressAt:from:to:during: Receiver: 'Fetching FreeType-tween.435' Arguments and temporary variables: aPoint: (561@206) minVal: 0 maxVal: 2 workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] Receiver's instance variables: 'Fetching FreeType-tween.435'
MetacelloPharoPlatform>>do:displaying: Receiver: a MetacelloPharoPlatform Arguments and temporary variables: aBlock: [| references nearestReference
cachedReference
externalReference loaded...etc... aString: 'Fetching FreeType-tween.435' Receiver's instance variables: bypassProgressBars: false bypassGoferLoadUpdateCategories: false
MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer: Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2 [ConfigurationOfVMMaker] load : FFI-Poo...etc... Arguments and temporary variables: packageSpec: spec name: 'FreeType'; file: 'FreeType-tween.435'. gofer: a MetacelloGofer Receiver's instance variables: spec: a MetacelloMCVersionSpecLoader operator: nil loaderPolicy: a MetacelloLoaderPolicy disablePackageCache: false
MetacelloPackageSpec>>loadUsing:gofer: Receiver: spec name: 'FreeType'; file: 'FreeType-tween.435'. Arguments and temporary variables: aLoader: a MetacelloFetchingMCSpecLoader(linear load : 1.2 [ConfigurationOfVMMa...etc... gofer: a MetacelloGofer Receiver's instance variables: project: ConfigurationOfVMMaker(1.0-baseline [ConfigurationOfVMMaker], 1.0 [Con...etc... loader: nil name: 'FreeType' requires: #() includes: #() answers: #() file: 'FreeType-tween.435' repositories: spec
goferPackage: a MetacelloGoferPackage name: 'FreeType' preLoadDoIt: nil postLoadDoIt: nil
[:pkg | pkg loadUsing: self gofer: gofer] in
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2 [ConfigurationOfVMMaker] load : FFI-Poo...etc... Arguments and temporary variables: gofer: spec name: 'FreeType'; file: 'FreeType-tween.435'. pkg: a MetacelloGofer Receiver's instance variables: spec: a MetacelloMCVersionSpecLoader operator: nil loaderPolicy: a MetacelloLoaderPolicy disablePackageCache: false
OrderedCollection>>do: Receiver: an OrderedCollection(spec name: 'FFI-Pools'; file: 'FFI-Pools-ar.1'. spec name: 'Shar...etc... Arguments and temporary variables: aBlock: [:pkg | pkg loadUsing: self gofer:
gofer]
index: 14 Receiver's instance variables: array: an Array(spec name: 'FFI-Pools'; file: 'FFI-Pools-ar.1'. spec name:...etc... firstIndex: 1 lastIndex: 14
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2 [ConfigurationOfVMMaker] load : FFI-Poo...etc... Arguments and temporary variables: packageSpecs: an OrderedCollection(spec name: 'FFI-Pools'; file: 'FFI-Pools-...etc... repositories: an OrderedCollection(a MCHttpRepository(http://www.squeaksource.c...etc... gofer: a MetacelloGofer Receiver's instance variables: spec: a MetacelloMCVersionSpecLoader operator: nil loaderPolicy: a MetacelloLoaderPolicy disablePackageCache: false
[super linearLoadPackageSpecs: packageSpecs repositories: repositories] in MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories: Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2 [ConfigurationOfVMMaker] load : FFI-Poo...etc... Arguments and temporary variables: packageSpecs: an OrderedCollection(spec name: 'FFI-Pools'; file: 'FFI-Pools-...etc... repositories: an OrderedCollection(a MCHttpRepository(http://www.squeaksource.c...etc... Receiver's instance variables: spec: a MetacelloMCVersionSpecLoader operator: nil loaderPolicy: a MetacelloLoaderPolicy disablePackageCache: false
BlockClosure>>ensure: Receiver: [super linearLoadPackageSpecs: packageSpecs
repositories:
repositories] Arguments and temporary variables: aBlock: [loadDirective := oldRoot] complete: nil returnValue: nil Receiver's instance variables: outerContext:
MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositorie...etc...
startpc: 33 numArgs: 0
MetacelloLoaderPolicy>>pushLoadDirective:during: Receiver: a MetacelloLoaderPolicy Arguments and temporary variables: aLoaderDirective: linear load : 1.2
[ConfigurationOfVMMaker]
load : FFI-Pools-...etc... aBlock: [super linearLoadPackageSpecs:
packageSpecs repositories:
repositories]...etc... oldRoot: linear load : preload : 1.2 [ConfigurationOfVMMaker] >> pharoUndesco...etc... Receiver's instance variables: overrideRepositories: nil repositoryMap: a Dictionary('Alien-VMMaker-Support-John M McIntosh.8'->a MCHttp...etc... ensuredMap: a Dictionary() cacheRepository: a MCDictionaryRepository(cache) cacheGofer: a Gofer ignoreImage: false loadData: a MetacelloLoadData loadDirective: linear load : 1.2 [ConfigurationOfVMMaker] load : FFI-Pools-ar....etc... silently: false
MetacelloLoaderPolicy>>pushLinearLoadDirectivesDuring:for: Receiver: a MetacelloLoaderPolicy Arguments and temporary variables: aBlock: [super linearLoadPackageSpecs: packageSpecs repositories: repositories]...etc... aLoader: a MetacelloFetchingMCSpecLoader(linear load : 1.2 [ConfigurationOfVMMa...etc... Receiver's instance variables: overrideRepositories: nil repositoryMap: a Dictionary('Alien-VMMaker-Support-John M McIntosh.8'->a MCHttp...etc... ensuredMap: a Dictionary() cacheRepository: a MCDictionaryRepository(cache) cacheGofer: a Gofer ignoreImage: false loadData: a MetacelloLoadData loadDirective: linear load : 1.2 [ConfigurationOfVMMaker] load : FFI-Pools-ar....etc... silently: false
MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories: Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2 [ConfigurationOfVMMaker] load : FFI-Poo...etc... Arguments and temporary variables: packageSpecs: an OrderedCollection(spec name: 'FFI-Pools'; file: 'FFI-Pools-...etc... repositories: an OrderedCollection(a MCHttpRepository(http://www.squeaksource.c...etc... Receiver's instance variables: spec: a MetacelloMCVersionSpecLoader operator: nil loaderPolicy: a MetacelloLoaderPolicy disablePackageCache: false
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>load Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.2 [ConfigurationOfVMMaker] load : FFI-Poo...etc... Arguments and temporary variables: repos: an OrderedCollection(a MCHttpRepository(http://www.squeaksource.com/Spee...etc... Receiver's instance variables: spec: a MetacelloMCVersionSpecLoader operator: nil loaderPolicy: a MetacelloLoaderPolicy disablePackageCache: false
MetacelloMCVersionSpecLoader>>load Receiver: a MetacelloMCVersionSpecLoader Arguments and temporary variables: mcLoader: a MetacelloFetchingMCSpecLoader(linear load : 1.2 [ConfigurationOfVMM...etc... Receiver's instance variables: versionSpec: spec blessing: #'development'. spec preLoadDoIt: #'pharoUndescoreA...etc... required: a Set('FreeType' 'default') packages: a Dictionary('Alien-VMMaker-Support'->spec name: 'Alien-VMMaker-Sup...etc... loader: a MetacelloFetchingMCSpecLoader(linear load : 1.2 [ConfigurationOfVMMak...etc... loaderPolicy: a MetacelloLoaderPolicy
MetacelloMCVersion>>executeLoadFromArray: Receiver: >=1.2 [ConfigurationOfVMMaker] Arguments and temporary variables: anArray: a Set('FreeType' 'default') loader: a MetacelloMCVersionSpecLoader mcLoader: nil Receiver's instance variables: spec: spec blessing: #'development'. spec preLoadDoIt: #'pharoUndescoreAssignme...etc... versionNumber: 1.2 importedVersions: an OrderedCollection('1.2-baseline') versionStatus: #loadedMatchConstraints loaderPolicy: a MetacelloLoaderPolicy
[:dict | ^ self executeLoadFromArray: anArray] in [self versionSpec loader: newLoader. MetacelloPlatform current useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray] defaultDictionary: Dictionary new] in [[self versionSpec loader: newLoader. MetacelloPlatform current useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray] defaultDictionary: Dictionary new] ensure: [self versionSpec loader: originalLoader]] in MetacelloMCVersion>>fetchRequiredFromArray: Receiver: >=1.2 [ConfigurationOfVMMaker] Arguments and temporary variables: anArray: a Dictionary(#ancestors->a Dictionary('Alien-VMMaker-Support-John M Mc...etc... dict: a Set('FreeType' 'default') Receiver's instance variables: spec: spec blessing: #'development'. spec preLoadDoIt: #'pharoUndescoreAssignme...etc... versionNumber: 1.2 importedVersions: an OrderedCollection('1.2-baseline') versionStatus: #loadedMatchConstraints loaderPolicy: a MetacelloLoaderPolicy
[^ aBlock value: dict] in
MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
Receiver: a MetacelloPharoPlatform Arguments and temporary variables: aBlock: [:dict | ^ self executeLoadFromArray:
anArray]
dict: a Dictionary(#ancestors->a Dictionary('Alien-VMMaker-Support-John M McInt...etc... Receiver's instance variables: bypassProgressBars: false bypassGoferLoadUpdateCategories: false
BlockClosure>>on:do: Receiver: [^ aBlock value: dict] Arguments and temporary variables: exception: an ExceptionSet handlerAction: [:ex | | keys | (ex isKindOf: MetacelloStackCacheNotification) ...etc... handlerActive: true Receiver's instance variables: outerContext:
MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:de...etc...
startpc: 100 numArgs: 0
MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
Receiver: a MetacelloPharoPlatform Arguments and temporary variables: aBlock: [:dict | ^ self executeLoadFromArray:
anArray]
defaultDictionary: a Dictionary(#ancestors->a Dictionary('Alien-VMMaker-Support...etc... dict: a Dictionary(#ancestors->a Dictionary('Alien-VMMaker-Support-John M McInt...etc... Receiver's instance variables: bypassProgressBars: false bypassGoferLoadUpdateCategories: false
[self versionSpec loader: newLoader. MetacelloPlatform current useStackCacheDuring: [:dict | ^ self
executeLoadFromArray: anArray]
defaultDictionary: Dictionary new] in [[self
versionSpec loader: newLoader.
MetacelloPlatform current useStackCacheDuring: [:dict | ^ self
executeLoadFromArray: anArray]
defaultDictionary: Dictionary new] ensure: [self versionSpec loader: originalLoader]] in MetacelloMCVersion>>fetchRequiredFromArray: Receiver: >=1.2 [ConfigurationOfVMMaker] Arguments and temporary variables: anArray: a Set('FreeType' 'default') newLoader: a MetacelloFetchingMCSpecLoader(linear
load : )
Receiver's instance variables: spec: spec blessing: #'development'. spec preLoadDoIt: #'pharoUndescoreAssignme...etc... versionNumber: 1.2 importedVersions: an
OrderedCollection('1.2-baseline')
versionStatus: #loadedMatchConstraints loaderPolicy: a MetacelloLoaderPolicy
--- The full stack --- MetacelloFetchingMCSpecLoader(Object)>>error:
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>retryingResolvePackageSpecReferences:gofer:
[| references nearestReference cachedReference externalReference loadedVersionInfos mcVersion | self flag: #cleanup. cachedReference := self resolvePackageSpec: packageSpec cachedGofer: self loaderPolicy cacheGofer. (cachedReference ~~ nil and: [packageSpec getFile ~~ nil]) ifTrue: [cachedReference name = packageSpec file ifTrue: [^ self]]. references := self retryingResolvePackageSpecReferences: packageSpec gofer: gofer. nearestReference := references last asMetacelloCachingResolvedReference. (cachedReference ~~ nil and: [cachedReference name = nearestReference name]) ifTrue: [^ self]. (self ignoreImage not and: [(loadedVersionInfos := self ancestorsFor: packageSpec) ~~ nil]) ifTrue: [loadedVersionInfos do: [:info | info name = nearestReference name ifTrue: [^ self]. nil]]. externalReference := (references select: [:ref | ref name = nearestReference name]) first asMetacelloCachingResolvedReference. self repositoryMap at: externalReference name put: externalReference repository. (self resolveDependencies: externalReference nearest: nearestReference into: (OrderedCollection with: nearestReference)) do: [:reference | | pSpec l | mcVersion := reference version. (l := (GoferVersionReference name: reference name) resolveAllWith: self loaderPolicy cacheGofer) isEmpty ifTrue: [self cacheRepository storeVersion: mcVersion. reference == nearestReference ifTrue: [pSpec := packageSpec] ifFalse: [pSpec := packageSpec project packageSpec. pSpec name: mcVersion info]. self loadData addVersion: mcVersion versionInfo: mcVersion info resolvedReference: reference packageSpec: pSpec]]. self loaderPolicy resetCacheGofer. self preLoad: packageSpec. (MetacelloDirective loadPackage: packageSpec externalReference: externalReference loader: self) addTo: self loadDirective. self postLoad: packageSpec. Transcript cr; show: 'Fetched -> ' , externalReference name , ' --- ' , externalReference repository description , ' --- ' , nearestReference repository description] in MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer: [:bar | bar value: 1. aBlock value. bar value: 2] in MetacelloPharoPlatform>>do:displaying: [result := workBlock value: progress] in [[result := workBlock value: progress] on: ProgressNotification do: [:ex | ex extraParam isString ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam]. ex resume]] in ProgressInitiationException>>defaultMorphicAction BlockClosure>>on:do: [[result := workBlock value: progress] on: ProgressNotification do: [:ex | ex extraParam isString ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam]. ex resume]] in ProgressInitiationException>>defaultMorphicAction BlockClosure>>ensure: ProgressInitiationException>>defaultMorphicAction MorphicUIManager>>progressInitiationExceptionDefaultAction: 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: MetacelloPharoPlatform>>do:displaying: MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer: MetacelloPackageSpec>>loadUsing:gofer: [:pkg | pkg loadUsing: self gofer: gofer] in
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
OrderedCollection>>do:
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
[super linearLoadPackageSpecs: packageSpecs repositories: repositories] in MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories: BlockClosure>>ensure: MetacelloLoaderPolicy>>pushLoadDirective:during: MetacelloLoaderPolicy>>pushLinearLoadDirectivesDuring:for: MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories: MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>load MetacelloMCVersionSpecLoader>>load MetacelloMCVersion>>executeLoadFromArray: [:dict | ^ self executeLoadFromArray: anArray] in [self versionSpec loader: newLoader. MetacelloPlatform current useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray] defaultDictionary: Dictionary new] in [[self versionSpec loader: newLoader. MetacelloPlatform current useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray] defaultDictionary: Dictionary new] ensure: [self versionSpec loader: originalLoader]] in MetacelloMCVersion>>fetchRequiredFromArray: [^ aBlock value: dict] in
MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
BlockClosure>>on:do:
MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
[self versionSpec loader: newLoader. MetacelloPlatform current useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray] defaultDictionary: Dictionary new] in [[self versionSpec loader: newLoader. MetacelloPlatform current useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray] defaultDictionary: Dictionary new] ensure: [self versionSpec loader: originalLoader]] in MetacelloMCVersion>>fetchRequiredFromArray: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BlockClosure>>ensure: [[self versionSpec loader: newLoader. MetacelloPlatform current useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray] defaultDictionary: Dictionary new] ensure: [self versionSpec loader: originalLoader]] in MetacelloMCVersion>>fetchRequiredFromArray: [:bar | bar value: 1. aBlock value. bar value: 2] in MetacelloPharoPlatform>>do:displaying: [result := workBlock value: progress] in [[result := workBlock value: progress] on: ProgressNotification do: [:ex | ex extraParam isString ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam]. ex resume]] in ProgressInitiationException>>defaultMorphicAction BlockClosure>>on:do: [[result := workBlock value: progress] on: ProgressNotification do: [:ex | ex extraParam isString ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam]. ex resume]] in ProgressInitiationException>>defaultMorphicAction BlockClosure>>ensure: ProgressInitiationException>>defaultMorphicAction MorphicUIManager>>progressInitiationExceptionDefaultAction: ProgressInitiationException>>defaultAction UndefinedObject>>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: MetacelloPharoPlatform>>do:displaying: MetacelloMCVersion>>fetchRequiredFromArray: [| fetchLoader | fetchLoader := self fetchRequiredFromArray: (self defaultPackageNamesToLoad: anArray). MetacelloPlatform current do: [fetchLoader doLoad] displaying: 'Loading ' , displayString. Transcript cr; show: '...finished ' , self versionNumber printString. ^ fetchLoader] in MetacelloMCVersion>>doLoadRequiredFromArray: BlockClosure>>ensure: MetacelloMCVersion>>doLoadRequiredFromArray: MetacelloMCVersion>>load UndefinedObject>>DoIt Compiler>>evaluate:in:to:notifying:ifFail:logged: [rcvr class evaluatorClass new evaluate: self selectionForDoitAsStream in: ctxt to: rcvr notifying: self morph ifFail: [self morph flash. ^ nil] logged: true] in SmalltalkEditor>>evaluateSelectionAndDo: BlockClosure>>on:do: SmalltalkEditor>>evaluateSelectionAndDo: SmalltalkEditor>>evaluateSelection SmalltalkEditor>>doIt SmalltalkEditor>>doIt: SmalltalkEditor(TextEditor)>>performCmdActionsWith:shifted:return: SmalltalkEditor(TextEditor)>>dispatchCommandOn:return: SmalltalkEditor(TextEditor)>>dispatchOn: [self dispatchOn: aKeyboardEvent] in SmalltalkEditor(TextEditor)>>keystroke: SmalltalkEditor(TextEditor)>>handleKeystrokeAction: SmalltalkEditor(TextEditor)>>handleEditionAction:fromKeyboardEvent: SmalltalkEditor(TextEditor)>>keystroke: [editor keystroke: evt] in [| action | evt keyValue = 13 ifTrue: [action := self crAction. action ifNotNil: [evt hand newKeyboardFocus: nil. ^ action value]]. self handleInteraction: [editor keystroke: evt]. self updateFromParagraph. super keyStroke: evt] in TextMorphForEditView(TextMorph)>>keyStroke: TextMorphForEditView(TextMorph)>>handleInteraction: TextMorphForEditView>>handleInteraction: [| action | evt keyValue = 13 ifTrue: [action := self crAction. action ifNotNil: [evt hand newKeyboardFocus: nil. ^ action value]]. self handleInteraction: [editor keystroke: evt]. self updateFromParagraph. super keyStroke: evt] in TextMorphForEditView(TextMorph)>>keyStroke: ToolRegistry>>codeCompletionAround:textMorph:keyStroke: SmalltalkEditor>>codeCompletionAround:textMorph:keyStroke: TextMorphForEditView(TextMorph)>>keyStroke: TextMorphForEditView>>keyStroke: TextMorphForEditView(TextMorph)>>handleKeystroke: KeyboardEvent>>sentTo: TextMorphForEditView(Morph)>>handleEvent: TextMorphForEditView(Morph)>>handleFocusEvent: [ActiveHand := self. ActiveEvent := anEvent. result := focusHolder handleFocusEvent: (anEvent transformedBy: (focusHolder transformedFrom: self))] in HandMorph>>sendFocusEvent:to:clear: [aBlock value] in PasteUpMorph>>becomeActiveDuring: BlockClosure>>on:do: PasteUpMorph>>becomeActiveDuring: HandMorph>>sendFocusEvent:to:clear: HandMorph>>sendEvent:focus:clear: HandMorph>>sendKeyboardEvent: HandMorph>>handleEvent: HandMorph>>processEvents [:h | ActiveHand := h. h processEvents. ActiveHand := nil] in WorldState>>doOneCycleNowFor: Array(SequenceableCollection)>>do: WorldState>>handsDo: WorldState>>doOneCycleNowFor: WorldState>>doOneCycleFor: PasteUpMorph>>doOneCycle [[World doOneCycle. Processor yield. false] whileFalse. nil] in MorphicUIManager>>spawnNewProcess [self value. Processor terminateActive] in BlockClosure>>newProcess
2012/1/29 Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com>:
2012/1/29 dimitris chloupis <thekilon@yahoo.co.uk>:
I am not accusing you or anything , I know writing documentation can be both hard and boring. And if I can help to make it simpler I will.
Sure, but sometimes adding a link or two in the right place would help...
Back to building , followed your instruction and
" Gofer new squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfVMMaker'; load. (Smalltalk at: #ConfigurationOfVMMaker) perform: #load."
gives me the following error
Ah, my incantation does not work, it's more something like this:
Gofer new squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfVMMaker'; load. ((Smalltalk at: #ConfigurationOfVMMaker) project perform: #latestVersion) perform: #load.
Then I have same error as you... It seems like http://source.impara.de/freetype/Freetype-Plugin-John M McIntosh.55.mcz is accessible though... So here, I don't know...
Nicolas
29 January 2012 11:56:20 am
VM: Mac OS - intel - 1072 - NBCoInterpreter NativeBoost-CogPlugin-IgorStasenko.8 uuid: f47ef546-de3d-4415-850e-6437d67bfb5c Dec 11 2011, StackToRegisterMappingCogit VMMaker-oscog-EstebanLorenzano.139 uuid: 5aa53979-d7d8-4ca3-91fe-cfc3b4109c33 Dec 11 2011, https://git.gitorious.org/cogvm/blessed.git Commit: 364a7f1fab69798c1bdc9575ba15e18ea319585a Date: Sun Dec 11 15:17:52
2011
-0300 By: Esteban Lorenzano <estebanlm@gmail.com> Image: Pharo1.4a [Latest update: #14284]
UndefinedObject(Object)>>doesNotUnderstand: #readStream Receiver: nil Arguments and temporary variables: aMessage: readStream exception: MessageNotUnderstood: receiver of "readStream" is nil resumeValue: nil Receiver's instance variables: nil
MCScanner class>>scanTokens: Receiver: MCScanner Arguments and temporary variables: aString: nil Receiver's instance variables: superclass: Object methodDict: a MethodDictionary(#next->(MCScanner>>#next "a CompiledMethod(84410...etc... format: 132 instanceVariables: #('stream') organization: ('as yet unclassified' next nextArray nextString nextSymbol strea...etc... subclasses: nil name: #MCScanner classPool: nil sharedPools: nil environment: a SystemDictionary(lots of globals) category: #'Monticello-Chunk Format' traitComposition: {} localSelectors: nil
MCMczReader>>parseMember: Receiver: a MCMczReader Arguments and temporary variables: fileName: 'package' tokens: nil Receiver's instance variables: stream: a ReadStream package: nil info: nil definitions: nil dependencies: nil zip: a ZipArchive infoCache: nil
MCMczReader>>loadPackage Receiver: a MCMczReader Arguments and temporary variables: dict: nil Receiver's instance variables: stream: a ReadStream package: nil info: nil definitions: nil dependencies: nil zip: a ZipArchive infoCache: nil
MCMczReader(MCVersionReader)>>package Receiver: a MCMczReader Arguments and temporary variables:
Receiver's instance variables: stream: a ReadStream package: nil info: nil definitions: nil dependencies: nil zip: a ZipArchive infoCache: nil
MCMczReader(MCVersionReader)>>basicVersion Receiver: a MCMczReader Arguments and temporary variables:
Receiver's instance variables: stream: a ReadStream package: nil info: nil definitions: nil dependencies: nil zip: a ZipArchive infoCache: nil
MCMczReader(MCVersionReader)>>version Receiver: a MCMczReader Arguments and temporary variables:
Receiver's instance variables: stream: a ReadStream package: nil info: nil definitions: nil dependencies: nil zip: a ZipArchive infoCache: nil
[:r | r version] in MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed: Receiver: a MCHttpRepository(http://source.impara.de/freetype) Arguments and temporary variables: r: a MCMczReader Receiver's instance variables: creationTemplate: nil storeDiffs: nil cache: nil allFileNames: nil location: 'http://source.impara.de/freetype' user: '' password: '' readerCache: a Dictionary('Freetype-Plugin-John M McIntosh.55.mcz'->a MCMczRead...etc...
BlockClosure>>cull: Receiver: [:r | r version] Arguments and temporary variables: anArg: a MCMczReader Receiver's instance variables: outerContext:
MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed...etc...
startpc: 27 numArgs: 1
MCMczReader(ProtoObject)>>ifNotNil: Receiver: a MCMczReader Arguments and temporary variables: ifNotNilBlock: [:r | r version] Receiver's instance variables: stream: a ReadStream package: nil info: nil definitions: nil dependencies: nil zip: a ZipArchive infoCache: nil
MCHttpRepository>>versionReaderForFileNamed:do: Receiver: a MCHttpRepository(http://source.impara.de/freetype) Arguments and temporary variables: aString: 'Freetype-Plugin-John M McIntosh.55.mcz' aBlock: [:r | r version] Receiver's instance variables: creationTemplate: nil storeDiffs: nil cache: nil allFileNames: nil location: 'http://source.impara.de/freetype' user: '' password: '' readerCache: a Dictionary('Freetype-Plugin-John M McIntosh.55.mcz'->a MCMczRead...etc...
MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed: Receiver: a MCHttpRepository(http://source.impara.de/freetype) Arguments and temporary variables: aString: 'Freetype-Plugin-John M McIntosh.55.mcz' Receiver's instance variables: creationTemplate: nil storeDiffs: nil cache: nil allFileNames: nil location: 'http://source.impara.de/freetype' user: '' password: '' readerCache: a Dictionary('Freetype-Plugin-John M McIntosh.55.mcz'->a MCMczRead...etc...
MCHttpRepository(MCFileBasedRepository)>>goferVersionFrom: Receiver: a MCHttpRepository(http://source.impara.de/freetype) Arguments and temporary variables: aVersionReference: a MetacelloCachingGoferResolvedReference name: 'Freetype-Plu...etc... Receiver's instance variables: creationTemplate: nil storeDiffs: nil cache: nil allFileNames: nil location: 'http://source.impara.de/freetype' user: '' password: '' readerCache: a Dictionary('Freetype-Plugin-John M McIntosh.55.mcz'->a MCMczRead...etc...
MetacelloCachingGoferResolvedReference(GoferResolvedReference)>>version
Receiver: a MetacelloCachingGoferResolvedReference name: 'Freetype-Plugin-John M McIntosh.55' Arguments and temporary variables:
Receiver's instance variables: name: 'Freetype-Plugin-John M McIntosh.55' package: 'Freetype-Plugin' author: 'John M McIntosh' branch: '' versionNumber: 55 repository: a MCHttpRepository(http://source.impara.de/freetype) cachedVersion: nil
MetacelloCachingGoferResolvedReference>>version Receiver: a MetacelloCachingGoferResolvedReference name: 'Freetype-Plugin-John M McIntosh.55' Arguments and temporary variables:
Receiver's instance variables: name: 'Freetype-Plugin-John M McIntosh.55' package: 'Freetype-Plugin' author: 'John M McIntosh' branch: '' versionNumber: 55 repository: a MCHttpRepository(http://source.impara.de/freetype) cachedVersion: nil
[:each | each version] in [aCollection do: [:each | each version]. nearestReference version dependencies do: block. notDone := false] in MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into: Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.3 [ConfigurationOfVMMaker] load : FFI-Poo...etc... Arguments and temporary variables: each: a MetacelloCachingGoferResolvedReference name: 'Freetype-Plugin-John M Mc...etc... Receiver's instance variables: spec: a MetacelloMCVersionSpecLoader operator: nil loaderPolicy: a MetacelloLoaderPolicy disablePackageCache: false
OrderedCollection>>do: Receiver: an OrderedCollection(a MetacelloCachingGoferResolvedReference name: 'Freetype-Plugin-John ...etc... Arguments and temporary variables: aBlock: [:each | each version] index: 1 Receiver's instance variables: array: an Array(a MetacelloCachingGoferResolvedReference name: 'Freetype-Plugin...etc... firstIndex: 1 lastIndex: 1
[aCollection do: [:each | each version]. nearestReference version dependencies do: block. notDone := false] in MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into: Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.3 [ConfigurationOfVMMaker] load : FFI-Poo...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: spec: a MetacelloMCVersionSpecLoader operator: nil loaderPolicy: a MetacelloLoaderPolicy disablePackageCache: false
BlockClosure>>on:do: Receiver: [aCollection do: [:each | each version]. nearestReference version dependencies do: bloc...etc... Arguments and temporary variables: exception: Error handlerAction: [:ex | retryCount := retryCount + 1. retryCount >= 3 ifTrue:...etc... handlerActive: false Receiver's instance variables: outerContext: MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into: startpc: 226 numArgs: 0
MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into: Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.3 [ConfigurationOfVMMaker] load : FFI-Poo...etc... Arguments and temporary variables: <<error during printing> Receiver's instance variables: spec: a MetacelloMCVersionSpecLoader operator: nil loaderPolicy: a MetacelloLoaderPolicy disablePackageCache: false
[| references nearestReference cachedReference externalReference loadedVersionInfos mcVersion | self flag: #cleanup. cachedReference := self resolvePackageSpec: packageSpec cachedGofer: self loaderPolicy cacheGofer. (cachedReference ~~ nil and: [packageSpec getFile ~~ nil]) ifTrue: [cachedReference name = packageSpec file ifTrue: [^ self]]. references := self retryingResolvePackageSpecReferences: packageSpec gofer: gofer. nearestReference := references last asMetacelloCachingResolvedReference. (cachedReference ~~ nil and: [cachedReference name = nearestReference name]) ifTrue: [^ self]. (self ignoreImage not and: [(loadedVersionInfos := self ancestorsFor: packageSpec) ~~ nil]) ifTrue: [loadedVersionInfos do: [:info | info name = nearestReference name ifTrue: [^ self]. nil]]. externalReference := (references select: [:ref | ref name = nearestReference name]) first asMetacelloCachingResolvedReference. self repositoryMap at: externalReference name put: externalReference repository. (self resolveDependencies: externalReference nearest: nearestReference into: (OrderedCollection with: nearestReference)) do: [:reference | | pSpec l | mcVersion := reference version. (l := (GoferVersionReference name: reference name) resolveAllWith: self loaderPolicy cacheGofer) isEmpty ifTrue: [self cacheRepository storeVersion: mcVersion. reference == nearestReference ifTrue: [pSpec := packageSpec] ifFalse: [pSpec := packageSpec project packageSpec. pSpec name: mcVersion info]. self loadData addVersion: mcVersion versionInfo: mcVersion info resolvedReference: reference packageSpec: pSpec]]. self loaderPolicy resetCacheGofer. self preLoad: packageSpec. (MetacelloDirective loadPackage: packageSpec externalReference: externalReference loader: self) addTo: self loadDirective. self postLoad: packageSpec. Transcript cr; show: 'Fetched -> ' , externalReference name , ' --- ' , externalReference repository description , ' --- ' , nearestReference repository description] in MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer: Receiver: a MetacelloFetchingMCSpecLoader(linear load : 1.3 [ConfigurationOfVMMaker] load : FFI-Poo...etc... Arguments and temporary variables: packageSpec: spec name: 'Freetype-Plugin'; requires: #('VMMaker' ); file: '...etc... gofer: a MetacelloGofer references: an Array(a GoferResolvedReference name: 'Freetype-Plugin-John M McI...etc... nearestReference: a MetacelloCachingGoferResolvedReference name: 'Freetype-Plug...etc... cachedReference: nil externalReference: a MetacelloCachingGoferResolvedReference name: 'Freetype-Plu...etc... loadedVersionInfos: nil mcVersion: #(nil) Receiver's instance variables: spec: a MetacelloMCVersionSpecLoader operator: nil loaderPolicy: a MetacelloLoaderPolicy disablePackageCache: false
[:bar | bar value: 1. aBlock value. bar value: 2] in MetacelloPharoPlatform>>do:displaying: Receiver: a MetacelloPharoPlatform Arguments and temporary variables: aBlock: [:barValArg | | barVal return newBarSize | barVal := barValArg. retur...etc... bar: [| references nearestReference cachedReference externalReference loadedVer...etc... Receiver's instance variables: bypassProgressBars: false bypassGoferLoadUpdateCategories: false
[result := workBlock value: progress] in [[result := workBlock value: progress] on: ProgressNotification do: [:ex | ex extraParam isString ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam]. ex resume]] in ProgressInitiationException>>defaultMorphicAction Receiver: ProgressInitiationException Arguments and temporary variables: progress: [:barValArg | | barVal return newBarSize | barVal := barValArg. ret...etc... result: #(nil) Receiver's instance variables: messageText: nil tag: nil signaler: 'Fetching Freetype-Plugin-John M McIntosh.55' signalContext: ProgressInitiationException(Exception)>>signal handlerContext: nil outerContext: nil workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] maxVal: 2 minVal: 0 aPoint: (635@231) progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
BlockClosure>>on:do: Receiver: [result := workBlock value: progress] Arguments and temporary variables: exception: ProgressNotification handlerAction: [:ex | ex extraParam isString ifTrue: [SystemProgressMorph un...etc... handlerActive: true Receiver's instance variables: outerContext: [[result := workBlock value: progress] on: ProgressNotification...etc... startpc: 87 numArgs: 0
[[result := workBlock value: progress] on: ProgressNotification do: [:ex | ex extraParam isString ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam]. ex resume]] in ProgressInitiationException>>defaultMorphicAction Receiver: ProgressInitiationException Arguments and temporary variables: progress: [:barValArg | | barVal return newBarSize | barVal := barValArg. ret...etc... result: #(nil) Receiver's instance variables: messageText: nil tag: nil signaler: 'Fetching Freetype-Plugin-John M McIntosh.55' signalContext: ProgressInitiationException(Exception)>>signal handlerContext: nil outerContext: nil workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] maxVal: 2 minVal: 0 aPoint: (635@231) progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
BlockClosure>>ensure: Receiver: [[result := workBlock value: progress] on: ProgressNotification do: [:ex | ex extr...etc... Arguments and temporary variables: aBlock: [SystemProgressMorph close: progress] complete: nil returnValue: nil Receiver's instance variables: outerContext: ProgressInitiationException>>defaultMorphicAction startpc: 81 numArgs: 0
ProgressInitiationException>>defaultMorphicAction Receiver: ProgressInitiationException Arguments and temporary variables: progress: [:barValArg | | barVal return newBarSize | barVal := barValArg. ret...etc... result: #(nil) Receiver's instance variables: messageText: nil tag: nil signaler: 'Fetching Freetype-Plugin-John M McIntosh.55' signalContext: ProgressInitiationException(Exception)>>signal handlerContext: nil outerContext: nil workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] maxVal: 2 minVal: 0 aPoint: (635@231) progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
MorphicUIManager>>progressInitiationExceptionDefaultAction: Receiver: a MorphicUIManager Arguments and temporary variables: anException: ProgressInitiationException Receiver's instance variables: interactiveParser: nil
ProgressInitiationException>>defaultAction Receiver: ProgressInitiationException Arguments and temporary variables:
Receiver's instance variables: messageText: nil tag: nil signaler: 'Fetching Freetype-Plugin-John M McIntosh.55' signalContext: ProgressInitiationException(Exception)>>signal handlerContext: nil outerContext: nil workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] maxVal: 2 minVal: 0 aPoint: (635@231) progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
UndefinedObject>>handleSignal: Receiver: nil Arguments and temporary variables: exception: ProgressInitiationException Receiver's instance variables: nil
MethodContext(ContextPart)>>handleSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: ProgressInitiationException val: nil Receiver's instance variables: sender: PasteUpMorph>>becomeActiveDuring: pc: 17 stackp: 3 method: (BlockClosure>>#on:do: "a CompiledMethod(869793792)") closureOrNil: nil receiver: [aBlock value]
MethodContext(ContextPart)>>handleSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: ProgressInitiationException val: nil Receiver's instance variables: sender: SmalltalkEditor>>evaluateSelectionAndDo: pc: 17 stackp: 3 method: (BlockClosure>>#on:do: "a CompiledMethod(869793792)") closureOrNil: nil receiver: [rcvr class evaluatorClass new evaluate: self selectionForDoitAsStr...etc...
MethodContext(ContextPart)>>handleSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: ProgressInitiationException val: nil Receiver's instance variables: sender: [[result := workBlock value: progress] on: ProgressNotification do:...etc... pc: 17 stackp: 3 method: (BlockClosure>>#on:do: "a CompiledMethod(869793792)") closureOrNil: nil receiver: [result := workBlock value: progress]
MethodContext(ContextPart)>>handleSignal: Receiver: BlockClosure>>on:do: Arguments and temporary variables: exception: ProgressInitiationException val: nil Receiver's instance variables: sender:
MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultD...etc...
pc: 17 stackp: 3 method: (BlockClosure>>#on:do: "a CompiledMethod(869793792)") closureOrNil: nil receiver: [^ aBlock value: dict]
ProgressInitiationException(Exception)>>signal Receiver: ProgressInitiationException Arguments and temporary variables:
Receiver's instance variables: messageText: nil tag: nil signaler: 'Fetching Freetype-Plugin-John M McIntosh.55' signalContext: ProgressInitiationException(Exception)>>signal handlerContext: nil outerContext: nil workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] maxVal: 2 minVal: 0 aPoint: (635@231) progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
ProgressInitiationException>>display:at:from:to:during: Receiver: ProgressInitiationException Arguments and temporary variables: argString: 'Fetching Freetype-Plugin-John M McIntosh.55' argPoint: (635@231) argMinVal: 0 argMaxVal: 2 argWorkBlock: [:bar | bar value: 1. aBlock value. bar value: 2] Receiver's instance variables: messageText: nil tag: nil signaler: 'Fetching Freetype-Plugin-John M McIntosh.55' signalContext: ProgressInitiationException(Exception)>>signal handlerContext: nil outerContext: nil workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] maxVal: 2 minVal: 0 aPoint: (635@231) progressTitle: 'Fetching Freetype-Plugin-John M McIntosh.55'
ProgressInitiationException class>>display:at:from:to:during: Receiver: ProgressInitiationException Arguments and temporary variables: aString: 'Fetching Freetype-Plugin-John M McIntosh.55' aPoint: (635@231) minVal: 0 maxVal: 2 workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] Receiver's instance variables: superclass: Exception methodDict: a
MethodDictionary(#defaultAction->(ProgressInitiationException>>#d...etc...
format: 152 instanceVariables: #('workBlock' 'maxVal' 'minVal' 'aPoint' 'progressTitle') organization: ('*Morphic' defaultMorphicAction) ('accessing' maxVal minVal poin...etc... subclasses: nil name: #ProgressInitiationException classPool: nil sharedPools: nil environment: a SystemDictionary(lots of globals) category: #'UIManager-Support' traitComposition: nil localSelectors: nil
ByteString(String)>>displayProgressAt:from:to:during: Receiver: 'Fetching Freetype-Plugin-John M McIntosh.55' Arguments and temporary variables: aPoint: (635@231) minVal: 0 maxVal: 2 workBlock: [:bar | bar value: 1. aBlock value. bar value: 2] Receiver's instance variables: 'Fetching Freetype-Plugin-John M McIntosh.55'
MetacelloPharoPlatform>>do:displaying: Receiver: a MetacelloPharoPlatform Arguments and temporary variables: aBlock: [| references nearestReference cachedReference externalReference loaded...etc... aString: 'Fetching Freetype-Plugin-John M McIntosh.55' Receiver's instance variables: bypassProgressBars: false bypassGoferLoadUpdateCategories: false
--- The full stack --- UndefinedObject(Object)>>doesNotUnderstand: #readStream MCScanner class>>scanTokens: MCMczReader>>parseMember: MCMczReader>>loadPackage MCMczReader(MCVersionReader)>>package MCMczReader(MCVersionReader)>>basicVersion MCMczReader(MCVersionReader)>>version [:r | r version] in MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed: BlockClosure>>cull: MCMczReader(ProtoObject)>>ifNotNil: MCHttpRepository>>versionReaderForFileNamed:do: MCHttpRepository(MCFileBasedRepository)>>loadVersionFromFileNamed: MCHttpRepository(MCFileBasedRepository)>>goferVersionFrom:
MetacelloCachingGoferResolvedReference(GoferResolvedReference)>>version
MetacelloCachingGoferResolvedReference>>version [:each | each version] in [aCollection do: [:each | each version]. nearestReference version dependencies do: block. notDone := false] in MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into: OrderedCollection>>do: [aCollection do: [:each | each version]. nearestReference version dependencies do: block. notDone := false] in MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into: BlockClosure>>on:do: MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into: [| references nearestReference cachedReference externalReference loadedVersionInfos mcVersion | self flag: #cleanup. cachedReference := self resolvePackageSpec: packageSpec cachedGofer: self loaderPolicy cacheGofer. (cachedReference ~~ nil and: [packageSpec getFile ~~ nil]) ifTrue: [cachedReference name = packageSpec file ifTrue: [^ self]]. references := self retryingResolvePackageSpecReferences: packageSpec gofer: gofer. nearestReference := references last asMetacelloCachingResolvedReference. (cachedReference ~~ nil and: [cachedReference name = nearestReference name]) ifTrue: [^ self]. (self ignoreImage not and: [(loadedVersionInfos := self ancestorsFor: packageSpec) ~~ nil]) ifTrue: [loadedVersionInfos do: [:info | info name = nearestReference name ifTrue: [^ self]. nil]]. externalReference := (references select: [:ref | ref name = nearestReference name]) first asMetacelloCachingResolvedReference. self repositoryMap at: externalReference name put: externalReference repository. (self resolveDependencies: externalReference nearest: nearestReference into: (OrderedCollection with: nearestReference)) do: [:reference | | pSpec l | mcVersion := reference version. (l := (GoferVersionReference name: reference name) resolveAllWith: self loaderPolicy cacheGofer) isEmpty ifTrue: [self cacheRepository storeVersion: mcVersion. reference == nearestReference ifTrue: [pSpec := packageSpec] ifFalse: [pSpec := packageSpec project packageSpec. pSpec name: mcVersion info]. self loadData addVersion: mcVersion versionInfo: mcVersion info resolvedReference: reference packageSpec: pSpec]]. self loaderPolicy resetCacheGofer. self preLoad: packageSpec. (MetacelloDirective loadPackage: packageSpec externalReference: externalReference loader: self) addTo: self loadDirective. self postLoad: packageSpec. Transcript cr; show: 'Fetched -> ' , externalReference name , ' --- ' , externalReference repository description , ' --- ' , nearestReference repository description] in MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer: [:bar | bar value: 1. aBlock value. bar value: 2] in MetacelloPharoPlatform>>do:displaying: [result := workBlock value: progress] in [[result := workBlock value: progress] on: ProgressNotification do: [:ex | ex extraParam isString ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam]. ex resume]] in ProgressInitiationException>>defaultMorphicAction BlockClosure>>on:do: [[result := workBlock value: progress] on: ProgressNotification do: [:ex | ex extraParam isString ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam]. ex resume]] in ProgressInitiationException>>defaultMorphicAction BlockClosure>>ensure: ProgressInitiationException>>defaultMorphicAction MorphicUIManager>>progressInitiationExceptionDefaultAction: 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: MetacelloPharoPlatform>>do:displaying: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer: MetacelloPackageSpec>>loadUsing:gofer: [:pkg | pkg loadUsing: self gofer: gofer] in
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
OrderedCollection>>do:
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
[super linearLoadPackageSpecs: packageSpecs repositories: repositories] in MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories: BlockClosure>>ensure: MetacelloLoaderPolicy>>pushLoadDirective:during: MetacelloLoaderPolicy>>pushLinearLoadDirectivesDuring:for: MetacelloFetchingMCSpecLoader>>linearLoadPackageSpecs:repositories: MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>load MetacelloMCVersionSpecLoader>>load MetacelloMCVersion>>executeLoadFromArray: [:dict | ^ self executeLoadFromArray: anArray] in [self versionSpec loader: newLoader. MetacelloPlatform current useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray] defaultDictionary: Dictionary new] in [[self versionSpec loader: newLoader. MetacelloPlatform current useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray] defaultDictionary: Dictionary new] ensure: [self versionSpec loader: originalLoader]] in MetacelloMCVersion>>fetchRequiredFromArray: [^ aBlock value: dict] in
MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
BlockClosure>>on:do:
MetacelloPharoPlatform(MetacelloPlatform)>>useStackCacheDuring:defaultDictionary:
[self versionSpec loader: newLoader. MetacelloPlatform current useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray] defaultDictionary: Dictionary new] in [[self versionSpec loader: newLoader. MetacelloPlatform current useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray] defaultDictionary: Dictionary new] ensure: [self versionSpec loader: originalLoader]] in MetacelloMCVersion>>fetchRequiredFromArray: BlockClosure>>ensure: [[self versionSpec loader: newLoader. MetacelloPlatform current useStackCacheDuring: [:dict | ^ self executeLoadFromArray: anArray] defaultDictionary: Dictionary new] ensure: [self versionSpec loader: originalLoader]] in MetacelloMCVersion>>fetchRequiredFromArray: [:bar | bar value: 1. aBlock value. bar value: 2] in MetacelloPharoPlatform>>do:displaying: [result := workBlock value: progress] in [[result := workBlock value: progress] on: ProgressNotification do: [:ex | ex extraParam isString ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam]. ex resume]] in ProgressInitiationException>>defaultMorphicAction BlockClosure>>on:do: [[result := workBlock value: progress] on: ProgressNotification do: [:ex | ex extraParam isString ifTrue: [SystemProgressMorph uniqueInstance labelAt: progress put: ex extraParam]. ex resume]] in ProgressInitiationException>>defaultMorphicAction BlockClosure>>ensure: ProgressInitiationException>>defaultMorphicAction MorphicUIManager>>progressInitiationExceptionDefaultAction: ProgressInitiationException>>defaultAction UndefinedObject>>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: MetacelloPharoPlatform>>do:displaying: MetacelloMCVersion>>fetchRequiredFromArray: [| fetchLoader | fetchLoader := self fetchRequiredFromArray: (self defaultPackageNamesToLoad: anArray). MetacelloPlatform current do: [fetchLoader doLoad] displaying: 'Loading ' , displayString. Transcript cr; show: '...finished ' , self versionNumber printString. ^ fetchLoader] in MetacelloMCVersion>>doLoadRequiredFromArray: BlockClosure>>ensure: MetacelloMCVersion>>doLoadRequiredFromArray: MetacelloMCVersion>>load ConfigurationOfVMMaker class>>load UndefinedObject>>DoIt Compiler>>evaluate:in:to:notifying:ifFail:logged: [rcvr class evaluatorClass new evaluate: self selectionForDoitAsStream in: ctxt to: rcvr notifying: self morph ifFail: [self morph flash. ^ nil] logged: true] in SmalltalkEditor>>evaluateSelectionAndDo: BlockClosure>>on:do: SmalltalkEditor>>evaluateSelectionAndDo: SmalltalkEditor>>evaluateSelection [textMorph editor evaluateSelection] in PluggableTextMorph>>doIt [result := editBlock value] in PluggableTextMorph>>handleEdit: TextMorphForEditView(TextMorph)>>handleEdit: PluggableTextMorph>>handleEdit: PluggableTextMorph>>doIt Workspace(StringHolder)>>perform:orSendTo: [| selArgCount | (selArgCount := selector numArgs) = 0 ifTrue: [target perform: selector] ifFalse: [selArgCount = arguments size ifTrue: [target perform: selector withArguments: arguments] ifFalse: [target perform: selector withArguments: (arguments copyWith: evt)]]. self changed] in ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent: BlockClosure>>ensure: CursorWithMask(Cursor)>>showWhile: ToggleMenuItemMorph(MenuItemMorph)>>invokeWithEvent: ToggleMenuItemMorph(MenuItemMorph)>>mouseUp: ToggleMenuItemMorph(MenuItemMorph)>>handleMouseUp: MouseButtonEvent>>sentTo: ToggleMenuItemMorph(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: ToggleMenuItemMorph(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchDefault:with: MorphicEventDispatcher>>dispatchEvent:with: MenuMorph(Morph)>>processEvent:using: MenuMorph(Morph)>>processEvent: MenuMorph>>handleFocusEvent: [ActiveHand := self. ActiveEvent := anEvent. result := focusHolder handleFocusEvent: (anEvent transformedBy: (focusHolder transformedFrom: self))] in HandMorph>>sendFocusEvent:to:clear: [aBlock value] in PasteUpMorph>>becomeActiveDuring: BlockClosure>>on:do: PasteUpMorph>>becomeActiveDuring: HandMorph>>sendFocusEvent:to:clear: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: HandMorph>>handleEvent: HandMorph>>processEvents [:h | ActiveHand := h. h processEvents. ActiveHand := nil] in WorldState>>doOneCycleNowFor: Array(SequenceableCollection)>>do: WorldState>>handsDo: WorldState>>doOneCycleNowFor: WorldState>>doOneCycleFor: WorldState>>doOneSubCycleFor: PasteUpMorph>>doOneSubCycle MenuMorph>>invokeModalAt:in:allowKeyboard: MenuMorph>>invokeModal: MenuMorph>>invokeModal PluggableTextMorph>>yellowButtonActivity: TextMorphForEditView>>mouseDown: TextMorphForEditView(Morph)>>handleMouseDown: MouseButtonEvent>>sentTo: TextMorphForEditView(Morph)>>handleEvent: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: TextMorphForEditView(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: TransformMorph(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: PluggableTextMorph(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: SystemWindow(Morph)>>processEvent:using: MorphicEventDispatcher>>dispatchMouseDown:with: MorphicEventDispatcher>>dispatchEvent:with: PasteUpMorph(Morph)>>processEvent:using: PasteUpMorph>>processEvent:using: PasteUpMorph(Morph)>>processEvent: HandMorph>>sendEvent:focus:clear: HandMorph>>sendMouseEvent: HandMorph>>handleEvent: HandMorph>>processEvents [:h | ActiveHand := h. h processEvents. ActiveHand := nil] in WorldState>>doOneCycleNowFor: Array(SequenceableCollection)>>do: WorldState>>handsDo: WorldState>>doOneCycleNowFor: WorldState>>doOneCycleFor: PasteUpMorph>>doOneCycle [[World doOneCycle. Processor yield. false] whileFalse. nil] in MorphicUIManager>>spawnNewProcess [self value. Processor terminateActive] in BlockClosure>>newProcess
________________________________ From: Nicolas Cellier <nicolas.cellier.aka.nice@gmail.com> To: Pharo-project@lists.gforge.inria.fr; dimitris chloupis <thekilon@yahoo.co.uk> Sent: Sunday, 29 January 2012, 11:39 Subject: Re: [Pharo-project] Trying to build CogVM in MacOSX 10.7 Lion
2012/1/29 dimitris chloupis <thekilon@yahoo.co.uk>:
ok if you want me to install the latest I will install the latest , but there is no such documentation I am aware of how to do that .
Can you help me ?
Currently I have NBCog , Pharo-1.4 image and the latest from " git clone git://gitorious.org/cogvm/blessed.git"
But I have no idea how to install the latest VMMaker and CMakeVMMaker
I tried monticello giving it this adress
MCHttpRepository location: 'http://www.squeaksource.com/VMMaker' user: '' password: ''
I agree with you, we are very very bad when it come to documenting how to... To aggravate this situation, the ground is moving fast under our feet. If you open above address in a web browser, you'll see this:
Effective 05-Sept-2011, the VMMaker repository is hosted at http://source.squeak.org/VMMaker.html and new updates will appear in that repository, possibly mirrored here for convenience. Please update your Montecello browsers accordingly.
There is a Metacello invocation for loading all Pharo compatible or Pharo specific packages maybe something like this (I'm not totally sure, but Pharo gurus will correct me)
Gofer new squeaksource: 'MetacelloRepository'; package: 'ConfigurationOfVMMaker'; load. (Smalltalk at: #ConfigurationOfVMMaker) perform: #load.
I don't have write access to these repositories, but I wish this incantation were in the project description or the wiki of both pages http://source.squeak.org/VMMaker.html and http://www.squeaksource.com/VMMaker
I also see a notice about SVN, but nothing about the git repository... I'm sure detailed instructions exist somewhere but a link should be provided from the Monticello project page. That's the least we should do, and not only for newbies (I often swear like troopers when I loose my time searching the precious information). These little obstacles are repelling many people I guess, it's like we should follow an initiation before we dare putting our dirty nose in code. I don't like this spirit, and I hope it's unintentional, but it's totally contrary to Smalltalk foundations.
Nicolas
Any package I click to load it gives me dependency issues and update package complains about a Bad
Gateway
Yes I got the very latest of XCode and I am open to any suggestion.
________________________________ From: Igor Stasenko <siguctua@gmail.com> To: Pharo-project@lists.gforge.inria.fr Sent: Sunday, 29 January 2012, 1:00 Subject: Re: [Pharo-project] Trying to build CogVM in MacOSX 10.7
Lion
I don't know. But how do you know from his stackstrace that the
problem is
that ?
i dont. :) i replied after seeing an Esteban's message saying that your post is outdated and one should use 3.9 config version. and couple days before we had someone who asking why NB-enabled VM fails to build for him, when he still using this magic ((Smalltalk at: #ConfigurationOfVMMaker) project version: '1.5') load.
while when i was released an CMakeVMMaker configs for NB , it was already far beyond that version, and of course won't work with 1.5.
-- Best regards, Igor Stasenko.
-- Mariano http://marianopeck.wordpress.com