[Pharo-dev] Pharo for the Raspberry Pi

Stéphane Ducasse stephane.ducasse at inria.fr
Thu Oct 10 01:25:40 EDT 2013


On Oct 10, 2013, at 7:23 AM, Stéphane Ducasse <Stephane.Ducasse at inria.fr> wrote:

> 
> On Oct 10, 2013, at 4:45 AM, btc at openInWorld.com 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."
>> 
>> 
>> btc at openinworld.com 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 <sven at stfx.eu> wrote:
>>>> 
>>>>>> Hi Nick,
>>>>> 
>>>>> On 02 Oct 2013, at 11:51, Nick Ager <nick.ager at gmail.com> 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 <thierry.goubier at cea.fr> 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 <thierry.goubier at cea.fr>
>>>>>>>> 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
>>>>>> 
>>>>>> 
>>>>>>>> 
>>>>>> 
>>>>> 
>>>> --------------------------------------------------------------------------------
>>>> 
>>> 
>>> 
>> 
>> 
>> 
> 





More information about the Pharo-dev mailing list