no, now that I remember I think it was because of the longlong conversion bug⦠which *should* be fixed⦠but I might be wrong, heh Esteban
On 27 Jun 2016, at 23:21, Dale Henrichs <dale.henrichs@gemtalksystems.com> wrote:
Great thanks! ... I guess I started this project before UnifiedFFI was added to Pharo5.0?
So I should be able to remove a dependency on this project moving forward?
When you fix this bug, I assume that new Pharo5.0 images will be created with the patch already loaded, but what is the procedure for getting the patch into existing Pharo5.0 images? I'm expecting folks to be deploying images with this code loaded and in these cases, building from scratch may not be practical ...
Dale
On 06/27/2016 02:15 PM, Esteban Lorenzano wrote:
yeah, you do not need to load UFFI, afaik⦠it is already there⦠Iâm missing something?
and yes, not that Iâm seeing⦠seems that latest Alien update breaks UFFI because Callback has became a strategy and UFFI extends it⦠I need to think how to fix it, but most probably I need to transform FFICallback to delegate instead inherit.
I will check this tomorrow.
Esteban
On 27 Jun 2016, at 23:07, Dale Henrichs <dale.henrichs@gemtalksystems.com> wrote:
spec for: #(#'pharo5.x') do: [ spec configuration: 'UnifiedFFI' with: [ spec versionString: #development; repository: 'http://http://smalltalkhub.com/mc/Pharo/FFI-NB/main/' ]; yourself.
On 06/27/2016 01:50 PM, Dale Henrichs wrote:
I could have sworn this was working last week, but now I can't load the UnifiedFFI project.
Here's the stack ... note that this appears to be breaking during a SmalltalkImage>>saveAs: call that I make after loading a project that depends up UnifiedFFI during a batch job ...:
FFICallback class>>isForCurrentPlatform FFICallback class(Object)>>doesNotUnderstand: #isForCurrentPlatform [ :subclass | subclass isForCurrentPlatform ] in Callback class>>startUp: in Block: [ :subclass | subclass isForCurrentPlatform ] [ :each | (aBlock value: each) ifTrue: [ ^ foundBlock cull: each ] ] in Array(Collection)>>detect:ifFound:ifNone: in Block: [ :each | ... Array(SequenceableCollection)>>do: Array(Collection)>>detect:ifFound:ifNone: Array(Collection)>>detect:ifNone: Callback class>>startUp: ClassSessionHandler>>startup: [ :each | each startup: isImageStarting ] in WorkingSession>>runStartup: in Block: [ :each | each startup: isImageStarting ] [ aBlock value: each ] in [ :each | [ aBlock value: each ] on: Exception do: [ :error | self errorHandler handleError: error ] ] in WorkingSession>>runList:do: in Block: [ aBlock value: each ] BlockClosure>>on:do: [ :each | [ aBlock value: each ] on: Exception do: [ :error | self errorHandler handleError: error ] ] in WorkingSession>>runList:do: in Block: [ :each | ... Array(SequenceableCollection)>>do: WorkingSession>>runList:do: WorkingSession>>runStartup: WorkingSession>>start: SessionManager>>snapshot:andQuit: SmalltalkImage>>snapshot:andQuit: SmalltalkImage>>saveImageInFileNamed: SmalltalkImage>>saveAs: SaveCommandLineHandler>>saveImage SaveCommandLineHandler>>activate SaveCommandLineHandler class(CommandLineHandler class)>>activateWith: [ aCommandLinehandler activateWith: commandLine ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand: in Block: [ aCommandLinehandler activateWith: commandLine ] BlockClosure>>on:do: PharoCommandLineHandler(BasicCommandLineHandler)>>activateSubCommand: PharoCommandLineHandler(BasicCommandLineHandler)>>handleSubcommand PharoCommandLineHandler(BasicCommandLineHandler)>>handleArgument: [ self handleArgument: (self arguments ifEmpty: [ '' ] ifNotEmpty: [ :arguments | arguments first ]) ] in PharoCommandLineHandler(BasicCommandLineHandler)>>activate in Block: [ self... BlockClosure>>on:do: