Known Build Problems
libspashscreen / libpng Error
When building jdk7/build/linux-amd64/lib/amd64/libsplashscreen.so, a series of link errors occur, such as this one:
jdk7/build/linux-amd64/tmp/sun/sun.awt/splashscreen/obj64/png.o(.text+0xc3c): In function `png_init_mmx_flags': : undefined reference to `png_mmx_support'
It has been reported that this problem is fixed internally, but hasn't been integrated into the public mercurial repo yet: http://mail.openjdk.java.net/pipermail/discuss/2007-December/000945.html
In the meantime, there is workaround. Here is a simple patch:
--- jdk/make/sun/splashscreen/Makefile~ 2008-02-01 04:18:40.000000000 -0500 +++ jdk/make/sun/splashscreen/Makefile 2008-02-07 15:50:54.000000000 -0500 @@ -59,7 +59,7 @@ # C Flags # -CFLAGS += -DSPLASHSCREEN +CFLAGS += -DSPLASHSCREEN -DPNG_NO_MMX_CODE ifneq ($(PLATFORM), windows) CFLAGS += -DWITH_X11
Windows CYGWIN Problems
There are some versions of CYGWIN make (/usr/bin/make.exe) that do not work with the drive letter paths. You need to get an older make.exe from say, http://www.cmake.org/files/cygwin/make.exe and displace the /usr/bin/make.exe with this version.
Cannot allocate heap
CYGWIN can conflict with other windows software, see http://cygwin.com/faq/faq.using.html#faq.using.bloda
One failure encountered looked something like:
$ make 7 [main] ? (232756) C:\Progra~1\cygwin\bin\sh.exe: *** fatal error - couldn't allocate heap, Win32 error 487, base 0x6D0000, top 0x6E0000, reserve_size 61440, allocsize 65536, page_const 4096