Re: [Pharo-project] Athens Mac os doc like animation
Oops, replace NBCog in the path by NBCog.app , as in: TCairoLibrary class>>nbLibraryNameOrHandle ....(Smalltalk vm vmPath asFileReference / 'NBCog.app' / 'Contents'/ 'MacOS' / 'Plugins' / 'libcairo.2.dylib' ) fullName ......... On Wed, Jul 4, 2012 at 10:27 PM, fernando.olivero@usi.ch <fernando.olivero@usi.ch> wrote:
To properly run the example, besides installing Athens you need to have Athens-SVG and XML Support.
"SVG support -----------------------------------------------------------------------" Gofer it url: 'http://www.squeaksource.com/MetacelloRepository'; package: 'ConfigurationOfXMLSupport'; load. (Smalltalk globals classNamed: 'ConfigurationOfXMLSupport') load.
Gofer it squeaksource: 'Athens'; package: 'Athens-SVG'; load.
To fix the previous mentioned library path modification install this, as temporal HACK, before Igors get's the change to review it.
TCairoLibrary class>>nbLibraryNameOrHandle (NativeBoost platformId = NativeBoostConstants linux32PlatformId) ifTrue: [ ^ '/usr/lib/libcairo.so' ]. (NativeBoost platformId = NativeBoostConstants mac32PlaformId) ifTrue: [ ^ (Smalltalk vm vmPath asFileReference / 'NBCog' / 'Contents'/ 'MacOS' / 'Plugins' / 'libcairo.2.dylib' ) fullName ]. self error: 'define your own path'
On Wed, Jul 4, 2012 at 10:04 PM, fernando.olivero@usi.ch <fernando.olivero@usi.ch> wrote:
Hi Stef, surely is happening because the path to the Cairo Lib changed.
It used to in the MacPorts path, but now Igor is shipping NB vm's with Cairo. So we should change the following method.
TCairoLibrary>>nbLibraryNameOrHandle (NativeBoost platformId = NativeBoostConstants linux32PlatformId) ifTrue: [ ^ '/usr/lib/libcairo.so' ]. (NativeBoost platformId = NativeBoostConstants mac32PlaformId) ifTrue: [ ^ '/opt/local/lib/libcairo.2.dylib' ]. self error: 'define your own path'
Fixing it now, will send the new method .
Fernando
On Wed, Jul 4, 2012 at 7:26 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
ASZoomerMorph new svg: 'Coche_ok_verte.svg' zoom: 0.1; openInWorld
Alex this is the example I was talking to you about.
Igor this is strange when I executed the athens image in which you hacked the animation on the latest NBCog vm it crashes.
Do you know where I can find the latest Athens friendly vm?
Stef
On 4 July 2012 22:57, Fernando Olivero <fernando.olivero@usi.ch> wrote:
Oops, replace NBCog in the path by NBCog.app , as in:
TCairoLibrary class>>nbLibraryNameOrHandle ....(Smalltalk vm vmPath asFileReference / 'NBCog.app' / 'Contents'/ 'MacOS' / 'Plugins' / 'libcairo.2.dylib' ) fullName .........
i changed the trait to use the extra class - CairoLibraryLoader so trait just calls to that class, and path finding is residing in class methods instead. damn, i should commit more often :)
On Wed, Jul 4, 2012 at 10:27 PM, fernando.olivero@usi.ch <fernando.olivero@usi.ch> wrote:
To properly run the example, besides installing Athens you need to have Athens-SVG and XML Support.
"SVG support -----------------------------------------------------------------------" Gofer it url: 'http://www.squeaksource.com/MetacelloRepository'; package: 'ConfigurationOfXMLSupport'; load. (Smalltalk globals classNamed: 'ConfigurationOfXMLSupport') load.
Gofer it squeaksource: 'Athens'; package: 'Athens-SVG'; load.
To fix the previous mentioned library path modification install this, as temporal HACK, before Igors get's the change to review it.
TCairoLibrary class>>nbLibraryNameOrHandle (NativeBoost platformId = NativeBoostConstants linux32PlatformId) ifTrue: [ ^ '/usr/lib/libcairo.so' ]. (NativeBoost platformId = NativeBoostConstants mac32PlaformId) ifTrue: [ ^ (Smalltalk vm vmPath asFileReference / 'NBCog' / 'Contents'/ 'MacOS' / 'Plugins' / 'libcairo.2.dylib' ) fullName ]. self error: 'define your own path'
On Wed, Jul 4, 2012 at 10:04 PM, fernando.olivero@usi.ch <fernando.olivero@usi.ch> wrote:
Hi Stef, surely is happening because the path to the Cairo Lib changed.
It used to in the MacPorts path, but now Igor is shipping NB vm's with Cairo. So we should change the following method.
TCairoLibrary>>nbLibraryNameOrHandle (NativeBoost platformId = NativeBoostConstants linux32PlatformId) ifTrue: [ ^ '/usr/lib/libcairo.so' ]. (NativeBoost platformId = NativeBoostConstants mac32PlaformId) ifTrue: [ ^ '/opt/local/lib/libcairo.2.dylib' ]. self error: 'define your own path'
Fixing it now, will send the new method .
Fernando
On Wed, Jul 4, 2012 at 7:26 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
ASZoomerMorph new svg: 'Coche_ok_verte.svg' zoom: 0.1; openInWorld
Alex this is the example I was talking to you about.
Igor this is strange when I executed the athens image in which you hacked the animation on the latest NBCog vm it crashes.
Do you know where I can find the latest Athens friendly vm?
Stef
-- Best regards, Igor Stasenko.
On Jul 5, 2012, at 1:58 AM, Igor Stasenko wrote:
On 4 July 2012 22:57, Fernando Olivero <fernando.olivero@usi.ch> wrote:
Oops, replace NBCog in the path by NBCog.app , as in:
TCairoLibrary class>>nbLibraryNameOrHandle ....(Smalltalk vm vmPath asFileReference / 'NBCog.app' / 'Contents'/ 'MacOS' / 'Plugins' / 'libcairo.2.dylib' ) fullName .........
i changed the trait to use the extra class - CairoLibraryLoader so trait just calls to that class, and path finding is residing in class methods instead.
damn, i should commit more often :)
yes can you commit before I leave on vacation? So that I can have a look at athens a bit more? Stef
On Wed, Jul 4, 2012 at 10:27 PM, fernando.olivero@usi.ch <fernando.olivero@usi.ch> wrote:
To properly run the example, besides installing Athens you need to have Athens-SVG and XML Support.
"SVG support -----------------------------------------------------------------------" Gofer it url: 'http://www.squeaksource.com/MetacelloRepository'; package: 'ConfigurationOfXMLSupport'; load. (Smalltalk globals classNamed: 'ConfigurationOfXMLSupport') load.
Gofer it squeaksource: 'Athens'; package: 'Athens-SVG'; load.
To fix the previous mentioned library path modification install this, as temporal HACK, before Igors get's the change to review it.
TCairoLibrary class>>nbLibraryNameOrHandle (NativeBoost platformId = NativeBoostConstants linux32PlatformId) ifTrue: [ ^ '/usr/lib/libcairo.so' ]. (NativeBoost platformId = NativeBoostConstants mac32PlaformId) ifTrue: [ ^ (Smalltalk vm vmPath asFileReference / 'NBCog' / 'Contents'/ 'MacOS' / 'Plugins' / 'libcairo.2.dylib' ) fullName ]. self error: 'define your own path'
On Wed, Jul 4, 2012 at 10:04 PM, fernando.olivero@usi.ch <fernando.olivero@usi.ch> wrote:
Hi Stef, surely is happening because the path to the Cairo Lib changed.
It used to in the MacPorts path, but now Igor is shipping NB vm's with Cairo. So we should change the following method.
TCairoLibrary>>nbLibraryNameOrHandle (NativeBoost platformId = NativeBoostConstants linux32PlatformId) ifTrue: [ ^ '/usr/lib/libcairo.so' ]. (NativeBoost platformId = NativeBoostConstants mac32PlaformId) ifTrue: [ ^ '/opt/local/lib/libcairo.2.dylib' ]. self error: 'define your own path'
Fixing it now, will send the new method .
Fernando
On Wed, Jul 4, 2012 at 7:26 PM, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
ASZoomerMorph new svg: 'Coche_ok_verte.svg' zoom: 0.1; openInWorld
Alex this is the example I was talking to you about.
Igor this is strange when I executed the athens image in which you hacked the animation on the latest NBCog vm it crashes.
Do you know where I can find the latest Athens friendly vm?
Stef
-- Best regards, Igor Stasenko.
I took the latest version of the VM and of the image and I loaded the dev configuration and I get a syntax error ffiGetEnv: str <> expected -> apicall: char * 'getenv' (char *) module:'libSystem.dylib'> ^ self externalCallFailed I removed the <> expected -> apicall: char * 'getenv' (char *) module:'libSystem.dylib'> and recompile but then it I got a lot more problems :( Stef
On 5 July 2012 08:27, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
I took the latest version of the VM and of the image and I loaded the dev configuration and I get
a syntax error ffiGetEnv: str
<> expected -> apicall: char * 'getenv' (char *) module:'libSystem.dylib'> ^ self externalCallFailed
I removed the <> expected -> apicall: char * 'getenv' (char *) module:'libSystem.dylib'> and recompile but then it I got a lot more problems :(
oops.. i forgot to delete that method.. this is in examples package and it compiles only in presence of FFI, which i tried to compare with .. i will remove that.
Stef
-- Best regards, Igor Stasenko.
On 5 July 2012 07:42, Stéphane Ducasse <stephane.ducasse@inria.fr> wrote:
On Jul 5, 2012, at 1:58 AM, Igor Stasenko wrote:
On 4 July 2012 22:57, Fernando Olivero <fernando.olivero@usi.ch> wrote:
Oops, replace NBCog in the path by NBCog.app , as in:
TCairoLibrary class>>nbLibraryNameOrHandle ....(Smalltalk vm vmPath asFileReference / 'NBCog.app' / 'Contents'/ 'MacOS' / 'Plugins' / 'libcairo.2.dylib' ) fullName .........
i changed the trait to use the extra class - CairoLibraryLoader so trait just calls to that class, and path finding is residing in class methods instead.
damn, i should commit more often :)
yes can you commit before I leave on vacation? So that I can have a look at athens a bit more?
i just made the snapshot of stuff. Load latest ConfigurationOfAthens package and invoke: ConfigurationOfAthens loadVersion: '1.2.1'
Stef
-- Best regards, Igor Stasenko.
participants (3)
-
Fernando Olivero -
Igor Stasenko -
Stéphane Ducasse