Pharo for the Raspberry Pi

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

Re: Pharo for the Raspberry Pi

Stéphane Ducasse

On Oct 10, 2013, at 4:45 AM, [hidden email] wrote:

> Also there is the '[squeak-dev] CharacterScanner and stopConditions' thread
> following which Tim comments in [vm-dev] "...prompted me to try the latest image with all the new character scanner stuff as well.

Can you explain what is the new chararcter stuff?
Is it at the vm level? or at the image one?
if this is at the image one it is in Pharo?
Because I missed that.
Stef



> Wow. Now that makes an improvement. And that's on a stackvm with no fasterbitblt support yet."
>
>
> [hidden email] wrote:
>> I guess you're aware of Tim Rowledge's work...
>> http://forum.world.st/New-faster-RISC-OS-Squeak-td4668157.html
>> http://www.rowledge.org/tim/squeak/
>>
>> cheers -ben
>>
>> Nick Ager wrote:
>> > Hi Sven and others,
>> >
>> > I've attached a screen shot of Pharo 20623.image running on the Raspberry
>> > Pi - I'd connected through a VNC session into my Mac. The image is almost
>> > unusably slow - I don't know if the problem lays in the graphical
>> > performance + VNC rather than the bytecode execution. tinyBenchmarks give:
>> >
>> > 0 tinyBenchmarks '10471204 bytecodes/sec; 307552 sends/sec'
>> >
>> > I came across a "PrimitiveFailed" walk-back from NativeBoost
>> > class>>#isEnabled and just commented out the primitive call and instead
>> > returned false. I guess this is probably as the VM sources I have date back
>> > to April/May so probably aren't completely compatible with 2.0.
>> >
>> > I've shared my Raspberry Pi build folder "result" on dropbox, which
>> > contains the StackVM executable built on the Pi:
>> > https://www.dropbox.com/sh/cnta1hjoo7ptv1j/CELvuMjIRl
>> >
>> > I haven't tried installing the built StackVM onto a clean Pi distribution
>> > so don't know if any of the packages I installed during the build process
>> > will also be required for executing the StackVM - don't complain too loudly
>> > if just copying the contents from dropbox doesn't work directly on your Pi.
>> >
>> > I found some more notes I made while trying to compile the VM - though
>> > reading them back they seem more like the ramblings of a mad man and I'm
>> > sure the problems I ran into compiling the StackVM will be sorted by now:
>> > https://docs.google.com/document/d/1ZIzvTmV4zkYrFgOdAzfZzC35iMAqI2jc-44XQO9wSwc/edit?usp=sharing
>> >
>> > Also note that Pharo1.2.1 works with the VM used for Scratch in the
>> > Raspberry Pi distribution - without the need to build your own VM.
>> >
>> > Sorry I don't have many free cycles to support, but hope this might help
>> > someone to create a "blessed" Raspberry Pi Pharo VM
>> >
>> > Cheers
>> >
>> > Nick
>> >
>> >
>> >
>> >
>> >
>> > On 2 October 2013 12:47, Sven Van Caekenberghe <[hidden email]> wrote:
>> >
>> >   >> Hi Nick,
>> >>
>> >> On 02 Oct 2013, at 11:51, Nick Ager <[hidden email]> wrote:
>> >>
>> >>     >>> Hi,
>> >>>
>> >>> I managed to compile a StackVM on the raspberry Pi - a couple of months
>> >>>       >> ago - though I haven't tried with the latest StackVM source. I meant to
>> >> write it up, but life got in the way I'm afraid.
>> >>
>> >> What you did (and I can't) is indeed what should be done: recompile
>> >> locally ;-)
>> >>
>> >> So the conclusion is that it worked and that you can now run Pharo 2.0
>> >> (and presumable 3.0) as well ?
>> >>
>> >> That would be excellent and important news !  And the best short term
>> >> solution.
>> >>
>> >> Either you (but you lack time) or somebody else who feels at home with
>> >> this stuff should redo your steps and produce the actual VM, so that us
>> >> weak high-level programmers can have our Pharo and play ;-)
>> >>
>> >> Thanks,
>> >>
>> >> Sven
>> >>
>> >>     >>> The procedure I took was:
>> >>> * From a PC running Pharo install VMMaker packages (I found it was
>> >>>       >> easiest to run under a Linux (eg Ubuntu) to match the PIs OS.
>> >>     >>> * Export the StackVM source
>> >>> * Install the build tools on the raspberry Pi
>> >>> * Copy exported StackVM source (need to ensure it is copied to exactly
>> >>>       >> the same place, eg /home/nick/build)
>> >>     >>> * Build and test with Pharo2.0.image
>> >>>
>> >>> I choose to build on the Raspberry Pi as in my experience setting up a
>> >>>       >> reliable cross-compiling environment can take days.
>> >>     >>> Here are some notes I made at the time:
>> >>>
>> >>> On the raspberry PI:
>> >>> # install build tools
>> >>> sudo apt-get install gcc g++ cmake
>> >>>
>> >>> # dependencies for vm plugins
>> >>> sudo apt-get install libasound2-dev libssl-dev libfreetype6-dev
>> >>>       >> libgl1-mesa-dev
>> >>     >>> sudo apt-get install build-essential
>> >>>
>> >>> # to fix:
>> >>> # /usr/bin/ld: cannot find -lSM
>> >>> #/usr/bin/ld: cannot find -lICE
>> >>> # create the following links in: /usr/lib/arm-linux-gnueabihf/
>> >>>
>> >>> sudo ln -s libSM.so.6 libSM.so
>> >>> sudo ln -s libICE.so.6 libICE.so
>> >>>
>> >>> Once the source is installed:
>> >>>
>> >>> chmod +x platforms/unix/config/version
>> >>> chmod +x platforms/unix/config/verstamp
>> >>>
>> >>> At the time I had to patch a couple of files, but that might have
>> >>>       >> changed with later versions of the StackVM source. My notes say I modified
>> >> the following, though don't indicate what I changed:
>> >>     >>> platforms/Cross/vm/sqAtomicOps.h
>> >>> platforms/unix/vm/sqUnixITimerHeartbeat.c
>> >>> platforms/unix/vm/vmVersionInfo.h
>> >>> src/vm/gcc3x-interp.c
>> >>>
>> >>>
>> >>> Hope this helps
>> >>>
>> >>> Nick
>> >>>
>> >>>
>> >>> On 2 October 2013 10:31, Goubier Thierry <[hidden email]> wrote:
>> >>> Ok, thanks for the info, Sven.
>> >>>
>> >>> Thierry
>> >>>
>> >>> Le 02/10/2013 11:06, Sven Van Caekenberghe a écrit :
>> >>>
>> >>> Thierry,
>> >>>
>> >>> On 02 Oct 2013, at 10:14, Goubier Thierry <[hidden email]>
>> >>>       >> wrote:
>> >>     >>> Hi all,
>> >>>
>> >>> I'm trying to know if it is possible to run a version of pharo, recent
>> >>>       >> if possible, on the Raspberry Pi?
>> >>     >>> I know that there is a squeak vm on Raspian (Debian for the RaspberryPi)
>> >>>       >> but it doesn't load recent pharo images.
>> >>     >>> Using the VM that comes with Raspbian, you can run Pharo 1.4.
>> >>> Pharo 2.0 requires additional VM support.
>> >>>
>> >>> Sven
>> >>>
>> >>> Thanks,
>> >>>
>> >>> Thierry
>> >>> --
>> >>> Thierry Goubier
>> >>> CEA list
>> >>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
>> >>> 91191 Gif sur Yvette Cedex
>> >>> France
>> >>> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>> --
>> >>> Thierry Goubier
>> >>> CEA list
>> >>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
>> >>> 91191 Gif sur Yvette Cedex
>> >>> France
>> >>> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
>> >>>
>> >>>
>> >>>       >>
>> >>     >
>> >   >
>> > --------------------------------------------------------------------------------
>> >
>>
>>  
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Pharo for the Raspberry Pi

Stéphane Ducasse

On Oct 10, 2013, at 7:23 AM, Stéphane Ducasse <[hidden email]> wrote:

>
> On Oct 10, 2013, at 4:45 AM, [hidden email] wrote:
>
>> Also there is the '[squeak-dev] CharacterScanner and stopConditions' thread
>> following which Tim comments in [vm-dev] "...prompted me to try the latest image with all the new character scanner stuff as well.
>
> Can you explain what is the new chararcter stuff?
> Is it at the vm level? or at the image one?
> if this is at the image one it is in Pharo?
> Because I missed that.

Ok I got it this is in the latest squeak image. So this is interesting for pi and the rest and we should have a look
and integrate it to Pharo.
I asked nicolas cellier how we could obtain it.


> Stef
>
>
>
>> Wow. Now that makes an improvement. And that's on a stackvm with no fasterbitblt support yet."
>>
>>
>> [hidden email] wrote:
>>> I guess you're aware of Tim Rowledge's work...
>>> http://forum.world.st/New-faster-RISC-OS-Squeak-td4668157.html
>>> http://www.rowledge.org/tim/squeak/
>>>
>>> cheers -ben
>>>
>>> Nick Ager wrote:
>>>> Hi Sven and others,
>>>>
>>>> I've attached a screen shot of Pharo 20623.image running on the Raspberry
>>>> Pi - I'd connected through a VNC session into my Mac. The image is almost
>>>> unusably slow - I don't know if the problem lays in the graphical
>>>> performance + VNC rather than the bytecode execution. tinyBenchmarks give:
>>>>
>>>> 0 tinyBenchmarks '10471204 bytecodes/sec; 307552 sends/sec'
>>>>
>>>> I came across a "PrimitiveFailed" walk-back from NativeBoost
>>>> class>>#isEnabled and just commented out the primitive call and instead
>>>> returned false. I guess this is probably as the VM sources I have date back
>>>> to April/May so probably aren't completely compatible with 2.0.
>>>>
>>>> I've shared my Raspberry Pi build folder "result" on dropbox, which
>>>> contains the StackVM executable built on the Pi:
>>>> https://www.dropbox.com/sh/cnta1hjoo7ptv1j/CELvuMjIRl
>>>>
>>>> I haven't tried installing the built StackVM onto a clean Pi distribution
>>>> so don't know if any of the packages I installed during the build process
>>>> will also be required for executing the StackVM - don't complain too loudly
>>>> if just copying the contents from dropbox doesn't work directly on your Pi.
>>>>
>>>> I found some more notes I made while trying to compile the VM - though
>>>> reading them back they seem more like the ramblings of a mad man and I'm
>>>> sure the problems I ran into compiling the StackVM will be sorted by now:
>>>> https://docs.google.com/document/d/1ZIzvTmV4zkYrFgOdAzfZzC35iMAqI2jc-44XQO9wSwc/edit?usp=sharing
>>>>
>>>> Also note that Pharo1.2.1 works with the VM used for Scratch in the
>>>> Raspberry Pi distribution - without the need to build your own VM.
>>>>
>>>> Sorry I don't have many free cycles to support, but hope this might help
>>>> someone to create a "blessed" Raspberry Pi Pharo VM
>>>>
>>>> Cheers
>>>>
>>>> Nick
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> On 2 October 2013 12:47, Sven Van Caekenberghe <[hidden email]> wrote:
>>>>
>>>>>> Hi Nick,
>>>>>
>>>>> On 02 Oct 2013, at 11:51, Nick Ager <[hidden email]> wrote:
>>>>>
>>>>>>>> Hi,
>>>>>>
>>>>>> I managed to compile a StackVM on the raspberry Pi - a couple of months
>>>>>>>> ago - though I haven't tried with the latest StackVM source. I meant to
>>>>> write it up, but life got in the way I'm afraid.
>>>>>
>>>>> What you did (and I can't) is indeed what should be done: recompile
>>>>> locally ;-)
>>>>>
>>>>> So the conclusion is that it worked and that you can now run Pharo 2.0
>>>>> (and presumable 3.0) as well ?
>>>>>
>>>>> That would be excellent and important news !  And the best short term
>>>>> solution.
>>>>>
>>>>> Either you (but you lack time) or somebody else who feels at home with
>>>>> this stuff should redo your steps and produce the actual VM, so that us
>>>>> weak high-level programmers can have our Pharo and play ;-)
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Sven
>>>>>
>>>>>>>> The procedure I took was:
>>>>>> * From a PC running Pharo install VMMaker packages (I found it was
>>>>>>>> easiest to run under a Linux (eg Ubuntu) to match the PIs OS.
>>>>>>>> * Export the StackVM source
>>>>>> * Install the build tools on the raspberry Pi
>>>>>> * Copy exported StackVM source (need to ensure it is copied to exactly
>>>>>>>> the same place, eg /home/nick/build)
>>>>>>>> * Build and test with Pharo2.0.image
>>>>>>
>>>>>> I choose to build on the Raspberry Pi as in my experience setting up a
>>>>>>>> reliable cross-compiling environment can take days.
>>>>>>>> Here are some notes I made at the time:
>>>>>>
>>>>>> On the raspberry PI:
>>>>>> # install build tools
>>>>>> sudo apt-get install gcc g++ cmake
>>>>>>
>>>>>> # dependencies for vm plugins
>>>>>> sudo apt-get install libasound2-dev libssl-dev libfreetype6-dev
>>>>>>>> libgl1-mesa-dev
>>>>>>>> sudo apt-get install build-essential
>>>>>>
>>>>>> # to fix:
>>>>>> # /usr/bin/ld: cannot find -lSM
>>>>>> #/usr/bin/ld: cannot find -lICE
>>>>>> # create the following links in: /usr/lib/arm-linux-gnueabihf/
>>>>>>
>>>>>> sudo ln -s libSM.so.6 libSM.so
>>>>>> sudo ln -s libICE.so.6 libICE.so
>>>>>>
>>>>>> Once the source is installed:
>>>>>>
>>>>>> chmod +x platforms/unix/config/version
>>>>>> chmod +x platforms/unix/config/verstamp
>>>>>>
>>>>>> At the time I had to patch a couple of files, but that might have
>>>>>>>> changed with later versions of the StackVM source. My notes say I modified
>>>>> the following, though don't indicate what I changed:
>>>>>>>> platforms/Cross/vm/sqAtomicOps.h
>>>>>> platforms/unix/vm/sqUnixITimerHeartbeat.c
>>>>>> platforms/unix/vm/vmVersionInfo.h
>>>>>> src/vm/gcc3x-interp.c
>>>>>>
>>>>>>
>>>>>> Hope this helps
>>>>>>
>>>>>> Nick
>>>>>>
>>>>>>
>>>>>> On 2 October 2013 10:31, Goubier Thierry <[hidden email]> wrote:
>>>>>> Ok, thanks for the info, Sven.
>>>>>>
>>>>>> Thierry
>>>>>>
>>>>>> Le 02/10/2013 11:06, Sven Van Caekenberghe a écrit :
>>>>>>
>>>>>> Thierry,
>>>>>>
>>>>>> On 02 Oct 2013, at 10:14, Goubier Thierry <[hidden email]>
>>>>>>>> wrote:
>>>>>>>> Hi all,
>>>>>>
>>>>>> I'm trying to know if it is possible to run a version of pharo, recent
>>>>>>>> if possible, on the Raspberry Pi?
>>>>>>>> I know that there is a squeak vm on Raspian (Debian for the RaspberryPi)
>>>>>>>> but it doesn't load recent pharo images.
>>>>>>>> Using the VM that comes with Raspbian, you can run Pharo 1.4.
>>>>>> Pharo 2.0 requires additional VM support.
>>>>>>
>>>>>> Sven
>>>>>>
>>>>>> Thanks,
>>>>>>
>>>>>> Thierry
>>>>>> --
>>>>>> Thierry Goubier
>>>>>> CEA list
>>>>>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
>>>>>> 91191 Gif sur Yvette Cedex
>>>>>> France
>>>>>> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Thierry Goubier
>>>>>> CEA list
>>>>>> Laboratoire des Fondations des Systèmes Temps Réel Embarqués
>>>>>> 91191 Gif sur Yvette Cedex
>>>>>> France
>>>>>> Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
>>>>>>
>>>>>>
>>>>>>>>
>>>>>>
>>>>>
>>>> --------------------------------------------------------------------------------
>>>>
>>>
>>>
>>
>>
>>
>


12