Compiling Flow.so under linux
Matthew Fulmer
tapplek at gmail.com
Thu Sep 6 07:43:00 UTC 2007
After some help from vatic and Craig on IRC, I am able to build
something broken
On Sun, Aug 26, 2007 at 03:18:39PM -0700, Matthew Fulmer wrote:
> I have been unable to deduce the steps required to build Flow.so
> under linux. There are guides [1] [2], but ran into problems
> following each one, such as configure barfing on an empty build
> directory, where to put the source, whether VMMaker is needed,
> and whether generated or raw source is required to build
> Flow.so. So, here is what I am doing. It does not work:
>
> 1. Download the 3.9-8 VM source code:
> http://squeakvm.org/unix/release/Squeak-3.9-8.src.tar.gz
> 2. Unzip it to /home/tapple/squeak/vm
> 3. Download the 2a5 Flow source code:
> http://netjam.org/flow2a5.tar.gz
> 4. Unzip it to
> /home/tapple/squeak/vm/platforms/Cross/plugins/FlowPlugin
4.1. Download the Flow build files:
http://netjam.org/flow2aPrimitiveSources.zip
4.2. Extract
flow2aPrimitiveSources.zip/flow/platformSpecific/linux/Makefile.in
to /home/tapple/squeak/vm/platforms/unix/plugins/FlowPlugin
> 5. Download and run squeak-dev:
> http://damien.cassou.free.fr/squeak-dev/sq3.9-7067dev07.08.1.zip
> 6. Install VMMaker-3.8b6.1 from Universes (Category: System)
Don't do step 7:
> 7. Load "spoonProcessor Changes.st" from the components
> directory of
> http://www.movedigital.com/go/netjam/63004/spoon.2a12.linux.zip
This step should not be done, and seems to be the cause of the
spurious Flow.c I found last time (see step 9 below). It seems
VMMaker is generating bad source for the Flow simulator support
> 8. Open VMMaker Tool and configure:
> 8.1. Interpreter Class Name: Interpreter
> 8.2. Path to Platform Code: /home/tapple/squeak/vm/platforms
> 8.3. Platform Name: unix
> 8.4. Path to Generated Sources: /home/tapple/squeak/vm/src
> 8.5. Internal Plugins: None
> 8.6. External Plugins: Flow
8.7 should be: External Plugins: None
> 9. Generate Entire. This generates, among other things, a
> single file containing the generated Flow source:
> /home/tapple/squeak/vm/src/plugins/Flow/Flow.c
Flow.c is no longer generated, as it shouldn't be
9.1. add B3DAccelleratorPlugin UnixOSProcessPlugin Flow to the
list in plugins.ext
> 10. In shell:
> 10.1. cd /home/tapple/squeak/vm/src
> 10.2. ../platforms/unix/config/configure
> 10.3. make
I get, in the source directory, an executable named squeak and a
Flow.la in Flow. I try running the squeak vm with the spoon
image, and I get the following error:
Recursive not understood error encountered
Segmentation fault
I try moving Flow and B3DAcceleratorPlugin to plugins.int. I
also notice that I have no plugin named UnixOSProcessPlugin in
either my platforms/unix/plugins or platforms/Cross/plugins
directories. I look at the size of the compiled UnixOSProcess.la and it
seems empty (only 758 bytes). So I delete it from the list of
compiled plugins. No matter whether I use UnixProcessorPlugin,
or whether plugins are internal or external, I still get the
same error whenever I try running the compiled squeak
executable.
Also, no .so files are ever compiled, only .la and .a files (for
external and internal plugins, respectively)
I may yet figure this out. Thanks for the help
--
Matthew Fulmer -- http://mtfulmer.wordpress.com/
Help improve Squeak Documentation: http://wiki.squeak.org/squeak/808
More information about the Spoon
mailing list