On 30 Apr 2019, at 15:53, Tim Mackinnon <[hidden email]> 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 thoughAUR does give an image so they downloaded the latest 64 bit one from here - 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:I’ve pasted the error below - for prosperity.TimPharo 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 Date: Wed Jan 23 07:09:49 2019 CommitHash: a4b2dfa6 Plugins: 201901231209 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 <[hidden email]> 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 <[hidden email]> 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 foundExternalLibraryFunction(Object)>>error:ExternalLibraryFunction(Object)>>externalCallFailedExternalLibraryFunction(ExternalFunction)>>invokeWithArguments:LGitLibrary>>libgit2_initFFICalloutAPI>>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 <[hidden email]> 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.debian.org/cgi-bin/bugreport.cgi?bug=900511Ubuntu 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 <[hidden email]> wrote:apt-cache searchreports everything it knows about, not just things that are INSTALLED.For example, apt-cache search reports lua-curl-dev, but it is notinstalled.apt list | grep lua-curl-devThe fact that neither libcurl3 nor libcurl4 is initially installedmeans that either of them can be installed without conflict.On Thu, 4 Apr 2019 at 01:34, Ben Coman <[hidden email]> wrote:On Wed, 3 Apr 2019 at 05:09, Richard O'Keefe <[hidden email]> wrote:I just did a complete reinstall of Ubuntu 18.4 on thislaptop 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 | lessI see libcurl3 and libcurl4cheers -benuname -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/LinuxOn Wed, 3 Apr 2019 at 01:27, Vitor Medina Cruz <[hidden email]> 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 <[hidden email]> wrote:I have Pharo 6.1 and Pharo 7.0 working in Ubuntu 18.04with no trouble so far. I just downloaded the launcherfrom pharo.org and pulled the images down that way.One thing I do find annoying in Ubuntu 18.04 is thenumber of programs (like okular) that spew warningmessages out the terminal. Pharo, sadly, is one ofthem. Whenever a debugger window comes up in Pharothere is spewage on the terminal. But it works.On Tue, 2 Apr 2019 at 13:07, john pfersich <[hidden email]> 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
See https://objectnets.net and https://objectnets.org
> On Apr 1, 2019, at 06:06, horrido <[hidden email]> 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
>>> See https://objectnets.net and 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
>
--
Guille PolitoResearch EngineerCentre de Recherche en Informatique, Signal et Automatique de LilleCRIStAL - UMR 9189French National Center for Scientific Research - http://www.cnrs.frPhone: +33 06 52 70 66 13
Free forum by Nabble | Edit this page |