Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BaselineOfBootstrapProcess not found #9

Open
jgfoster opened this issue Jul 8, 2022 · 1 comment
Open

BaselineOfBootstrapProcess not found #9

jgfoster opened this issue Jul 8, 2022 · 1 comment

Comments

@jgfoster
Copy link

jgfoster commented Jul 8, 2022

Following the install instructions in a new directory yields an error because ./pharo-local/package-cache is empty:

fostja@fostja:~/bootstrap$ wget -O - get.pharo.org/100+vm | bash
--2022-07-08 04:17:43--  http://get.pharo.org/100+vm
Resolving get.pharo.org (get.pharo.org)... 164.132.235.17, 2001:41d0:301::23
Connecting to get.pharo.org (get.pharo.org)|164.132.235.17|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3046 (3.0K)
Saving to: ‘STDOUT’

-                        100%[==================================>]   2.97K  --.-KB/s    in 0s

2022-07-08 04:17:44 (125 MB/s) - written to stdout [3046/3046]

Downloading the latest 100 Image:
    http://files.pharo.org/get-files/100/pharoImage-x86_64.zip
Pharo.image
Downloading the latest pharoVM:
	http://files.pharo.org/get-files/100/pharo-vm-Linux-x86_64-stable.zip
pharo-vm/pharo
Creating starter scripts pharo and pharo-ui
fostja@fostja:~/bootstrap$ ./pharo Pharo.image eval "
Metacello new
        baseline: 'BootstrapProcess';
        repository: 'tonel://.';
        load.

Smalltalk snapshot: true andQuit: true."
MetacelloNotification: ...RETRY->BaselineOfBootstrapProcess
MetacelloNotification: ...RETRY->BaselineOfBootstrapProcess
MetacelloNotification: ...FAILED->BaselineOfBootstrapProcess
Could not resolve: BaselineOfBootstrapProcess [BaselineOfBootstrapProcess] in /home/fostja/bootstrap/pharo-local/package-cache tonel:///home/fostja/bootstrap
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>retryingResolvePackageSpecReferences:gofer:
[
      | references nearestReference cachedReference externalReference mcVersion loadedVersionInfos |
      cachedReference := nil.
      packageSpec
        searchCacheRepositoryForPackage: [
          "check to see if mcz file is already in cacheRepository"
          cachedReference := self
            resolvePackageSpec: packageSpec
            cachedGofer: self loaderPolicy cacheGofer.
          (cachedReference ~~ nil and: [ packageSpec getFile ~~ nil ])
            ifTrue: [
              cachedReference name = packageSpec file
                ifTrue: [
                  "exact match between packageSpec file and cache"
                  ^ self
                    scheduleFetchFor: packageSpec
                    cachedReference: cachedReference ] ] ].
      references := self
        retryingResolvePackageSpecReferences: packageSpec
        gofer: gofer.	"look up mcz file"
      nearestReference := references last asMetacelloCachingResolvedReference.
      (cachedReference ~~ nil
        and: [ cachedReference name = nearestReference name ])
        ifTrue: [
          "latest reference in repository matches cachedReference ... "
          ^ self
            scheduleFetchFor: packageSpec
            nearestReference: nearestReference ].
      (self ignoreImage not
        and: [ (loadedVersionInfos := self ancestorsFor: packageSpec) ~~ nil ])
        ifTrue: [
          "If the mcz is already loaded into the image, no need to copy"
          loadedVersionInfos
            do: [ :info |
              info name = nearestReference name
                ifTrue: [
                  | spc |
                  spc := packageSpec copy.
                  spc file: info name.
                  (MetacelloIgnorePackageLoaded signal: spc)
                    ifFalse: [ ^ self ] ] ] ].
      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 package name ].
              self loadData
                addVersion: mcVersion
                versionInfo: mcVersion info
                resolvedReference: reference
                packageSpec: pSpec ] ].
      self scheduleFetchFor: packageSpec externalReference: externalReference ] in MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer: in Block: [ ...
[:bar |
            bar value: 1.
            aBlock value.
            bar value: 2 ] in IceMetacelloPharoPlatform(MetacelloPharoCommonPlatform)>>do:displaying: in Block: [:bar |...
FullBlockClosure(BlockClosure)>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
	  CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ ^ block cull: self ]
[ activeProcess
			psValueAt: index
			put: anObject.
		aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ activeProcess...
FullBlockClosure(BlockClosure)>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
	  CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ self prepareForRunning....
FullBlockClosure(BlockClosure)>>ensure:
Job>>run
NonInteractiveUIManager(UIManager)>>displayProgress:from:to:during:
ByteString(String)>>displayProgressFrom:to:during:
IceMetacelloPharoPlatform(MetacelloPharoCommonPlatform)>>do:displaying:
MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer:
MetacelloPackageSpec>>loadUsing:gofer:
[:pkg | pkg loadUsing: self gofer: gofer ] in MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories: in Block: [:pkg | pkg loadUsing: self gofer: gofer ]
Array(SequenceableCollection)>>do:
MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>linearLoadPackageSpecs:repositories:
[ super linearLoadPackageSpecs: packageSpecs repositories: repositories ] in MetacelloFetchingMCSpecLoader>>explicitLoadPackageSpecs:repositories: in Block: [ super linearLoadPackageSpecs: packageSpecs repos...etc...
FullBlockClosure(BlockClosure)>>ensure:
MetacelloLoaderPolicy>>pushLoadDirective:during:
MetacelloLoaderPolicy>>pushExplicitLoadDirectivesDuring:for:
MetacelloFetchingMCSpecLoader>>explicitLoadPackageSpecs:repositories:
MetacelloPackageSpec>>explicitLoadUsing:
MetacelloPackageSpec>>load
[ spec projectPackage load ] in MetacelloScriptEngine>>getBaselineUnconditionalLoad: in Block: [ spec projectPackage load ]
FullBlockClosure(BlockClosure)>>on:do:
MetacelloScriptEngine>>getBaselineUnconditionalLoad:
@jgfoster
Copy link
Author

jgfoster commented Jul 8, 2022

Adding the directory BaselineOfBootstrapProcess/ now yields this error:

Instance of ZnBufferedReadStream did not understand #resolveString:
ZnBufferedReadStream(Object)>>doesNotUnderstand: #resolveString:
TonelFileSystemUtils class>>directoryFromPath:relativeTo:
TonelReader>>packageDirectory:
TonelReader class>>on:fileName:
[:s |
			(MCVersionReader readerClassForFileNamed: aString) ifNotNil:
				[:class | aBlock value: (class on: s fileName: (self pathForFileNamed: aString))]] in MCCacheRepository(MCFileBasedRepository)>>versionReaderForFileNamed:do: in Block: [:s |...
[ :stream|
		val := aBlock value: stream ] in MCCacheRepository(MCDirectoryRepository)>>readStreamForFileNamed:do: in Block: [ :stream|...
[ aBlock value: stream ] in FileReference(AbstractFileReference)>>binaryReadStreamDo: in Block: [ aBlock value: stream ]
FullBlockClosure(BlockClosure)>>ensure:
FileReference(AbstractFileReference)>>binaryReadStreamDo:
MCCacheRepository(MCDirectoryRepository)>>readStreamForFileNamed:do:
MCCacheRepository(MCFileBasedRepository)>>versionReaderForFileNamed:do:
MCCacheRepository>>loadVersionFromFileNamed:
TonelRepository(MCFileBasedRepository)>>loadVersionFromFileNamed:
[ :packageDirectory |
			self loadVersionFromFileNamed: (self fileUtils directoryName: packageDirectory) ] in TonelRepository>>versionFrom: in Block: [ :packageDirectory | ...
FullBlockClosure(BlockClosure)>>cull:
[ :each |
			(aBlock value: each)
				ifTrue: [ ^ foundBlock cull: each ] ] in Array(Collection)>>detect:ifFound:ifNone: in Block: [ :each | ...
Array(SequenceableCollection)>>do:
Array(Collection)>>detect:ifFound:ifNone:
TonelRepository>>versionFrom:
MetacelloCachingGoferResolvedReference(GoferResolvedReference)>>version
MetacelloCachingGoferResolvedReference>>version
[ :each | each version ] in MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into: in Block: [ :each | each version ]
OrderedCollection>>do:
[
      "ensure that all resolved references have cached their version while wrapped by error handler"
      aCollection do: [ :each | each version ].
      nearestReference version dependencies do: block.
      notDone := false ] in MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into: in Block: [ ...
FullBlockClosure(BlockClosure)>>on:do:
MetacelloFetchingMCSpecLoader>>resolveDependencies:nearest:into:
[
      | references nearestReference cachedReference externalReference mcVersion loadedVersionInfos |
      cachedReference := nil.
      packageSpec
        searchCacheRepositoryForPackage: [
          "check to see if mcz file is already in cacheRepository"
          cachedReference := self
            resolvePackageSpec: packageSpec
            cachedGofer: self loaderPolicy cacheGofer.
          (cachedReference ~~ nil and: [ packageSpec getFile ~~ nil ])
            ifTrue: [
              cachedReference name = packageSpec file
                ifTrue: [
                  "exact match between packageSpec file and cache"
                  ^ self
                    scheduleFetchFor: packageSpec
                    cachedReference: cachedReference ] ] ].
      references := self
        retryingResolvePackageSpecReferences: packageSpec
        gofer: gofer.	"look up mcz file"
      nearestReference := references last asMetacelloCachingResolvedReference.
      (cachedReference ~~ nil
        and: [ cachedReference name = nearestReference name ])
        ifTrue: [
          "latest reference in repository matches cachedReference ... "
          ^ self
            scheduleFetchFor: packageSpec
            nearestReference: nearestReference ].
      (self ignoreImage not
        and: [ (loadedVersionInfos := self ancestorsFor: packageSpec) ~~ nil ])
        ifTrue: [
          "If the mcz is already loaded into the image, no need to copy"
          loadedVersionInfos
            do: [ :info |
              info name = nearestReference name
                ifTrue: [
                  | spc |
                  spc := packageSpec copy.
                  spc file: info name.
                  (MetacelloIgnorePackageLoaded signal: spc)
                    ifFalse: [ ^ self ] ] ] ].
      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 package name ].
              self loadData
                addVersion: mcVersion
                versionInfo: mcVersion info
                resolvedReference: reference
                packageSpec: pSpec ] ].
      self scheduleFetchFor: packageSpec externalReference: externalReference ] in MetacelloFetchingMCSpecLoader>>linearLoadPackageSpec:gofer: in Block: [ ...
[:bar |
            bar value: 1.
            aBlock value.
            bar value: 2 ] in IceMetacelloPharoPlatform(MetacelloPharoCommonPlatform)>>do:displaying: in Block: [:bar |...
FullBlockClosure(BlockClosure)>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
	  CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ ^ block cull: self ]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant