[Pharo-dev] Pharo for the Raspberry Pi

Nick Ager nick.ager at gmail.com
Wed Oct 9 16:37:43 EDT 2013


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
> >
> >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131009/f5279d41/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2013-10-09 at 20.53.31.png
Type: image/png
Size: 217327 bytes
Desc: not available
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20131009/f5279d41/attachment.png>


More information about the Pharo-dev mailing list