I noted multiple build failures on x86 Linux (Ubuntu 8.04) using the b31 source archive, building the fastdebug_build target.
The first failure occurs due to -Werror. There are a number of unsafe casts of char * in hotspot, and these cause the build to fail with -Werror. I worked around this by removing -Werror from a variety of Makefiles. Aside: why isn't this propagated from the top-level Makefile? I had to grep around in the tree to find the right one. Second problem: the build dumped core in test_gamma with an error in ciTypeFlow.hpp:395. I filed this bug at sun.com with Review ID 1299675. I worked around this by exiting the test_gamma script early. Third problem: fastdebug_build target doesn't seem to propagate the -g flag. All of hotspot was built with -fPIC -fno-rtti -fno-exceptions -fcheck-new -m32 -march=i586 -pipe -O3 -fno-strict-aliasing -Wpointer-arith -Wconversion -Wsign-compare, i.e. without -g. I thought the point of the fastdebug target was to build with -g -O. Should I have built with the plain debug_build target instead? Fourth problem: /home/jwb/jdk-src/openjdk/build/linux-i586-fastdebug/gensrc/java/nio/charset/CharsetEncoder.java:142: cannot find symbol symbol : class $replType$ location: class java.nio.charset.CharsetEncoder private $replType$ replacement; This is evidently caused by /bin/sh being dash instead of bash. If the build requires bash, why doesn't it invoke bash? Relying on sh == bash is fragile and confusing. Regards, jwb