Actually - the user has confirmed a bit more (which sounds like your hunch Guille):
Hmm… Just loading the image without `eval`ing something seems to boot up well. But then I also realise, that there is a warning: ```ioLoadModule(/opt/pharo/bin/../lib/pharo/5.0-201901231209/libgit2.so): libcurl-gnutls.so.4: cannot open shared object file: No such file or directory``` (edited) So this looks like pharo tries to load a bundled libgit2 first during bootup which fails and only later, when trying to call into it, system resolves into the system installed one. Which then causes the segfault for some reason. I’ll see if I can guide him through changing that method. Tim > On 30 Apr 2019, at 15:53, Tim Mackinnon <tim@testit.works> wrote: > > Hi Guille - I’m not using Arch Linux myself - this was a seasoned exercism > contributor trying to give pharo a spin - and sadly it hasn’t gone well > (shame as they might have been an advocate) They also commented: > > "I'm not quite sure though if I really want to continue from here. As someone > new to pharo, I basically can't find any installation instructions that go > beyond that evil `curl`. I'm happy to play this to the end with you, that at > least exercism gets proper instructions, but the pharo community really > should change their mind and provide more and better documentation about > systemwide installation and packages. I have a hard time seeing something > used at my compnay that does not provide an RPM out of the box…” > > Which is fair play. > > However I did get some details which might salvage something (and maybe they > can try) > > Its ArchLinux (apparently there are no versions in Arch, its always the > latest). > Pharo wa installed via AUR (looks like a bit old - 2019-01-24 18:18) - not > sure that is the issue though > AUR does give an image so they downloaded the latest 64 bit one from here - > https://files.pharo.org/image/70/ <https://files.pharo.org/image/70/> > Libgit2 was missing - that was installed (not clear on how - could ask) > > After all of this - it did launch - they saw a welcome screen then it crashed > (I think they were doing our eval string to metacello load exercism - so it > would then use libgit2) > > They then got this error: > https://pastebin.com/W2D86ZS4 <https://pastebin.com/W2D86ZS4> > > I’ve pasted the error below - for prosperity. > > Tim > > Pharo VM version: 5.0-201901231209 Wed Jan 23 12:32:13 UTC 2019 gcc 4.8 > [Production Spur 64-bit VM] > Built from: CoInterpreter VMMaker.oscog-eem.2509 uuid: > 91e81f64-95de-4914-a960-8f842be3a194 Jan 23 2019 > With: StackToRegisterMappingCogit VMMaker.oscog-eem.2509 uuid: > 91e81f64-95de-4914-a960-8f842be3a194 Jan 23 2019 > Revision: VM: 201901231209 > https://github.com/OpenSmalltalk/opensmalltalk-vm.git > <https://github.com/OpenSmalltalk/opensmalltalk-vm.git> Date: Wed Jan 23 > 07:09:49 2019 CommitHash: a4b2dfa6 Plugins: 201901231209 > https://github.com/OpenSmalltalk/opensmalltalk-vm.git > <https://github.com/OpenSmalltalk/opensmalltalk-vm.git> > Build host: Linux travis-job-3a8f8935-e791-48da-aa41-2eccc2452870 > 4.4.0-101-generic #124~14.04.1-Ubuntu SMP Fri Nov 10 19:05:36 UTC 2017 x86_64 > x86_64 x86_64 GNU/Linux > plugin path: /opt/pharo/bin [default: /opt/pharo/lib/pharo/5.0-201901231209/] > > > C stack backtrace & registers: > rax 0x00000000 rbx 0x7f4aacbce700 rcx 0x00000000 rdx 0x00000014 > rdi 0x00000000 rsi 0x00000000 rbp 0x00000000 rsp 0x7fffdc831d00 > r8 0x00000000 r9 0x7f4aacbbce22 r10 0x00000006 r11 0x7fffdc831d08 > r12 0x00000040 r13 0x00000014 r14 0x00000000 r15 0x7f4aacbbce22 > rip 0x7f4aac72f3b9 > */lib/libcrypto.so.1.1(BN_num_bits+0x9)[0x7f4aac72f3b9] > /opt/pharo/bin/../lib/pharo/5.0-201901231209/pharo[0x41b0d3] > /opt/pharo/bin/../lib/pharo/5.0-201901231209/pharo[0x41cb2e] > /lib/libpthread.so.0(+0x124d0)[0x7f4aaeb2d4d0] > /lib/libcrypto.so.1.1(BN_num_bits+0x9)[0x7f4aac72f3b9] > /lib/libcrypto.so.1.1(RSA_size+0xe)[0x7f4aac81fa5e] > /lib/libcrypto.so.1.1(+0x1b43b6)[0x7f4aac8273b6] > /lib/libcrypto.so.1.1(RSA_verify+0x2b)[0x7f4aac82777b] > /opt/pharo/lib/pharo/5.0-201901231209/libssh2.so.1(+0x2c2df)[0x7f4aac4672df] > /opt/pharo/lib/pharo/5.0-201901231209/libssh2.so.1(+0xabbf)[0x7f4aac445bbf] > /opt/pharo/lib/pharo/5.0-201901231209/libssh2.so.1(+0xe377)[0x7f4aac449377] > /opt/pharo/lib/pharo/5.0-201901231209/libssh2.so.1(+0xffbe)[0x7f4aac44afbe] > /opt/pharo/lib/pharo/5.0-201901231209/libssh2.so.1(+0x11cb6)[0x7f4aac44ccb6] > /opt/pharo/lib/pharo/5.0-201901231209/libssh2.so.1(+0x1ad00)[0x7f4aac455d00] > /opt/pharo/lib/pharo/5.0-201901231209/libssh2.so.1(libssh2_session_handshake+0x2e)[0x7f4aac455f8f] > /lib/libgit2.so(+0xc3265)[0x7f4aacb33265] > /lib/libgit2.so(+0xbf06b)[0x7f4aacb2f06b] > /lib/libgit2.so(git_remote_connect+0x166)[0x7f4aacb0bf66] > /lib/libgit2.so(git_remote_fetch+0x97)[0x7f4aacb0d417] > /lib/libgit2.so(git_clone+0x36a)[0x7f4aaca9c4ea] > /opt/pharo/bin/../lib/pharo/5.0-201901231209/pharo[0x4cacb6] > /opt/pharo/bin/../lib/pharo/5.0-201901231209/pharo[0x4585f7] > /opt/pharo/bin/../lib/pharo/5.0-201901231209/pharo[0x45a667] > /opt/pharo/bin/../lib/pharo/5.0-201901231209/pharo(ceSendsupertonumArgs+0x265)[0x45c4b5] > [0x1f00100] > [0x7f4aacbcc7b0] > > > Smalltalk stack dump: > 0x7fffdc85b750 M LGitRepository>clone:url:local_path:options: 0x246e7f0: > a(n) LGitRepository > 0x7fffdc85b7d0 I FFICalloutAPI>function:module: 0x25189e8: a(n) > FFICalloutAPI > 0x7fffdc85b820 I > LGitRepository(LGitExternalObject)>callUnchecked:options: 0x246e7f0: a(n) > LGitRepository > 0x7fffdc85b870 I LGitRepository>clone:url:local_path:options: 0x246e7f0: > a(n) LGitRepository > 0x7fffdc85b8e8 I [] in LGitRepository>clone:options:to: 0x246e7f0: a(n) > LGitRepository > 0x7fffdc85b928 I LGitRepository(LGitExternalObject)>withReturnHandlerDo: > 0x246e7f0: a(n) LGitRepository > 0x7fffdc85b970 I LGitRepository>clone:options:to: 0x246e7f0: a(n) > LGitRepository > 0x7fffdc85b9c8 I LGitRepository>clone:options: 0x246e7f0: a(n) > LGitRepository > 0x7fffdc85ba10 M [] in IceGitClone>execute 0x24431e0: a(n) IceGitClone > 0x7fffdc859530 M BlockClosure>on:do: 0x245dcf0: a(n) BlockClosure > 0x7fffdc859588 I IceGitClone>execute 0x24431e0: a(n) IceGitClone > 0x7fffdc8595c8 I IceRepositoryCreator>cloneRepository 0x2425258: a(n) > IceRepositoryCreator > 0x7fffdc8595f8 M [] in IceRepositoryCreator>createRepository 0x2425258: > a(n) IceRepositoryCreator > 0x7fffdc859628 M BlockClosure>on:do: 0x2425460: a(n) BlockClosure > 0x7fffdc859678 I IceRepositoryCreator>createRepository 0x2425258: a(n) > IceRepositoryCreator > 0x7fffdc8596b8 M [] in > MCGitHubRepository(MCGitBasedNetworkRepository)>createIcebergRepositoryFor: > 0x2424000: a(n) MCGitHubRepository > 0x7fffdc8596e8 M BlockClosure>on:do: 0x2425350: a(n) BlockClosure > 0x7fffdc859748 I > MCGitHubRepository(MCGitBasedNetworkRepository)>createIcebergRepositoryFor: > 0x2424000: a(n) MCGitHubRepository > 0x7fffdc859788 M [] in > MCGitHubRepository(MCGitBasedNetworkRepository)>createIcebergRepositoryWithFallbackFor:url: > 0x2424000: a(n) MCGitHubRepository > 0x7fffdc8597b8 M BlockClosure>on:do: 0x24251f0: a(n) BlockClosure > 0x7fffdc859810 I > MCGitHubRepository(MCGitBasedNetworkRepository)>createIcebergRepositoryWithFallbackFor:url: > 0x2424000: a(n) MCGitHubRepository > 0x7fffdc859860 M [] in > MCGitHubRepository(MCGitBasedNetworkRepository)>getOrCreateIcebergRepository > 0x2424000: a(n) MCGitHubRepository > 0x7fffdc859890 M OrderedCollection(Collection)>detect:ifFound:ifNone: > 0x433cdb0: a(n) OrderedCollection > 0x7fffdc8598d8 M OrderedCollection(Collection)>detect:ifNone: 0x433cdb0: > a(n) OrderedCollection > 0x7fffdc859930 I > MCGitHubRepository(MCGitBasedNetworkRepository)>getOrCreateIcebergRepository > 0x2424000: a(n) MCGitHubRepository > 0x7fffdc859980 I IceGithubRepositoryType>mcRepository 0x2423178: a(n) > IceGithubRepositoryType > 0x7fffdc8599c0 I Iceberg class>mcRepositoryFor: 0x4319310: a(n) Iceberg > class > 0x7fffdc859a08 I IceMetacelloPharoPlatform>createRepository: 0x4348f58: > a(n) IceMetacelloPharoPlatform > 0x7fffdc8575a8 I > MetacelloMCBaselineProject(MetacelloMCProject)>createRepository: 0x23f7300: > a(n) MetacelloMCBaselineProject > 0x7fffdc8575f8 I MetacelloRepositorySpec>createRepository 0x23f7550: a(n) > MetacelloRepositorySpec > 0x7fffdc857630 M [] in > MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>repositoriesFrom:ignoreOverrides: > 0x23fd2f8: a(n) MetacelloFetchingMCSpecLoader > 0x7fffdc857660 M Array(Collection)>detect:ifFound:ifNone: 0x241ff70: a(n) > Array > 0x7fffdc8576a8 M Array(Collection)>detect:ifNone: 0x241ff70: a(n) Array > 0x7fffdc857708 M [] in > MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>repositoriesFrom:ignoreOverrides: > 0x23fd2f8: a(n) MetacelloFetchingMCSpecLoader > 0x7fffdc857750 M Array(SequenceableCollection)>do: 0x23fd878: a(n) Array > 0x7fffdc8577a8 I > MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>repositoriesFrom:ignoreOverrides: > 0x23fd2f8: a(n) MetacelloFetchingMCSpecLoader > 0x7fffdc8577f8 I > MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>repositoriesFrom: > 0x23fd2f8: a(n) MetacelloFetchingMCSpecLoader > 0x7fffdc857860 I MetacelloPackageSpec>explicitLoadUsing: 0x23f9898: a(n) > MetacelloPackageSpec > 0x7fffdc8578a8 I MetacelloPackageSpec>load 0x23f9898: a(n) > MetacelloPackageSpec > 0x7fffdc8578e0 M [] in > MetacelloScriptEngine>getBaselineUnconditionalLoad: 0x23f7638: a(n) > MetacelloScriptEngine > 0x7fffdc857910 M BlockClosure>on:do: 0x23f9850: a(n) BlockClosure > 0x7fffdc857968 I MetacelloScriptEngine>getBaselineUnconditionalLoad: > 0x23f7638: a(n) MetacelloScriptEngine > 0x7fffdc8579b8 I > MetacelloScriptEngine>getBaselineProjectUnconditionalLoad: 0x23f7638: a(n) > MetacelloScriptEngine > 0x7fffdc857a00 I > MetacelloMCBaselineProject>projectForScriptEngine:unconditionalLoad: > 0x23f7300: a(n) MetacelloMCBaselineProject > 0x7fffdc853408 I > MetacelloMCBaselineProject(MetacelloProject)>projectForScriptEngine: > 0x23f7300: a(n) MetacelloMCBaselineProject > 0x7fffdc853458 I > MetacelloMCBaselineOfProjectSpec(MetacelloMCProjectSpec)>versionForScriptEngine: > 0x23f8ed0: a(n) MetacelloMCBaselineOfProjectSpec > 0x7fffdc8534b8 M [] in > MetacelloScriptEngine>load:onProjectDownGrade:onProjectUpgrade: 0x23f7638: > a(n) MetacelloScriptEngine > 0x7fffdc8534e8 M BlockClosure>on:do: 0x23f7e58: a(n) BlockClosure > 0x7fffdc853530 M [] in > MetacelloScriptEngine>handleNotificationsForAction: 0x23f7638: a(n) > MetacelloScriptEngine > 0x7fffdc853560 M BlockClosure>on:do: 0x23f8148: a(n) BlockClosure > 0x7fffdc8535a8 M [] in > MetacelloScriptEngine>handleNotificationsForAction: 0x23f7638: a(n) > MetacelloScriptEngine > 0x7fffdc8535d8 M BlockClosure>on:do: 0x23f8048: a(n) BlockClosure > 0x7fffdc853620 M [] in > MetacelloScriptEngine>handleNotificationsForAction: 0x23f7638: a(n) > MetacelloScriptEngine > 0x7fffdc853650 M BlockClosure>on:do: 0x23f7f48: a(n) BlockClosure > 0x7fffdc8536a0 I MetacelloScriptEngine>handleNotificationsForAction: > 0x23f7638: a(n) MetacelloScriptEngine > 0x7fffdc8536f0 M [] in > MetacelloScriptEngine>load:onProjectDownGrade:onProjectUpgrade: 0x23f7638: > a(n) MetacelloScriptEngine > 0x7fffdc853730 M BlockClosure>ensure: 0x23f7970: a(n) BlockClosure > 0x7fffdc853788 I MetacelloProjectRegistration > class>copyRegistryRestoreOnErrorWhile: 0x2e68c50: a(n) > MetacelloProjectRegistration class > 0x7fffdc8537d0 I > MetacelloScriptEngine>load:onProjectDownGrade:onProjectUpgrade: 0x23f7638: > a(n) MetacelloScriptEngine > 0x7fffdc853818 M MetacelloScriptEngine>load: 0x23f7638: a(n) > MetacelloScriptEngine > 0x7fffdc853860 M [] in > MetacelloScriptApiExecutor(MetacelloScriptExecutor)>execute: 0x23f69a8: a(n) > MetacelloScriptApiExecutor > 0x7fffdc8538a0 M [] in MetacelloScriptApiExecutor>executeString:do: > 0x23f69a8: a(n) MetacelloScriptApiExecutor > 0x7fffdc8538e8 M Array(SequenceableCollection)>do: 0x23f73c0: a(n) Array > 0x7fffdc853930 I MetacelloScriptApiExecutor>executeString:do: 0x23f69a8: > a(n) MetacelloScriptApiExecutor > 0x7fffdc853980 I ByteString(String)>execute:against: 0x23d3510: a(n) > ByteString > 0x7fffdc8539d0 I > MetacelloScriptApiExecutor(MetacelloScriptExecutor)>execute: 0x23f69a8: a(n) > MetacelloScriptApiExecutor > 0x7fffdc853a10 M [] in MetacelloScriptApiExecutor>execute: 0x23f69a8: > a(n) MetacelloScriptApiExecutor > 0x7fffdc855368 M [] in > IceMetacelloLoadSessionContext(DynamicVariable)>value:during: 0x43a6b48: a(n) > IceMetacelloLoadSessionContext > 0x7fffdc8553a8 M BlockClosure>ensure: 0x23f6bf8: a(n) BlockClosure > 0x7fffdc855400 I > IceMetacelloLoadSessionContext(DynamicVariable)>value:during: 0x43a6b48: a(n) > IceMetacelloLoadSessionContext > 0x7fffdc855450 I IceMetacelloLoadSessionContext class(DynamicVariable > class)>value:during: 0x433ce98: a(n) IceMetacelloLoadSessionContext class > 0x7fffdc8554a8 I IceMetacelloPharoPlatform>withMetacelloLoadSessionDo: > 0x4348f58: a(n) IceMetacelloPharoPlatform > 0x7fffdc8554f0 I MetacelloScriptApiExecutor>execute: 0x23f69a8: a(n) > MetacelloScriptApiExecutor > 0x7fffdc855540 I Metacello>execute:args: 0x23f6660: a(n) Metacello > 0x7fffdc855590 I Metacello>load 0x23f6660: a(n) Metacello > 0x7fffdc8555c0 M UndefinedObject>DoIt 0x28e78e0: a(n) UndefinedObject > 0x7fffdc855608 I OpalCompiler>evaluate 0x23d12e0: a(n) OpalCompiler > 0x7fffdc855648 I OpalCompiler>evaluate: 0x23d12e0: a(n) OpalCompiler > 0x7fffdc855690 M [] in EvaluateCommandLineHandler>evaluate: 0x23cd350: > a(n) EvaluateCommandLineHandler > 0x7fffdc8556c0 M BlockClosure>on:do: 0x23d1290: a(n) BlockClosure > 0x7fffdc855718 I EvaluateCommandLineHandler>evaluate: 0x23cd350: a(n) > EvaluateCommandLineHandler > 0x7fffdc855768 I EvaluateCommandLineHandler>evaluateArguments 0x23cd350: > a(n) EvaluateCommandLineHandler > 0x7fffdc8557a8 I EvaluateCommandLineHandler>activate 0x23cd350: a(n) > EvaluateCommandLineHandler > 0x7fffdc8557e8 I EvaluateCommandLineHandler class(CommandLineHandler > class)>activateWith: 0x2a271e0: a(n) EvaluateCommandLineHandler class > 0x7fffdc855828 M [] in > PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x604b7b8: a(n) PharoCommandLineHandler > 0x7fffdc855858 M BlockClosure>on:do: 0x23cd300: a(n) BlockClosure > 0x7fffdc855898 M > PharoCommandLineHandler(BasicCommandLineHandler)>activateSubCommand: > 0x604b7b8: a(n) PharoCommandLineHandler > 0x7fffdc8558e8 I > PharoCommandLineHandler(BasicCommandLineHandler)>handleSubcommand 0x604b7b8: > a(n) PharoCommandLineHandler > 0x7fffdc855928 I > PharoCommandLineHandler(BasicCommandLineHandler)>handleArgument: 0x604b7b8: > a(n) PharoCommandLineHandler > 0x7fffdc855960 M [] in > PharoCommandLineHandler(BasicCommandLineHandler)>activate 0x604b7b8: a(n) > PharoCommandLineHandler > 0x7fffdc855990 M BlockClosure>on:do: 0x23c9fb8: a(n) BlockClosure > 0x7fffdc8559d0 M [] in > PharoCommandLineHandler(BasicCommandLineHandler)>activate 0x604b7b8: a(n) > PharoCommandLineHandler > 0x7fffdc855a10 I [] in BlockClosure>newProcess 0x23c97a0: a(n) > BlockClosure > > Most recent primitives > compare:with:collated: > **StackOverflow** > translate:from:to:table: > stringHash:initialHash: > **StackOverflow** > translate:from:to:table: > compare:with:collated: > findFirstInString:inSet:startingAt: > **StackOverflow** > translate:from:to:table: > stringHash:initialHash: > **StackOverflow** > translate:from:to:table: > compare:with:collated: > **StackOverflow** > translate:from:to:table: > stringHash:initialHash: > **StackOverflow** > translate:from:to:table: > compare:with:collated: > findFirstInString:inSet:startingAt: > lookupDirectory:filename: > class > stringHash:initialHash: > compare:with:collated: > compare:with:collated: > perform: > stringHash:initialHash: > compare:with:collated: > perform: > class > stringHash:initialHash: > compare:with:collated: > stringHash:initialHash: > compare:with:collated: > stringHash:initialHash: > at: > basicNew: > replaceFrom:to:with:startingAt: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > compare:with:collated: > basicNew > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > compare:with:collated: > compare:with:collated: > compare:with:collated: > **StackOverflow** > stringHash:initialHash: > isOctetString > basicNew: > **StackOverflow** > stringHash:initialHash: > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > compare:with:collated: > stringHash:initialHash: > compare:with:collated: > stringHash:initialHash: > compare:with:collated: > class > **StackOverflow** > stringHash:initialHash: > compare:with:collated: > **StackOverflow** > **StackOverflow** > stringHash:initialHash: > compare:with:collated: > compare:with:collated: > compare:with:collated: > stringHash:initialHash: > compare:with:collated: > basicNew > basicNew > basicNew > basicNew > shallowCopy > stringHash:initialHash: > basicNew > basicNew > class > basicNew > basicIdentityHash > basicNew > basicNew > **StackOverflow** > basicNew > stringHash:initialHash: > **StackOverflow** > parameterAt: > stringHash:initialHash: > setIsReadOnlyObject: > basicIdentityHash > stringHash:initialHash: > class > = > class > findSubstring:in:startingAt:matchTable: > indexOfAscii:inString:startingAt: > indexOfAscii:inString:startingAt: > size > stringHash:initialHash: > stringHash:initialHash: > findSubstring:in:startingAt:matchTable: > indexOfAscii:inString:startingAt: > indexOfAscii:inString:startingAt: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > findSubstring:in:startingAt:matchTable: > indexOfAscii:inString:startingAt: > indexOfAscii:inString:startingAt: > class > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > findSubstring:in:startingAt:matchTable: > indexOfAscii:inString:startingAt: > indexOfAscii:inString:startingAt: > stringHash:initialHash: > findSubstring:in:startingAt:matchTable: > indexOfAscii:inString:startingAt: > indexOfAscii:inString:startingAt: > stringHash:initialHash: > stringHash:initialHash: > findSubstring:in:startingAt:matchTable: > indexOfAscii:inString:startingAt: > indexOfAscii:inString:startingAt: > stringHash:initialHash: > stringHash:initialHash: > stringHash:initialHash: > class > stringHash:initialHash: > hash > stringHash:initialHash: > stringHash:initialHash: > findSubstring:in:startingAt:matchTable: > indexOfAscii:inString:startingAt: > indexOfAscii:inString:startingAt: > stringHash:initialHash: > stringHash:initialHash: > basicNew > class > stringHash:initialHash: > compare:with:collated: > perform: > newMethod:header: > at:put: > at:put: > at:put: > at:put: > basicNew > size > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > at:put: > objectAt:put: > objectAt:put: > objectAt:put: > objectAt:put: > objectAt:put: > objectAt:put: > objectAt:put: > objectAt:put: > objectAt:put: > objectAt:put: > objectAt:put: > objectAt:put: > basicIdentityHash > objectAt:put: > stringHash:initialHash: > stringHash:initialHash: > objectAt:put: > basicNew: > instVarAt: > instVarAt:put: > instVarAt: > instVarAt:put: > objectAt:put: > basicNew: > instVarAt: > instVarAt:put: > instVarAt: > instVarAt:put: > objectAt:put: > basicAt: > at:put: > flushCache > basicIdentityHash > basicIdentityHash > at: > new: > tempAt: > at:put: > tempAt: > at:put: > tempAt: > at:put: > tempAt: > at:put: > withArgs:executeMethod: > instVarAt: > size > allocate: > integerAt:put:size:signed: > integerAt:put:size:signed: > integerAt:put:size:signed: > integerAt:put:size:signed: > integerAt:put:size:signed: > integerAt:put:size:signed: > integerAt:put:size:signed: > integerAt:put:size:signed: > class > clone > basicIdentityHash > at: > wait > **StackOverflow** > basicNew: > basicNew: > signal > invokeWithArguments: > > stack page bytes 8192 available headroom 5576 minimum unused headroom 5936 > > (Segmentation fault) > > >> On 30 Apr 2019, at 15:18, Guillermo Polito <guillermopol...@gmail.com >> <mailto:guillermopol...@gmail.com>> wrote: >> >> Hi Tim, >> >> Looking at the resolution of the libgit library, I see that in pharo7 the >> following: >> >> LGitLibrary >> unixModuleName >> | pluginDir | >> pluginDir := Smalltalk vm binary parent. >> #('libgit2.so' 'libgit2.so.0') >> detect: [ :each | (pluginDir / each) exists ] >> ifFound: [ :libName | ^ libName ]. >> >> self error: 'Module not found.' >> >> That definition may be the root of the problem in linux because it is >> returning the unqualified library name without the VM path. >> Then, the order of resolution of libraries is the one in the operating >> system, which is in your case probably searching in /usr/lib or something >> like that. >> I'd bet that you have in your system (/usr/lib/something) another libgit >> version but probably not matching the expected version in pharo or the >> architecture of pharo (32/64 bits). >> Thus, pharo finds the library but cannot load it... >> >> If you check in Pharo8, the same method reads slightly different: >> >> LGitLibrary >> unixModuleName >> | pluginDir | >> pluginDir := Smalltalk vm binary parent. >> #('libgit2.so' 'libgit2.so.0') >> detect: [ :each | (pluginDir / each) exists ] >> ifFound: [ :libName | ^ (pluginDir / libName) fullName ]. >> >> self error: 'Module not found.' >> >> Can you check that patching the method like that works in your case? >> This maybe deserves a backporting as it may make it super complicated to >> work with Iceberg in some linuxes... >> >> On Tue, Apr 30, 2019 at 3:08 PM Tim Mackinnon <tim@testit.works >> <mailto:tim@testit.works>> wrote: >> Did we ever get the bottom of installing Pharo on linux? I have a user on >> Arch linux who installed pharo from AUR (this is new stuff to me) - and once >> they downloaded an image - they now get an error that looks suspiciously >> like this libgit2 debacle - so I’m wondering what the solution was? >> >> The error is: >> >> External module not found >> ExternalLibraryFunction(Object)>>error: >> ExternalLibraryFunction(Object)>>externalCallFailed >> ExternalLibraryFunction(ExternalFunction)>>invokeWithArguments: >> LGitLibrary>>libgit2_init >> FFICalloutAPI>>function:module: >> LGitLibrary(Object)>>ffiCall: >> LGitLibrary>>libgit2_init >> [ self libgit2_init. >> self recordInitializationSuccess ] in LGitLibrary>>initializeLibGit2 in >> Block: [ self libgit2_init.... >> BlockClosure>>on:do: >> >> ... >> >>> On 4 Apr 2019, at 15:07, Vitor Medina Cruz <vitormc...@gmail.com >>> <mailto:vitormc...@gmail.com>> wrote: >>> >>> No, you can't install libcurl3 with libcurl4. There is a known conflict >>> between them: https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1754294 >>> <https://bugs.launchpad.net/ubuntu/+source/curl/+bug/1754294>, >>> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=900511 >>> <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=900511> >>> >>> Ubuntu 18.4 don't come with curl, but I think it comes with libcurl3 (I >>> don't have means to verify it now), but when you install curl, it installs >>> libcurl4 and removes libcurl3. >>> >>> On Thu, Apr 4, 2019 at 11:00 AM Richard O'Keefe <rao...@gmail.com >>> <mailto:rao...@gmail.com>> wrote: >>> apt-cache search >>> reports everything it knows about, not just things that are INSTALLED. >>> For example, apt-cache search reports lua-curl-dev, but it is not >>> installed. >>> apt list | grep lua-curl-dev >>> >>> The fact that neither libcurl3 nor libcurl4 is initially installed >>> means that either of them can be installed without conflict. >>> >>> On Thu, 4 Apr 2019 at 01:34, Ben Coman <b...@openinworld.com >>> <mailto:b...@openinworld.com>> wrote: >>> >>> On Wed, 3 Apr 2019 at 05:09, Richard O'Keefe <rao...@gmail.com >>> <mailto:rao...@gmail.com>> wrote: >>> I just did a complete reinstall of Ubuntu 18.4 on this >>> laptop yesterday, >>> >>> >>> and it did not come with any version of curl. >>> >>> What do you mean? Under WSL I have installed Ubuntu 18.4 and for... >>> $ apt-cache search libcurl | less >>> I see libcurl3 and libcurl4 >>> >>> cheers -ben >>> >>> uname -a => >>> Linux Inspiron 4.18.0-16-generic #17~18.04.1-Ubuntu SMP Tue Feb 12 13:35:51 >>> UTC 2019 x86_64 x86_64 x86_64 GNU/Linux >>> >>> >>> >>> On Wed, 3 Apr 2019 at 01:27, Vitor Medina Cruz <vitormc...@gmail.com >>> <mailto:vitormc...@gmail.com>> wrote: >>> Installing curl don't work because there is a conflict between curl version >>> name used on Ubuntu and that used by Pharo, you can't install libcurl 3 and >>> libcru4 together. Ubuntu 18 comes with libcurl4 and older software >>> depending on libcurl3 broke with it. I tested with minidebian and it also >>> failed. >>> >>> Richard, was you able to use Iceberg? It should only work if either Ubuntu >>> fix this dependency problem with libcurl or Pharo started to use libcrl4. >>> >>> >>> >>> On Tue, Apr 2, 2019 at 5:50 AM Richard O'Keefe <rao...@gmail.com >>> <mailto:rao...@gmail.com>> wrote: >>> I have Pharo 6.1 and Pharo 7.0 working in Ubuntu 18.04 >>> with no trouble so far. I just downloaded the launcher >>> from pharo.org <http://pharo.org/> and pulled the images down that way. >>> >>> One thing I do find annoying in Ubuntu 18.04 is the >>> number of programs (like okular) that spew warning >>> messages out the terminal. Pharo, sadly, is one of >>> them. Whenever a debugger window comes up in Pharo >>> there is spewage on the terminal. But it works. >>> >>> >>> On Tue, 2 Apr 2019 at 13:07, john pfersich <jpfers...@gmail.com >>> <mailto:jpfers...@gmail.com>> wrote: >>> Ubuntu 18.04 LTS is, IMHO, is royal piece of crap. Ubuntu seems to have >>> abandoned programmers tools almost completely in 18.04. I’ve had more >>> problems with support of programming tools in 18.04, more than even >>> Windows. I have run ‘sudo apt install’ maybe 80 times to install tools and >>> libraries. Ubuntu 18.04’s hardware support is also lame compared to 16.04. >>> Personally , I’m not surprised that Pharo doesn’t run on 18.04. I stopped >>> installing 18.04 on my new machines, after all 16.04 still has a few years >>> of support going for it, and at least it works without hours of upgrading. >>> >>> /*—————————————————-*/ >>> Sent from my iPhone >>> https://boincstats.com/signature/-1/user/51616339056/sig.png >>> <https://boincstats.com/signature/-1/user/51616339056/sig.png> >>> See https://objectnets.net <https://objectnets.net/> and >>> https://objectnets.org <https://objectnets.org/> >>> >>> > On Apr 1, 2019, at 06:06, horrido <horrido.hobb...@gmail.com >>> > <mailto:horrido.hobb...@gmail.com>> wrote: >>> > >>> > This issue bit me in the ass before, but I forgot. Yes, I had a senior >>> > moment. >>> > >>> > The issue is this: When I tried to run Pharo under Ubuntu Server 18.04 at >>> > OVH last year, it failed. I had to fall back to Ubuntu Server 16.04. >>> > >>> > This week, I tried to run Pharo under Ubuntu Server 18.04 at Google Cloud >>> > Platform and it failed. Again, I had to fall back to Ubuntu Server 16.04. >>> > >>> > Why does this issue keep biting me in the ass??? Because I'm 65 and my >>> > brain >>> > is dying. >>> > >>> > The bigger issue is this: Hosting services like Digital Ocean, OVH, and >>> > Google Cloud Platform are becoming increasingly important in the >>> > enterprise >>> > space. If Pharo can't run on these server operating systems, it's going to >>> > be a black eye for the language. We can get away with not supporting this >>> > for now, but it will eventually catch up with us. >>> > >>> > At Google Cloud Platform, for example, the user can choose from this list >>> > of >>> > hosts: Debian GNU/Linux 9 (Stretch), CentOS 6, CentOS 7, various versions >>> > of >>> > CoreOS, Ubuntu 14.04 LTS Minimal, Ubuntu 16.04 LTS Minimal, Ubuntu 18.04 >>> > LTS >>> > Minimal, Ubuntu 18.10 Minimal, various versions of Red Hat, various >>> > versions >>> > of SUSE, various versions of Window, and so on. It's a long list. *I >>> > strongly suspect that many of these are unusable with Pharo.* >>> > >>> > How to address this? I don't know. But if it's not a major problem now, it >>> > will be. It's bitten me in the ass twice, and I can't be alone. >>> > >>> > I'm giving a fair warning to everyone. Don't lash back at me – I'm just >>> > the >>> > canary in the coal mine. >>> > >>> > >>> > >>> > >>> > Tim Mackinnon wrote >>> >> Come on, let’s try not to be dismissive , we’ve all had that annoying >>> >> moment where something doesn’t work. >>> >> >>> >> Richard, was this installed with zero conf or Launcher, and as mentioned >>> >> - >>> >> a Linux distro is going to be helpful. >>> >> >>> >> I’m assuming it worked before at some point for you right? But was that >>> >> v6 >>> >> and now you’re trying v7? >>> >> >>> >> Tim >>> >> >>> >> >>> >> Sent from my iPhone >>> >> >>> >>> On 31 Mar 2019, at 23:46, john pfersich < >>> > >>> >> jpfersich@ >>> > >>> >> > wrote: >>> >>> >>> >>> What Linux (distro and version) and which version of Pharo. You couldn’t >>> >>> supply less information if you tried. >>> >>> >>> >>> >>> >>> /*—————————————————-*/ >>> >>> Sent from my iPhone >>> >>> https://boincstats.com/signature/-1/user/51616339056/sig.png >>> >>> <https://boincstats.com/signature/-1/user/51616339056/sig.png> >>> >>> See https://objectnets.net <https://objectnets.net/> and >>> >>> https://objectnets.org <https://objectnets.org/> >>> >>> >>> >>>> On Mar 31, 2019, at 14:21, Richard Kenneth Eng < >>> > >>> >> horrido.hobbies@ >>> > >>> >> > wrote: >>> >>>> >>> >>>> I just installed Pharo under Linux and when I start it up, I get: >>> >>>> >>> >>>> Error: External module not found >>> >>>> >>> >>>> It doesn't matter how I install Pharo. >>> > >>> > >>> > >>> > >>> > >>> > -- >>> > Sent from: http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html >>> > <http://forum.world.st/Pharo-Smalltalk-Users-f1310670.html> >>> > >>> >> >> >> >> -- >> >> Guille Polito >> Research Engineer >> >> Centre de Recherche en Informatique, Signal et Automatique de Lille >> CRIStAL - UMR 9189 >> French National Center for Scientific Research - http://www.cnrs.fr >> <http://www.cnrs.fr/> >> >> Web: http://guillep.github.io <http://guillep.github.io/> >> Phone: +33 06 52 70 66 13 >