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.

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....