building j3
Last updated at 5:33 pm UTC on 16 January 2006
(Only tested on Red Hat Linux 6.2, definitely not for windows)
First download http://irafs1.ira.uka.de/~marcus/Squeak/j3/Squeak-3.0pre2-j3.11k-UNIX.tar.gz. Extract it, and cd to 3.0/. This is your source root.
- [3.0/]$ cd ccg/; make; cd ../ This is an important utility that isn't automatically generated
- [3.0/]$ mkdir build; cd build/ This is your build root
- [build/]$ ../src/unix/configure –enable-jit If you forget –enable-jit, what's the point?
- [build/]$ make Watch lots of warnings fly by
Now, it should complain about an "undefined reference to `print_insn_i386_att'".
- [build/]$ cd ../src/SqueakCompiler/; patch <j3.diff I don't care what the crash dump might look like
- [SqueakCompiler/]$ cd ../../build/;make try it again!
- [build/]$ ./j3 Squeak3.0.image and enjoy
When using newer g++ to compile this, I need to do the following things:
1. ARCHDEP macros doesn't work for some reason. Replaced with the correct header file names.
2. String constants are now const's, so some changes must be made in debug.h, etc.
3. -Werror should be removed from CXXFLAGS
4. Need to insert #include<stdlib.h> in some files, or abort() will be used before declaration.
And the thing doesn't work. There are a lot of divide errors with 3.0-3552, and 3.2 or 2.8 are even worse.