Ciao,

        after load the GitFileTree on Pharo 5.0 ( I use the desktop Pharo image 
)

        when in Monticello Browser  i add a new repository based on 
gitfiletree://  

        after select a directory (on the local disk ) the system answer:

PrimitiveFailed: primitive #loadSymbol:module: in ExternalAddress class failed

The relative variable are:
        loadSymbol:     'environ'       module:  libc.dylib

The stack is:

ExternalAddress class>>loadSymbol:module:
ExternalAddress class>>loadSymbol:from:
UnixEnvironment>>environ
UnixEnvironment>>environAt:
[ associationString := self environAt: index.
associationString ifNil: [ ^ self ].
self keysAndValuesDo: aBlock withAssociationString: associationString.
index := index + 1 ] in UnixEnvironment>>keysAndValuesDo: in Block: [ 
associationString := self environAt: index....
BlockClosure>>repeat
UnixEnvironment>>keysAndValuesDo:
UnixEnvironment(OSEnvironment)>>asDictionary
OSSUnixSubprocess>>defaultEnvVariablesDictionary
OSSUnixSubprocess>>addAllEnvVariablesFromParentWithoutOverride
OSSUnixSubprocess>>buildPrimitiveEnvArgument
OSSUnixSubprocess>>internalRun
[ self internalRun ] in OSSUnixSubprocess>>run in Block: [ self internalRun ]
BlockClosure>>ensure:
OSSUnixSubprocess>>run
OSSUnixSubprocess>>runAndWaitPollingEvery:retrievingStreams:onExitDo:
MCFileTreeGitRepository class>>runOSSubprocessGitCommand:in:
[ :bar | 
bar label: self gitCommand , ' ' , anArrayOfStrings first.
Smalltalk platform isWin32
        
ifTrue:
                
[ ^ self runProcessWrapperGitCommand: anArrayOfStrings in: aDirectory ]
        
ifFalse: [ ((Smalltalk at: #OSSUnixSubprocess ifAbsent: [  ])
                        
ifNil: [ false ]
                        
ifNotNil: [ :g | g isClass ])
                        
ifTrue: [ ^ self runOSSubprocessGitCommand: anArrayOfStrings in: aDirectory ]
                        
ifFalse: [ ^ self runOSProcessGitCommand: anArrayOfStrings in: aDirectory ] ] ] 
in MCFileTreeGitRepository class>>runGitCommand:in: in Block: [ :bar | ...
[ :bar | aBlock value: bar ] in MorphicUIManager>>informUserDuring: in Block: [ 
:bar | aBlock value: bar ]
BlockClosure>>cull:
[ ^ block cull: self ] in [ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ 
^ block cull: self ]
[ p psValueAt: index put: anObject.
aBlock value ] in CurrentJob(DynamicVariable)>>value:during: in Block: [ p 
psValueAt: index put: anObject....
BlockClosure>>ensure:
CurrentJob(DynamicVariable)>>value:during:
CurrentJob class(DynamicVariable class)>>value:during:
[ self prepareForRunning.
CurrentJob value: self during: [ ^ block cull: self ] ] in Job>>run in Block: [ 
self prepareForRunning....
BlockClosure>>ensure:
Job>>run
MorphicUIManager(UIManager)>>displayProgress:from:to:during:
MorphicUIManager>>informUserDuring

        Considerations ?

                Thanks,

                        Dario
                

Reply via email to