Hi,
I've just started poking around with Exupery, and thought I'd
try building the whole lot from scratch.
This turned out to be harder than I expected. When I finally
got something that worked, I thought I'd turn the process into
a script to make it easier for anyone else who's come up against
this.
If you'd like to try this, you need a Linux PC, with X and
the necessary development tools installed (gcc, etc.). You
don't need a working squeak installation.
The script first downloads the necessary bits, before building
a plain 3.9 VM. It then runs VMMaker in this VM to generate
the new bits, before finally building the Exupery VM.
Some notes:
* After the script completes, you'll be left with two functional
VMs. By default, they're installed in /opt/squeak-3.9-8 and
/opt/squeak-3.9-8-exupery. You just need to alter your PATH to
pick the one you want.
* You'll have to make your /opt writable by the user who runs the
script (or choose other locations).
* During the VMMaker process, squeak requests your initials. I
haven't figured out how to get the Squeak installer to respond
automatically, so you'll have to respond manually for now.
* For some reason, the UUIDPlugin and B3DAcceleratorPlugin had
problems compiling. So I've left them out.
The new VM and image run most of the tests correctly.
However, I'm seeing these 16 errors from the Programmer-tests:
AssemblerTests>>#testDoublePicEntry
AssemblerTests>>#testPic
AssemblerTests>>#testPicEntry
AssemblerTests>>#testPicEntry2
ByteCodeReaderTests>>#testStackHeightWithJumps
InstructionSelectionTests>>#testPic
InterferenceGraphGenerationTests>>#testPic
IntermediateSimplifierTests>>#testBytecodePrimNewWithArg
IntermediateSimplifierTests>>#testSendMessage
IntermediateSimplifierTests>>#testSendMessageCheckingPicEntry
IntermediateSimplifierTests>>#testSendWithStack
IntermediateSimplifierTests>>#testSendWithStack2
LivenessAnalysisTests>>#testPic
LowLevelOptimiserTests>>#testPic
TestEndToEnd>>#testBenchFib
TestEndToEnd>>#testStringConcatenate
I'm also seeing these errors from the Customer-tests:
ExuperyStoryTests>>#testBlockBug3
ExuperyStoryTests>>#testBlockNonLocalReturnsRecycleContexts
ExuperyStoryTests>>#testBlocksAndProcesssesBug
ExuperyStoryTests>>#testDelayWaitStressTest
Should these work? If so, what have I missed?
Thanks,
Andrew.
PS: Sory for the long mail, but I tried adding this info to the
"Building Exupery on Unix" wiki page
(http://wiki.squeak.org:8080/squeak/5672), but my login was rejected.
PPS: I'm completely unable to use the wiki on port 80. Apparently,
this is due to the site rejecting proxied connections. However, Internet
connections without transparent proxying are _extremely_ rare in my
neck of the woods. Are there any plans to sort this out?