> On 12 Apr 2017, at 18:43, Alistair Grant <[email protected]> wrote:
>
> Hi Esteban,
>
> On Wed, Apr 12, 2017 at 06:08:56PM +0200, Esteban Lorenzano wrote:
>> forget to say that iceberg will not work 100% yet :)
>> but here, problem is because you need to install the threaded version, which
>> of course I forget to point :P
>>
>> curl get.pharo.org/64/60+vmTLatest | bash
>>
>> this is the correct one for linux users.
>
> Thanks, I'm successfully past the Metacello load.
>
> Next problem:
>
> PrimitiveFailed: primitive #integerAt:put:size:signed: in ExternalAddress
> failed
the OSSubprocess maintainer needs to adapt his sources, I guess… we cannot
provide automatic compatibility… :)
Esteban
>
> while executing:
>
> proc := OSSUnixSubprocess new
> command: 'git';
> arguments: #('config' '--global' 'user.name' 'AlistairGrant');
> runAndWaitOnExitDo: [ :cmd :out :err | self assert: cmd
> isSuccess ].
>
> I'm going to have to learn about FFI some time...
>
> Full stack below.
>
> I should have also added I'm on Ubuntu 16.04, and this obviously all
> works fine in the 32bit VM / image.
>
> Cheers,
> Alistair
>
>
>
> ExternalAddress(Object)>>primitiveFailed:
> ExternalAddress(Object)>>primitiveFailed
> ExternalAddress(ByteArray)>>integerAt:put:size:signed:
> ExternalAddress(ByteArray)>>unsignedLongAt:put:
> ExternalAddress(ByteArray)>>nbUInt32AtOffset:put:
> [ :string :index |
> | pointer |
> "0 terminated"
> pointer := ExternalAddress allocate: string size + 1.
> self registerPointer: pointer.
> LibC memCopy: string to: pointer size: string size.
> pointer nbUInt8AtOffset: string size put: 0. "string terminating null char"
> aPointer
> nbUInt32AtOffset: (index - 1) * self systemAccessor sizeOfPointer
> put: pointer value ] in OSSUnixSubprocess>>collectArgumentPointersInto:
> in Block: [ :string :index | ...
> OrderedCollection(SequenceableCollection)>>withIndexDo:
> OSSUnixSubprocess>>collectArgumentPointersInto:
> OSSUnixSubprocess>>buildPrimitiveArgVArgument
> OSSUnixSubprocess>>internalRun
> [ self internalRun ] in OSSUnixSubprocess>>run in Block: [ self internalRun ]
> BlockClosure>>ensure:
> OSSUnixSubprocess>>run
> OSSUnixSubprocess>>runAndWaitOnExitDo:
> UndefinedObject>>DoIt
> OpalCompiler>>evaluate
> DoItChunk>>importFor:
> [ :declaration |
> requestor ifNotNil: [ requestor contents: declaration contents ].
> value := declaration importFor: requestor ] in
> CodeImporter>>evaluateDeclarations in Block: [ :declaration | ...
> OrderedCollection>>do:
> CodeImporter>>evaluateDeclarations
> CodeImporter class>>evaluateFileStream:
> MultiByteFileStream(FileStream)>>fileIn
> FileStream class>>fileIn:
> SimpleServiceEntry>>performServiceFor:
> PluggableButtonMorph>>performAction:
> [ :m |
> (m containsPoint: evt cursorPoint)
> ifTrue: [ m enabled
> ifTrue: [ m performAction: evt ] ] ] in
> PluggableButtonMorph>>mouseUp: in Block: [ :m | ...
> Array(SequenceableCollection)>>do:
> PluggableButtonMorph>>mouseUp:
> PluggableButtonMorph(Morph)>>handleMouseUp:
> MouseButtonEvent>>sentTo:
>