Pharo 9 (amd64)

Ubuntu 20.04.3 LTS (Focal Fossa)

I installed Pharo 9 by following the instructions for Xubuntu 20.04 at  
[OpenSuse Builder](https://bityl.co/ABlH "OpenSuse Builder").

Next I checked for a starter script:

`hedster:~$ which pharo`

`/usr/bin/pharo`

Then I executed the script …

`hedster:~$ pharo`

… which did not start the Pharo GUI but produced a pile of error messages I 
don’t understand. I’m sorry to inflict this on you because it is rather long. 
See the CLI output below.

Regards,

Hedster

---

`hedley-PC:~$ pharo`

`Module not found.`

`LGitLibrary(Object)>>error:`

`LGitLibrary>>unixModuleName`

`LGitLibrary(FFILibrary)>>unixLibraryName`

`LGitLibrary(FFILibrary)>>unix64LibraryName`

`Unix64Platform>>ffiLibraryName:`

`LGitLibrary(FFILibrary)>>libraryName`

`FFICalloutMethodBuilder>>libraryName`

`FFICalloutMethodBuilder>>createFFICalloutLiteralFromSpec:`

`FFICalloutMethodBuilder>>generateFFICallout:spec:`

`[ :builder | self generateFFICallout: builder spec: functionSpec ] in 
FFICalloutMethodBuilder>>generateMethodFromSpec: in Block: [ :builder | self 
generateFFICallout: builder spec...etc...`

`IRBuilder class>>buildIR:`

`FFICalloutMethodBuilder>>generateMethodFromSpec:`

`FFICalloutMethodBuilder>>generate`

`FFICalloutMethodBuilder>>build:`

`FFICalloutAPI>>function:library:`

`LGitLibrary(Object)>>ffiCall:library:options:`

`LGitLibrary(Object)>>ffiCall:library:`

`LGitLibrary(Object)>>ffiCall:`

`LGitLibrary>>libgit2_init`

`[ self libgit2_init.`

`self recordInitializationSuccess ] in LGitLibrary>>initializeLibGit2 in Block: 
[ self libgit2_init....`

`BlockClosure>>on:do:`

`LGitLibrary>>initializeLibGit2`

`LGitLibrary class>>startUp:`

`ClassSessionHandler>>startup:`

`[ :each | each startup: isImageStarting ] in WorkingSession>>runStartup: in 
Block: [ :each | each startup: isImageStarting ]`

`[ aBlock value: each ] in [ :each | `

`[ aBlock value: each ]`

`       on: Exception`

`       do: [ :error | self errorHandler handleError: error ] ] in 
WorkingSession>>runList:do: in Block: [ aBlock value: each ]`

`BlockClosure>>on:do:`

`[ :each | `

`[ aBlock value: each ]`

`       on: Exception`

`       do: [ :error | self errorHandler handleError: error ] ] in 
WorkingSession>>runList:do: in Block: [ :each | ...`

`Array(SequenceableCollection)>>do:`

`WorkingSession>>runList:do:`

`Failed to find SDL2 library.`

`SDL2 class(Object)>>error:`

`SDL2 class>>findSDL2`

`SDL2 class>>moduleName`

`SDL2 class>>ffiLibraryName`

`SDL2 class(Object)>>ffiLibrary`

`SDL2 class(Object)>>ffiCall:`

`SDL2 class>>setHint:value:`

`SDL2 class>>initLibrary`

`SDL2 class>>initEverything`

`OSSDL2Driver>>initialize`

`OSSDL2Driver class(Behavior)>>new`

`OSWindowDriver class>>current`

`OSWorldRenderer>>pickMostSuitableWindowDriver`

`OSWorldRenderer>>doActivate`

`OSWorldRenderer(AbstractWorldRenderer)>>activate`

`WorldState>>worldRenderer:`

`MorphicUIManager>>activate`

`UIManager class>>default:`

`UIManagerSessionHandler>>startup:`

`[ :each | each startup: isImageStarting ] in WorkingSession>>runStartup: in 
Block: [ :each | each startup: isImageStarting ]`

`[ aBlock value: each ] in [ :each | `

`[ aBlock value: each ]`

`       on: Exception`

`       do: [ :error | self errorHandler handleError: error ] ] in 
WorkingSession>>runList:do: in Block: [ aBlock value: each ]`

`BlockClosure>>on:do:`

`[ :each | `

`[ aBlock value: each ]`

`       on: Exception`

`       do: [ :error | self errorHandler handleError: error ] ] in 
WorkingSession>>runList:do: in Block: [ :each | ...`

`Array(SequenceableCollection)>>do:`

`WorkingSession>>runList:do:`

`WorkingSession>>runStartup:`

`WorkingSession>>start:`

`SessionManager>>launchSnapshot:andQuit:`

`[ isImageStarting := self launchSnapshot: save andQuit: quit.`

`wait signal ] in SessionManager>>snapshot:andQuit: in Block: [ isImageStarting 
:= self launchSnapshot: save and...etc...`

`[ self value.`

`Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self 
value....`

`Error: Failed to find SDL2 library.`

`SDL2 class(Object)>>error:`

`SDL2 class>>findSDL2`

`SDL2 class>>moduleName`

`SDL2 class>>ffiLibraryName`

`SDL2 class(Object)>>ffiLibrary`

`SDL2 class(Object)>>ffiCall:`

`SDL2 class>>setHint:value:`

`SDL2 class>>initLibrary`

`SDL2 class>>initEverything`

`OSSDL2Driver>>initialize`

`OSSDL2Driver class(Behavior)>>new`

`OSWindowDriver class>>current`

`OSWorldRenderer>>pickMostSuitableWindowDriver`

`OSWorldRenderer>>doActivate`

`OSWorldRenderer(AbstractWorldRenderer)>>activate`

`WorldState>>worldRenderer:`

`MorphicUIManager>>activate`

`UIManager class>>default:`

`UIManagerSessionHandler>>startup:`

`[ :each | each startup: isImageStarting ] in WorkingSession>>runStartup: in 
Block: [ :each | each startup: isImageStarting ]`

`[ aBlock value: each ] in [ :each | `

`[ aBlock value: each ]`

`       on: Exception`

`       do: [ :error | self errorHandler handleError: error ] ] in 
WorkingSession>>runList:do: in Block: [ aBlock value: each ]`

`BlockClosure>>on:do:`

`[ :each | `

`[ aBlock value: each ]`

`       on: Exception`

`       do: [ :error | self errorHandler handleError: error ] ] in 
WorkingSession>>runList:do: in Block: [ :each | ...`

`Array(SequenceableCollection)>>do:`

`WorkingSession>>runList:do:`

`WorkingSession>>runStartup:`

`WorkingSession>>start:`

`SessionManager>>launchSnapshot:andQuit:`

`[ isImageStarting := self launchSnapshot: save andQuit: quit.`

`wait signal ] in SessionManager>>snapshot:andQuit: in Block: [ isImageStarting 
:= self launchSnapshot: save and...etc...`

`[ self value.`

`Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self 
value....`

`#renderer was sent to nil`

`UndefinedObject(Object)>>doesNotUnderstand: #renderer`

`UndefinedObject>>doesNotUnderstand: #renderer`

`OSWorldRenderer>>osWindowRenderer`

`OSWorldRenderer>>checkForNewScreenSize`

`WorldState>>doOneCycleNowFor:`

`WorldState>>doOneCycleFor:`

`WorldMorph>>doOneCycle`

`WorldMorph class>>doOneCycle`

`[ [ WorldMorph doOneCycle.`

`Processor yield.`

`false ] whileFalse: [  ] ] in MorphicUIManager>>spawnNewProcess in Block: [ [ 
WorldMorph doOneCycle....`

`[ self value.`

`Processor terminateActive ] in BlockClosure>>newProcess in Block: [ self 
value....`

Reply via email to