Iceberg issue on Ubuntu 16.04.3 Pharo 6.1

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Iceberg issue on Ubuntu 16.04.3 Pharo 6.1

Pharo Smalltalk Users mailing list
Hi, 

I am trying to build a project in ubuntu 16.04.3. To this:
- I downloaded Pharo 6.1 (60541) 64bit
- I open the Pharo image and execute:

Metacello new
   baseline: 'GToolkit';
   repository: '<a href="github://feenkcom/gtoolkit/src" class="">github://feenkcom/gtoolkit/src';
   load.
I have the following issue: LGit_GIT_ERROR: SSL error: error:140E0197:SSL routines:SSL_shutdown:shutdown while in init
The full stack is below. 
I can clone the repository from a terminal using: git clone [hidden email]:feenkcom/gtoolkit.git
I believe that my settings are correct (same that I use on macOS): 



Is Iceberg suppose to work on Ubuntu 16.04.3 64bit?
I have noticed that it works in Pharo 7 64bit (excluding the fact gtoolkit does not work in Pharo 7 yet).
I found this bug report that might be related: https://github.com/libgit2/libgit2/issues/4644 

Thanks!
Juraj


Full stack:

LGitReturnCodeEnum>>handleLGitReturnCode
LGitRepository(LGitExternalObject)>>withReturnHandlerDo:
LGitRepository>>clone:options:to:
LGitRepository>>clone:options:
[ repo clone: url options: cloneOptions ] in [ | repo cloneOptions |
repo := LGitRepository on: self location.
cloneOptions := LGitCloneOptions
withCredentialsProvider: IceCredentialsProvider default.
cloneOptions checkoutOptions
checkoutStrategy: LGitCheckoutStrategyEnum git_checkout_none.
[ repo clone: url options: cloneOptions ]
on: LGit_GIT_ERROR
do: [ :e | e acceptError: IceLibgitErrorVisitor new ].
repo
checkout:
(aBranchName
ifNil:
[ self branch ifNotNil: [ :b | b name ] ifNil: [ 'master' ] ]).
(LGitRemote of: repo named: 'origin')
lookup;
setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch: in Block: [ repo clone: url options: cloneOptions ]
BlockClosure>>on:do:
[ | repo cloneOptions |
repo := LGitRepository on: self location.
cloneOptions := LGitCloneOptions
withCredentialsProvider: IceCredentialsProvider default.
cloneOptions checkoutOptions
checkoutStrategy: LGitCheckoutStrategyEnum git_checkout_none.
[ repo clone: url options: cloneOptions ]
on: LGit_GIT_ERROR
do: [ :e | e acceptError: IceLibgitErrorVisitor new ].
repo
checkout:
(aBranchName
ifNil:
[ self branch ifNotNil: [ :b | b name ] ifNil: [ 'master' ] ]).
(LGitRemote of: repo named: 'origin')
lookup;
setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch: in Block: [ | repo cloneOptions |...
[ self checkInitialized.
aBlock value ] in LGitGlobal class>>runSequence: in Block: [ self checkInitialized....
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in LGitActionSequence(DynamicVariable)>>value:during: in Block: [ activeProcess psValueAt: index put: anObject....
BlockClosure>>ensure:
LGitActionSequence(DynamicVariable)>>value:during:
LGitActionSequence class(DynamicVariable class)>>value:during:
LGitGlobal class>>runSequence:
IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
IceRepositoryCreator>>createRepository
[ (IceRepositoryCreator new
url: urlToUse;
subdirectory: repoPath;
branchName: self projectVersion;
createRepository) register ] in [ | urlToUse |
urlToUse := remote url.
[ (IceRepositoryCreator new
url: urlToUse;
subdirectory: repoPath;
branchName: self projectVersion;
createRepository) register ]
on: IceAuthenticationError
do: [ :e | 
self
crLog:
('I got an error while cloning: {1}. I will try to clone the HTTPS variant.'
format: {e messageText}).
urlToUse := remote httpsUrl.
e retry ] ] in MCGitHubRepository(MCGitBasedNetworkRepository)>>getOrCreateIcebergRepository in Block: [ (IceRepositoryCreator new...
BlockClosure>>on:do:
[ | urlToUse |
urlToUse := remote url.
[ (IceRepositoryCreator new
url: urlToUse;
subdirectory: repoPath;
branchName: self projectVersion;
createRepository) register ]
on: IceAuthenticationError
do: [ :e | 
self
crLog:
('I got an error while cloning: {1}. I will try to clone the HTTPS variant.'
format: {e messageText}).
urlToUse := remote httpsUrl.
e retry ] ] in MCGitHubRepository(MCGitBasedNetworkRepository)>>getOrCreateIcebergRepository in Block: [ | urlToUse |...
OrderedCollection(Collection)>>detect:ifFound:ifNone:
OrderedCollection(Collection)>>detect:ifNone:
MCGitHubRepository(MCGitBasedNetworkRepository)>>getOrCreateIcebergRepository
IceGithubRepositoryType>>mcRepository
Iceberg class>>mcRepositoryFor:
IceMetacelloPharoPlatform>>createRepository:
MetacelloMCBaselineProject(MetacelloMCProject)>>createRepository:
MetacelloRepositorySpec>>createRepository
[ aSpec createRepository ] in [ :aSpec | 
| description repo |
description := aSpec description.
(repo := repositories
detect: [ :rep | rep description = description ]
ifNone: [ aSpec createRepository ]) ~~ nil
ifTrue: [ repos add: repo ] ] in MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>repositoriesFrom:ignoreOverrides: in Block: [ aSpec createRepository ]
Array(Collection)>>detect:ifFound:ifNone:
Array(Collection)>>detect:ifNone:
[ :aSpec | 
| description repo |
description := aSpec description.
(repo := repositories
detect: [ :rep | rep description = description ]
ifNone: [ aSpec createRepository ]) ~~ nil
ifTrue: [ repos add: repo ] ] in MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>repositoriesFrom:ignoreOverrides: in Block: [ :aSpec | ...

Reply | Threaded
Open this post in threaded view
|

Re: Iceberg issue on Ubuntu 16.04.3 Pharo 6.1

Guillermo Polito
Hi Juraj,

The version of Iceberg in Pharo 6.1 is just a preview and we have decided so far that we will not update it so far to avoid disrupting people using Pharo6.1 for business.
Also, iceberg development has moved forward a lot on Pharo7, I don't think that a "simple fix" could be just backported.

Maybe you can try instead to upgrade your pharo6.1 image with latest iceberg? Try using the script in iceberg's readme.

On Tue, Jul 17, 2018 at 2:58 AM Juraj Kubelka via Pharo-users <[hidden email]> wrote:
Hi, 

I am trying to build a project in ubuntu 16.04.3. To this:
- I downloaded Pharo 6.1 (60541) 64bit
- I open the Pharo image and execute:

Metacello new
   baseline: 'GToolkit';
   repository: 'github://feenkcom/gtoolkit/src';
   load.
I have the following issue: LGit_GIT_ERROR: SSL error: error:140E0197:SSL routines:SSL_shutdown:shutdown while in init
The full stack is below. 
I can clone the repository from a terminal using: git clone [hidden email]:feenkcom/gtoolkit.git
I believe that my settings are correct (same that I use on macOS): 



Is Iceberg suppose to work on Ubuntu 16.04.3 64bit?
I have noticed that it works in Pharo 7 64bit (excluding the fact gtoolkit does not work in Pharo 7 yet).
I found this bug report that might be related: https://github.com/libgit2/libgit2/issues/4644 

Thanks!
Juraj


Full stack:

LGitReturnCodeEnum>>handleLGitReturnCode
LGitRepository(LGitExternalObject)>>withReturnHandlerDo:
LGitRepository>>clone:options:to:
LGitRepository>>clone:options:
[ repo clone: url options: cloneOptions ] in [ | repo cloneOptions |
repo := LGitRepository on: self location.
cloneOptions := LGitCloneOptions
withCredentialsProvider: IceCredentialsProvider default.
cloneOptions checkoutOptions
checkoutStrategy: LGitCheckoutStrategyEnum git_checkout_none.
[ repo clone: url options: cloneOptions ]
on: LGit_GIT_ERROR
do: [ :e | e acceptError: IceLibgitErrorVisitor new ].
repo
checkout:
(aBranchName
ifNil:
[ self branch ifNotNil: [ :b | b name ] ifNil: [ 'master' ] ]).
(LGitRemote of: repo named: 'origin')
lookup;
setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch: in Block: [ repo clone: url options: cloneOptions ]
BlockClosure>>on:do:
[ | repo cloneOptions |
repo := LGitRepository on: self location.
cloneOptions := LGitCloneOptions
withCredentialsProvider: IceCredentialsProvider default.
cloneOptions checkoutOptions
checkoutStrategy: LGitCheckoutStrategyEnum git_checkout_none.
[ repo clone: url options: cloneOptions ]
on: LGit_GIT_ERROR
do: [ :e | e acceptError: IceLibgitErrorVisitor new ].
repo
checkout:
(aBranchName
ifNil:
[ self branch ifNotNil: [ :b | b name ] ifNil: [ 'master' ] ]).
(LGitRemote of: repo named: 'origin')
lookup;
setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch: in Block: [ | repo cloneOptions |...
[ self checkInitialized.
aBlock value ] in LGitGlobal class>>runSequence: in Block: [ self checkInitialized....
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in LGitActionSequence(DynamicVariable)>>value:during: in Block: [ activeProcess psValueAt: index put: anObject....
BlockClosure>>ensure:
LGitActionSequence(DynamicVariable)>>value:during:
LGitActionSequence class(DynamicVariable class)>>value:during:
LGitGlobal class>>runSequence:
IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
IceRepositoryCreator>>createRepository
[ (IceRepositoryCreator new
url: urlToUse;
subdirectory: repoPath;
branchName: self projectVersion;
createRepository) register ] in [ | urlToUse |
urlToUse := remote url.
[ (IceRepositoryCreator new
url: urlToUse;
subdirectory: repoPath;
branchName: self projectVersion;
createRepository) register ]
on: IceAuthenticationError
do: [ :e | 
self
crLog:
('I got an error while cloning: {1}. I will try to clone the HTTPS variant.'
format: {e messageText}).
urlToUse := remote httpsUrl.
e retry ] ] in MCGitHubRepository(MCGitBasedNetworkRepository)>>getOrCreateIcebergRepository in Block: [ (IceRepositoryCreator new...
BlockClosure>>on:do:
[ | urlToUse |
urlToUse := remote url.
[ (IceRepositoryCreator new
url: urlToUse;
subdirectory: repoPath;
branchName: self projectVersion;
createRepository) register ]
on: IceAuthenticationError
do: [ :e | 
self
crLog:
('I got an error while cloning: {1}. I will try to clone the HTTPS variant.'
format: {e messageText}).
urlToUse := remote httpsUrl.
e retry ] ] in MCGitHubRepository(MCGitBasedNetworkRepository)>>getOrCreateIcebergRepository in Block: [ | urlToUse |...
OrderedCollection(Collection)>>detect:ifFound:ifNone:
OrderedCollection(Collection)>>detect:ifNone:
MCGitHubRepository(MCGitBasedNetworkRepository)>>getOrCreateIcebergRepository
IceGithubRepositoryType>>mcRepository
Iceberg class>>mcRepositoryFor:
IceMetacelloPharoPlatform>>createRepository:
MetacelloMCBaselineProject(MetacelloMCProject)>>createRepository:
MetacelloRepositorySpec>>createRepository
[ aSpec createRepository ] in [ :aSpec | 
| description repo |
description := aSpec description.
(repo := repositories
detect: [ :rep | rep description = description ]
ifNone: [ aSpec createRepository ]) ~~ nil
ifTrue: [ repos add: repo ] ] in MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>repositoriesFrom:ignoreOverrides: in Block: [ aSpec createRepository ]
Array(Collection)>>detect:ifFound:ifNone:
Array(Collection)>>detect:ifNone:
[ :aSpec | 
| description repo |
description := aSpec description.
(repo := repositories
detect: [ :rep | rep description = description ]
ifNone: [ aSpec createRepository ]) ~~ nil
ifTrue: [ repos add: repo ] ] in MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>repositoriesFrom:ignoreOverrides: in Block: [ :aSpec | ...



--

   

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


Web: http://guillep.github.io

Phone: +33 06 52 70 66 13


Screen Shot 2018-07-16 at 20.24.31.png (246K) Download Attachment
Screen Shot 2018-07-16 at 20.24.31.png (246K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Iceberg issue on Ubuntu 16.04.3 Pharo 6.1

Pharo Smalltalk Users mailing list
Hi Guillermo,

Thank you for the explanation. I have noticed that if I use  https://get.pharo.org/64/vm61 instead of 64/vmI61 (__I__ letter) it works. The same happens for Pharo 7.0. 

Cheers,
Juraj

On Jul 17, 2018, at 04:33, Guillermo Polito <[hidden email]> wrote:

Hi Juraj,

The version of Iceberg in Pharo 6.1 is just a preview and we have decided so far that we will not update it so far to avoid disrupting people using Pharo6.1 for business.
Also, iceberg development has moved forward a lot on Pharo7, I don't think that a "simple fix" could be just backported.

Maybe you can try instead to upgrade your pharo6.1 image with latest iceberg? Try using the script in iceberg's readme.

On Tue, Jul 17, 2018 at 2:58 AM Juraj Kubelka via Pharo-users <[hidden email]> wrote:
Hi, 

I am trying to build a project in ubuntu 16.04.3. To this:
- I downloaded Pharo 6.1 (60541) 64bit
- I open the Pharo image and execute:

Metacello new
   baseline: 'GToolkit';
   repository: '<a href="github://feenkcom/gtoolkit/src" class="">github://feenkcom/gtoolkit/src';
   load.
I have the following issue: LGit_GIT_ERROR: SSL error: error:140E0197:SSL routines:SSL_shutdown:shutdown while in init
The full stack is below. 
I can clone the repository from a terminal using: git clone [hidden email]:feenkcom/gtoolkit.git
I believe that my settings are correct (same that I use on macOS): 



Is Iceberg suppose to work on Ubuntu 16.04.3 64bit?
I have noticed that it works in Pharo 7 64bit (excluding the fact gtoolkit does not work in Pharo 7 yet).
I found this bug report that might be related: https://github.com/libgit2/libgit2/issues/4644 

Thanks!
Juraj


Full stack:

LGitReturnCodeEnum>>handleLGitReturnCode
LGitRepository(LGitExternalObject)>>withReturnHandlerDo:
LGitRepository>>clone:options:to:
LGitRepository>>clone:options:
[ repo clone: url options: cloneOptions ] in [ | repo cloneOptions |
repo := LGitRepository on: self location.
cloneOptions := LGitCloneOptions
withCredentialsProvider: IceCredentialsProvider default.
cloneOptions checkoutOptions
checkoutStrategy: LGitCheckoutStrategyEnum git_checkout_none.
[ repo clone: url options: cloneOptions ]
on: LGit_GIT_ERROR
do: [ :e | e acceptError: IceLibgitErrorVisitor new ].
repo
checkout:
(aBranchName
ifNil:
[ self branch ifNotNil: [ :b | b name ] ifNil: [ 'master' ] ]).
(LGitRemote of: repo named: 'origin')
lookup;
setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch: in Block: [ repo clone: url options: cloneOptions ]
BlockClosure>>on:do:
[ | repo cloneOptions |
repo := LGitRepository on: self location.
cloneOptions := LGitCloneOptions
withCredentialsProvider: IceCredentialsProvider default.
cloneOptions checkoutOptions
checkoutStrategy: LGitCheckoutStrategyEnum git_checkout_none.
[ repo clone: url options: cloneOptions ]
on: LGit_GIT_ERROR
do: [ :e | e acceptError: IceLibgitErrorVisitor new ].
repo
checkout:
(aBranchName
ifNil:
[ self branch ifNotNil: [ :b | b name ] ifNil: [ 'master' ] ]).
(LGitRemote of: repo named: 'origin')
lookup;
setUrl: url ] in IceLibgitLocalRepository>>cloneRepositoryFrom:branch: in Block: [ | repo cloneOptions |...
[ self checkInitialized.
aBlock value ] in LGitGlobal class>>runSequence: in Block: [ self checkInitialized....
[ activeProcess psValueAt: index put: anObject.
aBlock value ] in LGitActionSequence(DynamicVariable)>>value:during: in Block: [ activeProcess psValueAt: index put: anObject....
BlockClosure>>ensure:
LGitActionSequence(DynamicVariable)>>value:during:
LGitActionSequence class(DynamicVariable class)>>value:during:
LGitGlobal class>>runSequence:
IceLibgitLocalRepository>>cloneRepositoryFrom:branch:
IceRepositoryCreator>>createRepository
[ (IceRepositoryCreator new
url: urlToUse;
subdirectory: repoPath;
branchName: self projectVersion;
createRepository) register ] in [ | urlToUse |
urlToUse := remote url.
[ (IceRepositoryCreator new
url: urlToUse;
subdirectory: repoPath;
branchName: self projectVersion;
createRepository) register ]
on: IceAuthenticationError
do: [ :e | 
self
crLog:
('I got an error while cloning: {1}. I will try to clone the HTTPS variant.'
format: {e messageText}).
urlToUse := remote httpsUrl.
e retry ] ] in MCGitHubRepository(MCGitBasedNetworkRepository)>>getOrCreateIcebergRepository in Block: [ (IceRepositoryCreator new...
BlockClosure>>on:do:
[ | urlToUse |
urlToUse := remote url.
[ (IceRepositoryCreator new
url: urlToUse;
subdirectory: repoPath;
branchName: self projectVersion;
createRepository) register ]
on: IceAuthenticationError
do: [ :e | 
self
crLog:
('I got an error while cloning: {1}. I will try to clone the HTTPS variant.'
format: {e messageText}).
urlToUse := remote httpsUrl.
e retry ] ] in MCGitHubRepository(MCGitBasedNetworkRepository)>>getOrCreateIcebergRepository in Block: [ | urlToUse |...
OrderedCollection(Collection)>>detect:ifFound:ifNone:
OrderedCollection(Collection)>>detect:ifNone:
MCGitHubRepository(MCGitBasedNetworkRepository)>>getOrCreateIcebergRepository
IceGithubRepositoryType>>mcRepository
Iceberg class>>mcRepositoryFor:
IceMetacelloPharoPlatform>>createRepository:
MetacelloMCBaselineProject(MetacelloMCProject)>>createRepository:
MetacelloRepositorySpec>>createRepository
[ aSpec createRepository ] in [ :aSpec | 
| description repo |
description := aSpec description.
(repo := repositories
detect: [ :rep | rep description = description ]
ifNone: [ aSpec createRepository ]) ~~ nil
ifTrue: [ repos add: repo ] ] in MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>repositoriesFrom:ignoreOverrides: in Block: [ aSpec createRepository ]
Array(Collection)>>detect:ifFound:ifNone:
Array(Collection)>>detect:ifNone:
[ :aSpec | 
| description repo |
description := aSpec description.
(repo := repositories
detect: [ :rep | rep description = description ]
ifNone: [ aSpec createRepository ]) ~~ nil
ifTrue: [ repos add: repo ] ] in MetacelloFetchingMCSpecLoader(MetacelloCommonMCSpecLoader)>>repositoriesFrom:ignoreOverrides: in Block: [ :aSpec | ...



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

Phone: +33 06 52 70 66 13
<Screen Shot 2018-07-16 at 20.24.31.png><Screen Shot 2018-07-16 at 20.24.31.png>