Oh well - even after modifying that method and trying the remoteTypeSelector: 
trick it insists on giving the iceAuthenticationError - so maybe the libcurl2 
install didn’t work (he said he had to install "libcurl-gnutls” to get that 
far).

Interestingly - my osx setup has suddenly starting giving me an 
IceAuthenticationError in a fresh image (I can’t imagine its related is it? 
Could that repo suddenly have some issue? I had the same error yesterday and 
had to clear out the iceberg-local). It seems that iceberg is still not quite 
as rock solid as we would like.

Tim

> On 30 Apr 2019, at 17:15, Tim Mackinnon <tim@testit.works> wrote:
> 
> 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 <tim@testit.works 
>> <mailto:tim@testit.works>> 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 <tim@testit.works 
>>> <mailto: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 &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