Guille - it looks like modifying that method and :
"I installed some other package (`libcurl-gnutls`) which is an "addon" to the 
regular `libcurl`.”

Got us further - now he’s getting IceAuthenticationError- which could be down 
to git vs https. (I can use the #remoteTypeSelector: trick to hopefully fix 
that).

When I confirm everything, I will report back the magic syntax (at least for 
Arch) - as well as the desire to back port that fix to 7.

Thanks for chipping in (and this is the thread that keeps on giving…)

Tim

> On 30 Apr 2019, at 16:08, Tim Mackinnon <[email protected]> wrote:
> 
> 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 <[email protected] 
>> <mailto:[email protected]>> 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 <[email protected] 
>>> <mailto:[email protected]>> 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 <[email protected] 
>>> <mailto:[email protected]>> 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 <[email protected] 
>>>> <mailto:[email protected]>> 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 <[email protected] 
>>>> <mailto:[email protected]>> 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 <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>> 
>>>> On Wed, 3 Apr 2019 at 05:09, Richard O'Keefe <[email protected] 
>>>> <mailto:[email protected]>> 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 <[email protected] 
>>>> <mailto:[email protected]>> 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 <[email protected] 
>>>> <mailto:[email protected]>> 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 <[email protected] 
>>>> <mailto:[email protected]>> 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 <[email protected] 
>>>> > <mailto:[email protected]>> 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 &lt;
>>>> > 
>>>> >> jpfersich@
>>>> > 
>>>> >> &gt; 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 &lt;
>>>> > 
>>>> >> horrido.hobbies@
>>>> > 
>>>> >> &gt; 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
>> 
> 

Reply via email to