java/jdk16 fails to build on -CURRENT

Michiel Boland michiel at boland.org
Tue Aug 14 03:50:04 PDT 2007


Hi. The java/jdk16 port fails to build on FreeBSD-CURRENT. The following 
patches fixes at least the initial compile errors.

--- ../../hotspot/src/os/bsd/vm/jvm_bsd.cpp.orig	2007-08-09 20:15:10.000000000 +0200
+++ ../../hotspot/src/os/bsd/vm/jvm_bsd.cpp	2007-08-11 18:11:45.000000000 +0200
@@ -116,7 +116,7 @@
  */

  struct siglabel {
-  char *name;
+  const char *name;
    int   number;
  };

--- ../../hotspot/src/os/bsd/vm/vmError_bsd.cpp.orig	2007-08-11 18:22:45.000000000 +0200
+++ ../../hotspot/src/os/bsd/vm/vmError_bsd.cpp	2007-08-11 18:23:19.000000000 +0200
@@ -30,7 +30,7 @@
  // Unlike system(), this function can be called from signal handler. It
  // doesn't block SIGINT et al.
  int VMError::fork_and_exec(char* cmd) {
-  char * argv[4];
+  const char * argv[4];
    argv[0] = "sh";
    argv[1] = "-c";
    argv[2] = cmd;

Also the DONT_BUILD_DEPLOY make flag appears to have become a no-op. This 
is not good, because the stuff under deploy/ still does not build on 
amd64.

Finally, I now get the following error when building java/jdk16 on i386 
CURRENT (bootstrapped with diablo-jdk-1.5.0.07.01_6). Anyone else seeing 
this?

[...]
if [ -r ../../install/make/Makefile ]; then \
 	  ( cd  ../../install/make; gmake sanity all EXTERNALSANITYCONTROL=true ALT_CONTROL_TOPDIR=/usr/ports/java/jdk16/work/control ALT_J2SE_TOPDIR=/usr/ports/java/jdk16/work/j2se ALT_OUTPUTDIR=/usr/ports/java/jdk16/work/control/build/bsd-i586 ALT_RTPATCH_DIR= ALT_BASE_IMAGE_ZIP= ALT_BASE_IMAGE_DIR= ALT_NEW_IMAGE_DIR= ALT_BUNDLE_DATE=14_aug_2007 ); \
 	fi
gmake[1]: Entering directory `/usr/ports/java/jdk16/work/install/make'
i586 Install Build started:   1.6.0_01-p1-b00
>>>Recursively making pack all @ Tue Aug 14 12:04:01 CEST 2007 ...
gmake[2]: Entering directory `/usr/ports/java/jdk16/work/install/make/pack'
i586 Installer Build started:   1.6.0_01-p1-b00
gmake PACK_OUTPUTDIR=/usr/ports/java/jdk16/work/control/build/bsd-i586/pack/pack-jre-jars \
 		VAR_IMAGE_DIR=/usr/ports/java/jdk16/work/control/build/bsd-i586/j2re-image \
 		JARS_TO_PACK="lib/rt.jar lib/jsse.jar lib/charsets.jar " \
 		EXTRA_PACKOPTS="--strip-debug" \
 		EXTRA_PACKOPTS+="--code-attribute=StackMapTable=strip" \
 		pack-jars
gmake[3]: Entering directory `/usr/ports/java/jdk16/work/install/make/pack'
mkdir -p /usr/ports/java/jdk16/work/control/build/bsd-i586/pack/pack-jre-jars
for i in lib/rt.jar lib/jsse.jar lib/charsets.jar  ; do \
 	    ls -l /usr/ports/java/jdk16/work/control/build/bsd-i586/j2re-image/$i | nawk '{printf("Packing %s %s bytes\n",$9, $5)}'  ; \
 	    mkdir -p /usr/ports/java/jdk16/work/control/build/bsd-i586/pack/pack-jre-jars/`dirname $i` ; \
             mkdir -p /usr/ports/java/jdk16/work/control/build/bsd-i586/j2re-image/`dirname $i` ; \
 	    /usr/ports/java/jdk16/work/control/build/bsd-i586/bin/pack200 -J-esa -J-ea  -J-Xmx512m "--no-gzip" "--config-file=pack.all.properties" --strip-debug --code-attribute=StackMapTable=strip /usr/ports/java/jdk16/work/control/build/bsd-i586/pack/pack-jre-jars/`dirname $i`/`basename $i .jar`.pack /usr/ports/java/jdk16/work/control/build/bsd-i586/j2re-image/$i || exit 1 ; \
 	    rm -f /usr/ports/java/jdk16/work/control/build/bsd-i586/j2re-image/$i ; \
 	    /usr/ports/java/jdk16/work/control/build/bsd-i586/bin/unpack200  "-v"  /usr/ports/java/jdk16/work/control/build/bsd-i586/pack/pack-jre-jars/`dirname $i`/`basename $i .jar`.pack /usr/ports/java/jdk16/work/control/build/bsd-i586/j2re-image/$i || exit 1 ; \
 	done
Packing /usr/ports/java/jdk16/work/control/build/bsd-i586/j2re-image/lib/rt.jar 47602237 bytes
Exception in thread "main" java.lang.AssertionError
 	at com.sun.java.util.jar.pack.ClassReader.readRef(ClassReader.java:90)
 	at com.sun.java.util.jar.pack.ClassReader.readClassRef(ClassReader.java:106)
 	at com.sun.java.util.jar.pack.ClassReader.readInnerClasses(ClassReader.java:439)
 	at com.sun.java.util.jar.pack.ClassReader.readAttributes(ClassReader.java:404)
 	at com.sun.java.util.jar.pack.ClassReader.read(ClassReader.java:127)
 	at com.sun.java.util.jar.pack.PackerImpl$DoPack.readClass(PackerImpl.java:490)
 	at com.sun.java.util.jar.pack.PackerImpl$DoPack.run(PackerImpl.java:464)
 	at com.sun.java.util.jar.pack.PackerImpl.pack(PackerImpl.java:73)
 	at com.sun.java.util.jar.pack.Driver.main(Driver.java:261)
gmake[3]: *** [pack-jars] Error 1
gmake[3]: Leaving directory `/usr/ports/java/jdk16/work/install/make/pack'
gmake[2]: *** [pack-jre] Error 2
gmake[2]: Leaving directory `/usr/ports/java/jdk16/work/install/make/pack'
gmake[1]: *** [all] Error 1
gmake[1]: Leaving directory `/usr/ports/java/jdk16/work/install/make'
gmake: *** [install-build] Error 2
*** Error code 2

Stop in /usr/ports/java/jdk16.
*** Error code 1

Stop in /usr/ports/java/jdk16.

Cheers
Michiel


More information about the freebsd-java mailing list