Re: [Pharo-project] The video about Athens
Athens is an API, the rendering is actually done by the backends. Currently Ballon and Cairo are supported. So, the answer is that Athens is supported in all platforms using the Ballon backend, (note that ballon does not have all the features of Cairo, so some of the features in the demo wont work), and the Cairo backend as well. You just need to tell NativeBoos were to locate the cairo library (built using MacPorts, so the path starts at /opt/...). For now we just hardcoded the library path (you can change them by hand for now, to point to your local Cairo lib) TCairoLibrary class>>nbLibraryNameOrHandle ^ '/opt/local/lib/libcairo.2.dylib' AthensSurface class>>nbLibraryNameOrHandle ^ '/opt/local/lib/libcairo.2.dylib' This should be changed, perhaps a settings? Fernando On Fri, Apr 20, 2012 at 12:25 PM, Alexis Parseghian <a.parseg@gmail.com> wrote:
People should start to use Athens, apps around Pharo would start be look waaaayyy cooler.
About that.
Is it supposed to work outside of the Mac platform ?
Tried the demo, and AthensDemoMorph new openInWorld crashes on "function unavailable". That backtraces into Block in NBFFICallout>>generateCall:module: where module seems to be '/opt/local/lib/libcairo.2.dylib' which is obviously Mac-ish but makes no sense on Linux.
Where is the library name and location set/picked up ? I guess this question could be generalized to how the platform-specific initialization happens.
As an aside, all NativeBoost-Tests are green.
Platform : debian testing 64-bit with ia32 libs installed. Latest NBCogVM from jenkins, blank Pharo 1.4 #14414 with Athens 1.0 (explicitly) installed from SS:Athens/ConfigurationOfAthens.
I also look forward to discovering whatever new, inventive stuff these new projects enable.
As i suspected, it works out of the box on my ubuntu-32 bit installation, i just had to change the cairo library path to /usr/lib/libcairo.so :) On 20 April 2012 14:30, Fernando Olivero <fernando.olivero@usi.ch> wrote:
Athens is an API, the rendering is actually done by the backends. Currently Ballon and Cairo are supported.
So, the answer is that Athens is supported in all platforms using the Ballon backend, (note that ballon does not have all the features of Cairo, so some of the features in the demo wont work), and the  Cairo backend as well.
You just need to tell NativeBoos were to locate the cairo library (built using MacPorts, so the path starts at /opt/...).
For now we just hardcoded the library path (you can change them by hand for now, to point to your local Cairo lib)
TCairoLibrary class>>nbLibraryNameOrHandle     ^ '/opt/local/lib/libcairo.2.dylib'
AthensSurface class>>nbLibraryNameOrHandle     ^ '/opt/local/lib/libcairo.2.dylib'
This should be changed, perhaps a settings?
Fernando
On Fri, Apr 20, 2012 at 12:25 PM, Alexis Parseghian <a.parseg@gmail.com> wrote:
People should start to use Athens, apps around Pharo would start be look waaaayyy cooler.
About that.
Is it supposed to work outside of the Mac platform ?
Tried the demo, and AthensDemoMorph new openInWorld crashes on "function unavailable". That backtraces into Block in NBFFICallout>>generateCall:module: where module seems to be '/opt/local/lib/libcairo.2.dylib' which is obviously Mac-ish but makes no sense on Linux.
Where is the library name and location set/picked up ? I guess this question could be generalized to how the platform-specific initialization happens.
As an aside, all NativeBoost-Tests are green.
Platform : debian testing 64-bit with ia32 libs installed. Latest NBCogVM from jenkins, blank Pharo 1.4 #14414 with Athens 1.0 (explicitly) installed from SS:Athens/ConfigurationOfAthens.
I also look forward to discovering whatever new, inventive stuff these new projects enable.
-- Best regards, Igor Stasenko.
i uploaded the new version of Athens-Cairo, which takes the 'default' path depending on platform it running, also fixed it, so you don't have to change multiple places. also , updated config version 1.0 to load this package. On 20 April 2012 14:45, Igor Stasenko <siguctua@gmail.com> wrote:
As i suspected, it works out of the box on my ubuntu-32 bit installation, i just had to change the cairo library path to /usr/lib/libcairo.so
:)
On 20 April 2012 14:30, Fernando Olivero <fernando.olivero@usi.ch> wrote:
Athens is an API, the rendering is actually done by the backends. Currently Ballon and Cairo are supported.
So, the answer is that Athens is supported in all platforms using the Ballon backend, (note that ballon does not have all the features of Cairo, so some of the features in the demo wont work), and the  Cairo backend as well.
You just need to tell NativeBoos were to locate the cairo library (built using MacPorts, so the path starts at /opt/...).
For now we just hardcoded the library path (you can change them by hand for now, to point to your local Cairo lib)
TCairoLibrary class>>nbLibraryNameOrHandle     ^ '/opt/local/lib/libcairo.2.dylib'
AthensSurface class>>nbLibraryNameOrHandle     ^ '/opt/local/lib/libcairo.2.dylib'
This should be changed, perhaps a settings?
Fernando
On Fri, Apr 20, 2012 at 12:25 PM, Alexis Parseghian <a.parseg@gmail.com> wrote:
People should start to use Athens, apps around Pharo would start be look waaaayyy cooler.
About that.
Is it supposed to work outside of the Mac platform ?
Tried the demo, and AthensDemoMorph new openInWorld crashes on "function unavailable". That backtraces into Block in NBFFICallout>>generateCall:module: where module seems to be '/opt/local/lib/libcairo.2.dylib' which is obviously Mac-ish but makes no sense on Linux.
Where is the library name and location set/picked up ? I guess this question could be generalized to how the platform-specific initialization happens.
As an aside, all NativeBoost-Tests are green.
Platform : debian testing 64-bit with ia32 libs installed. Latest NBCogVM from jenkins, blank Pharo 1.4 #14414 with Athens 1.0 (explicitly) installed from SS:Athens/ConfigurationOfAthens.
I also look forward to discovering whatever new, inventive stuff these new projects enable.
-- Best regards, Igor Stasenko.
-- Best regards, Igor Stasenko.
On Fri, Apr 20, 2012 at 2:54 PM, Igor Stasenko <siguctua@gmail.com> wrote:
i uploaded the new version of Athens-Cairo, which takes the 'default' path depending on platform it running, also fixed it, so you don't have to change multiple places. also , updated config version 1.0 to load this package.
Retried in a fresh image and refetch of the new config and I can confirm the proper lib path (assuming 32-bits arch). Still doesn't work here but that's related to the 32-bit/64-bit mix ; not worth wasting time on at this point. I'll retest in a pure 32-bit environment but considering your last post I don't expect any surprise there. Somewhat related, trying to view TCairoLibrary class with Nautilus, I get a MNU which I'll detail in a separate post. Thanks for your time and efforts :)
I loaded into a fresh 1.4 image with: Gofer it squeaksource: 'Athens'; package: 'ConfigurationOfAthens'; load. (ConfigurationOfAthens project version: '1.0') load. When I doIt: m := AthensDemoMorph new openInWorld. I get Generic failure fnSpec: #(#bool #ioRegisterSurface #(#ulong #aCairoSurfaceHandle #, #void #* #sqSurfaceDispatchPtr #, #int #* #idHolder)) module: #SurfacePlugin errorCode: 1 -- View this message in context: http://forum.world.st/The-video-about-Athens-tp4571100p4574740.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
Sean P. DeNigris wrote
I get Generic failure fnSpec: #(#bool #ioRegisterSurface #(#ulong #aCairoSurfaceHandle #, #void #* #sqSurfaceDispatchPtr #, #int #* #idHolder)) module: #SurfacePlugin errorCode: 1
Igor, I guess you didn't run into this on Mac... any ideas why it's still not working? Sean -- View this message in context: http://forum.world.st/The-video-about-Athens-tp4571100p4576317.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
no he did it on mac because he used snapZpro to produce the video Stef s On Apr 21, 2012, at 2:03 PM, Sean P. DeNigris wrote:
Sean P. DeNigris wrote
I get Generic failure fnSpec: #(#bool #ioRegisterSurface #(#ulong #aCairoSurfaceHandle #, #void #* #sqSurfaceDispatchPtr #, #int #* #idHolder)) module: #SurfacePlugin errorCode: 1
Igor, I guess you didn't run into this on Mac... any ideas why it's still not working?
Sean
-- View this message in context: http://forum.world.st/The-video-about-Athens-tp4571100p4576317.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
On 21 April 2012 14:03, Sean P. DeNigris <sean@clipperadams.com> wrote:
Sean P. DeNigris wrote
I get Generic failure   fnSpec: #(#bool #ioRegisterSurface #(#ulong #aCairoSurfaceHandle #, #void #* #sqSurfaceDispatchPtr #, #int #* #idHolder))   module: #SurfacePlugin   errorCode: 1
Igor, I guess you didn't run into this on Mac... any ideas why it's still not working?
this is strange. calling this function should simply work, since it belongs to VM plugin. Can you send me a stack trace?
Sean
-- View this message in context: http://forum.world.st/The-video-about-Athens-tp4571100p4576317.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
-- Best regards, Igor Stasenko.
Igor Stasenko wrote
this is strange. calling this function should simply work, since it belongs to VM plugin. Can you send me a stack trace?
Even stranger... now it's working! Maybe I just needed to restart after loading cairo... Looks *really* coooool!! Thanks. Sean -- View this message in context: http://forum.world.st/The-video-about-Athens-tp4571100p4578012.html Sent from the Pharo Smalltalk mailing list archive at Nabble.com.
Cool I was thinking exactly about using platform. Srf On Apr 20, 2012, at 2:54 PM, Igor Stasenko wrote:
i uploaded the new version of Athens-Cairo, which takes the 'default' path depending on platform it running, also fixed it, so you don't have to change multiple places. also , updated config version 1.0 to load this package.
On 20 April 2012 14:45, Igor Stasenko <siguctua@gmail.com> wrote:
As i suspected, it works out of the box on my ubuntu-32 bit installation, i just had to change the cairo library path to /usr/lib/libcairo.so
:)
On 20 April 2012 14:30, Fernando Olivero <fernando.olivero@usi.ch> wrote:
Athens is an API, the rendering is actually done by the backends. Currently Ballon and Cairo are supported.
So, the answer is that Athens is supported in all platforms using the Ballon backend, (note that ballon does not have all the features of Cairo, so some of the features in the demo wont work), and the Cairo backend as well.
You just need to tell NativeBoos were to locate the cairo library (built using MacPorts, so the path starts at /opt/...).
For now we just hardcoded the library path (you can change them by hand for now, to point to your local Cairo lib)
TCairoLibrary class>>nbLibraryNameOrHandle ^ '/opt/local/lib/libcairo.2.dylib'
AthensSurface class>>nbLibraryNameOrHandle ^ '/opt/local/lib/libcairo.2.dylib'
This should be changed, perhaps a settings?
Fernando
On Fri, Apr 20, 2012 at 12:25 PM, Alexis Parseghian <a.parseg@gmail.com> wrote:
People should start to use Athens, apps around Pharo would start be look waaaayyy cooler.
About that.
Is it supposed to work outside of the Mac platform ?
Tried the demo, and AthensDemoMorph new openInWorld crashes on "function unavailable". That backtraces into Block in NBFFICallout>>generateCall:module: where module seems to be '/opt/local/lib/libcairo.2.dylib' which is obviously Mac-ish but makes no sense on Linux.
Where is the library name and location set/picked up ? I guess this question could be generalized to how the platform-specific initialization happens.
As an aside, all NativeBoost-Tests are green.
Platform : debian testing 64-bit with ia32 libs installed. Latest NBCogVM from jenkins, blank Pharo 1.4 #14414 with Athens 1.0 (explicitly) installed from SS:Athens/ConfigurationOfAthens.
I also look forward to discovering whatever new, inventive stuff these new projects enable.
-- Best regards, Igor Stasenko.
-- Best regards, Igor Stasenko.
participants (5)
-
Alexis Parseghian -
Fernando Olivero -
Igor Stasenko -
Sean P. DeNigris -
Stéphane Ducasse