pharo-users@lists.pharo.org

Any question about pharo is welcome

View all threads

Pharo won't start on Ubuntu

HF
hedley.finger@gmail.com
Wed, Dec 22, 2021 5:32 AM

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

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....`
HF
hedley.finger@gmail.com
Wed, Dec 22, 2021 5:40 AM

I tried finding all pharo locations:

hedster:/$ whereis pharo

pharo: /usr/bin/pharo /usr/lib/x86_64-linux-gnu/pharo9.0 /snap/bin/pharo /snap/bin/pharo.getimage /snap/bin/pharo.cleanimage32 /snap/bin/pharo.getimage32 /snap/bin/pharo.cleanimage /snap/bin/pharo.config /snap/bin/pharo.ui /snap/bin/pharo.sqlite3

Hope this helps.

Regards,

Hedster

I tried finding all pharo locations: `hedster:/$ whereis pharo` `pharo: /usr/bin/pharo /usr/lib/x86_64-linux-gnu/pharo9.0 /snap/bin/pharo /snap/bin/pharo.getimage /snap/bin/pharo.cleanimage32 /snap/bin/pharo.getimage32 /snap/bin/pharo.cleanimage /snap/bin/pharo.config /snap/bin/pharo.ui /snap/bin/pharo.sqlite3` Hope this helps. Regards, Hedster
HF
hedley.finger@gmail.com
Mon, Dec 27, 2021 1:39 AM

I installed from the .deb package and now there are no problems starting Pharo on Ubuntu 20.04.3.

I installed from the .deb package and now there are no problems starting Pharo on Ubuntu 20.04.3.