[vox-tech] The Strange Case of JDK
Christopher McKenzie
vox-tech@lists.lugod.org
Mon, 16 Sep 2002 10:44:30 -0700 (PDT)
I'm trying to compile JDK13 on FreeBSD natively (OpenOffice 1.0/FreeBSD
will have it no other way!) But after about 20 some hours of strife, I
have ended in vain. I can gunzip/untar it successfully with the newer
version of gtar (the stock one won't work) and then if I do a make install
I get a C compilation error about undefined things like iostream.h. I set
the right library directories and run again, it gets a little farther.
Then I go in and patch the GNU makefile manually, some #includes, a couple
predefines, and a few control statements and it gets a little farther
until I have some unresolved -> for non-pointer objects. Without the
intention of manually rewriting java, I decided to try other methods.
Here is the strange part of the case
if I cd to the "make" directory and do
gmake all && gmake images && gmake build && gmake plugin
then it will happily finish without error, successfully. Even if I start
from a fresh source without my above modifications.
If I apply, in order the patch set, 4-7 via patch < jdkpatchs... then the
make will fail with a statement like "only one else per conditional" in
the make file along with quite a few other mangled makes (However, gmake
clean will still do its job). My m4 and gmake and BSD make are all up to
date, and are the recommended versions of the patch readme.
I can get the necessary binaries compiled from a make clean (to restore),
make(to unpack), ctrl+c(to stop an otherwise falty compile) after unpack,
then cd work/j2.../make && gmake statement above. HOWEVER, after this, I
don't have a freaking clue where all the executeables and libraries
_should_ go. And furthermore I don't know how to register the package
name so openoffice will shut up and think it is installed correctly. If I
go back to the main directory and re run make install after I do the
gmake, make blindly assumes there are no .o files and starts compiling
from scratch, leading to the errors. It's the most stupid deadlock I have
ever seen and it is driving me crazy. Any suggestions?