About installing NativeBoost in Linux

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

About installing NativeBoost in Linux

Fernando olivero-2
Hi Igor, great news that NativeBoost is available in Linux.

In the installation page, in steps 1 and 2 you specify how to create a plugin/vm .
The outcome is the vm for linux with NativeBoost support?

Is there a prebuilt vm for linux available?

Fernando


pd: When would it be available for Mac OSX? How can we help?


 
_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: About installing NativeBoost in Linux

Igor Stasenko
On 27 September 2010 17:36, Fernando olivero <[hidden email]> wrote:
> Hi Igor, great news that NativeBoost is available in Linux.
>
> In the installation page, in steps 1 and 2 you specify how to create a plugin/vm .
> The outcome is the vm for linux with NativeBoost support?
>

Its not a full instruction how to build a vm.
First, you must download the sources and have an image with vmmaker.
This is described on http://squeakvm.org/unix/devel.html page.

Then you need to download small patch from NB site
svn checkout http://nativeboost.googlecode.com/svn/trunk/ nativeboost-read-only

and copy patched files to unix platform-specific sources.

In image with VMMaker, you can load NBInstaller , and then do
NBInstaller installPlugin.

Before generating VM/plugins source code in vmmaker, don't forget
about setting target platform for plugin:

NativeBoostPlugin setTargetPlatform: (NativeBoostConstants linux32PlatformId).


Now open VMMaker, include NativeBoostPlugin into internal plugins list,
and you ready to build a VM.

Yes, building VM is somewhat tedious procedure, but once you have
everything set up,
it don't takes much time anymore.


> Is there a prebuilt vm for linux available?
>
Yes, on my PC :) but i don't know how to package it.

> Fernando
>
>
> pd: When would it be available for Mac OSX? How can we help?
>
Well, since i don't have Mac right now, i can't build & test VM and plugin.

I just added a necessary patch to platforms/Mac OS/sqMacMemory.c
in plugin's svn source at google code,
which is needed to make plugin execute native code.

(Make sure that you building plugin with Mac platform id).

The rest of stuff should be done at image level:
- create a subclass of NativeBoost, like NativeBoostMac32
and implement missing functionality.
You can use NativeBoostLinux32 as a guide to follow.

I think that for someone, who knows mac platforms well, it could take
maybe a day to
make a working port.

>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: About installing NativeBoost in Linux

Fernando olivero-2

On Sep 27, 2010, at 10:20 PM, Igor Stasenko wrote:

> On 27 September 2010 17:36, Fernando olivero <[hidden email]> wrote:
>> Hi Igor, great news that NativeBoost is available in Linux.
>>
>> In the installation page, in steps 1 and 2 you specify how to create a plugin/vm .
>> The outcome is the vm for linux with NativeBoost support?
>>
>
> Its not a full instruction how to build a vm.
> First, you must download the sources and have an image with vmmaker.
> This is described on http://squeakvm.org/unix/devel.html page.
>
> Then you need to download small patch from NB site
> svn checkout http://nativeboost.googlecode.com/svn/trunk/ nativeboost-read-only
>
> and copy patched files to unix platform-specific sources.
>
> In image with VMMaker, you can load NBInstaller , and then do
> NBInstaller installPlugin.
>
> Before generating VM/plugins source code in vmmaker, don't forget
> about setting target platform for plugin:
>
> NativeBoostPlugin setTargetPlatform: (NativeBoostConstants linux32PlatformId).
>
>
> Now open VMMaker, include NativeBoostPlugin into internal plugins list,
> and you ready to build a VM.
>

Thanks for the detailed info Igor.

 I think the web page would benefit from adding this extra info.

> Yes, building VM is somewhat tedious procedure, but once you have
> everything set up,
> it don't takes much time anymore.
>

ok, maybe what we could have is an ready made image for each OS. ( with the above steps already performed)
so people just press the "generate" button.

>
>> Is there a prebuilt vm for linux available?
>>
> Yes, on my PC :) but i don't know how to package it.
>
>> Fernando
>>
>>
>> pd: When would it be available for Mac OSX? How can we help?
>>
> Well, since i don't have Mac right now, i can't build & test VM and plugin.
>
> I just added a necessary patch to platforms/Mac OS/sqMacMemory.c
> in plugin's svn source at google code,
> which is needed to make plugin execute native code.
>
> (Make sure that you building plugin with Mac platform id).
>
> The rest of stuff should be done at image level:
> - create a subclass of NativeBoost, like NativeBoostMac32
> and implement missing functionality.
> You can use NativeBoostLinux32 as a guide to follow.
>
> I think that for someone, who knows mac platforms well, it could take
> maybe a day to
> make a working port.
>

Ok, i'll do that ( in the not so distant future).

Fernando

>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: About installing NativeBoost in Linux

Igor Stasenko
On 28 September 2010 01:05, Fernando olivero <[hidden email]> wrote:

>
> On Sep 27, 2010, at 10:20 PM, Igor Stasenko wrote:
>
>> On 27 September 2010 17:36, Fernando olivero <[hidden email]> wrote:
>>> Hi Igor, great news that NativeBoost is available in Linux.
>>>
>>> In the installation page, in steps 1 and 2 you specify how to create a plugin/vm .
>>> The outcome is the vm for linux with NativeBoost support?
>>>
>>
>> Its not a full instruction how to build a vm.
>> First, you must download the sources and have an image with vmmaker.
>> This is described on http://squeakvm.org/unix/devel.html page.
>>
>> Then you need to download small patch from NB site
>> svn checkout http://nativeboost.googlecode.com/svn/trunk/ nativeboost-read-only
>>
>> and copy patched files to unix platform-specific sources.
>>
>> In image with VMMaker, you can load NBInstaller , and then do
>> NBInstaller installPlugin.
>>
>> Before generating VM/plugins source code in vmmaker, don't forget
>> about setting target platform for plugin:
>>
>> NativeBoostPlugin setTargetPlatform: (NativeBoostConstants linux32PlatformId).
>>
>>
>> Now open VMMaker, include NativeBoostPlugin into internal plugins list,
>> and you ready to build a VM.
>>
>
> Thanks for the detailed info Igor.
>
>  I think the web page would benefit from adding this extra info.
>
Ok, i will add this.

>> Yes, building VM is somewhat tedious procedure, but once you have
>> everything set up,
>> it don't takes much time anymore.
>>
>
> ok, maybe what we could have is an ready made image for each OS. ( with the above steps already performed)
> so people just press the "generate" button.
>

I can provide an image with VMMaker + NB plugin, if you want.

I running linux in virtual box, and had a problems with OpenGL, so i
had to disable it & exclude everything
which using it (B3DAcceleratorPlugin) from build, as well as some
other plugins, which for one or another
reason didn't worked for me.
So, it could be not the same VM you wanna use on your box. :)

>>
>>> Is there a prebuilt vm for linux available?
>>>
>> Yes, on my PC :) but i don't know how to package it.
>>
>>> Fernando
>>>
>>>
>>> pd: When would it be available for Mac OSX? How can we help?
>>>
>> Well, since i don't have Mac right now, i can't build & test VM and plugin.
>>
>> I just added a necessary patch to platforms/Mac OS/sqMacMemory.c
>> in plugin's svn source at google code,
>> which is needed to make plugin execute native code.
>>
>> (Make sure that you building plugin with Mac platform id).
>>
>> The rest of stuff should be done at image level:
>> - create a subclass of NativeBoost, like NativeBoostMac32
>> and implement missing functionality.
>> You can use NativeBoostLinux32 as a guide to follow.
>>
>> I think that for someone, who knows mac platforms well, it could take
>> maybe a day to
>> make a working port.
>>
>
> Ok, i'll do that ( in the not so distant future).
>

Just try to build a VM with plugin. And once it can run a native code,
the rest is a piece of cake :)
I can give you detailed explanation, what you should implement/override
to complete NB bootstrap on Mac, once you will be ready.

> Fernando
>
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: About installing NativeBoost in Linux

Fernando olivero-2

I can provide an image with VMMaker + NB plugin, if you want.

Not necesary!

I found out that using the new ConfigurationOfVMMaker its pretty straightforward, to have a "VMMaker image".



I running linux in virtual box, and had a problems with OpenGL, so i
had to disable it & exclude everything
which using it (B3DAcceleratorPlugin) from build, as well as some
other plugins, which for one or another
reason didn't worked for me.
So, it could be not the same VM you wanna use on your box. :)



I ran into some problems when running make install, could you please send me the vmmaker configuration file you are using? 
So i can mimic the plugins configuration that worked for you, and successfully compile the vm.


Just try to build a VM with plugin. And once it can run a native code,
the rest is a piece of cake :)
I can give you detailed explanation, what you should implement/override
to complete NB bootstrap on Mac, once you will be ready.

Ok, will let you know.



pd:
Maybe this could be useful to put in the native boost installation page ,

Gofer it
squeaksource: 'MetacelloRepository' ;
package: 'ConfigurationOfVMMaker' ; 
load 

(Smalltalk globals classNamed: 'ConfigurationOfVMMaker' ) load.

pd: what about doing a ConfigurationOfNativeBoostInstaller?

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: About installing NativeBoost in Linux

Igor Stasenko
2010/9/28 Fernando olivero <[hidden email]>:

>
> I can provide an image with VMMaker + NB plugin, if you want.
>
> Not necesary!
> I found out that using the new ConfigurationOfVMMaker its pretty
> straightforward, to have a "VMMaker image".
>
>
> I running linux in virtual box, and had a problems with OpenGL, so i
> had to disable it & exclude everything
> which using it (B3DAcceleratorPlugin) from build, as well as some
> other plugins, which for one or another
> reason didn't worked for me.
> So, it could be not the same VM you wanna use on your box. :)
>
>
>
> I ran into some problems when running make install, could you please send me
> the vmmaker configuration file you are using?
> So i can mimic the plugins configuration that worked for you, and
> successfully compile the vm.
>
Will send in private mail.

> Just try to build a VM with plugin. And once it can run a native code,
> the rest is a piece of cake :)
> I can give you detailed explanation, what you should implement/override
> to complete NB bootstrap on Mac, once you will be ready.
>
> Ok, will let you know.
>
>
> pd:
> Maybe this could be useful to put in the native boost installation page ,
> Gofer it
> squeaksource: 'MetacelloRepository' ;
> package: 'ConfigurationOfVMMaker' ;
> load
> (Smalltalk globals classNamed: 'ConfigurationOfVMMaker' ) load.

i added this to wiki page.

> pd: what about doing a ConfigurationOfNativeBoostInstaller?

I'm still didn't came to the point where i need to use metacello.
I did the simplest possible thing: wrote installer script which works
ok in Squeak & Pharo.
If someone provide a Metacello config , i can add it to repository.
One more way of installing it doesn't hurts :)

> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project