The build of java/openjdk8 version 8.66.17_1 fails on FreeBSD 10.1-RELEASE with the following: /usr/ports/java/openjdk8/work/openjdk/jdk/src/share/classes/sun/security/x509/X509CertImpl.java:436: error: cannot access Instance sigVerf = Signature.getInstance(algId.getName(), sigProvider); ^ class file for sun.security.jca.GetInstance$Instance not found /usr/ports/java/openjdk8/work/openjdk/jdk/src/share/classes/sun/security/jca/GetInstance.java:238: error: cannot find symbol return new Instance(s.getProvider(), instance); ^ symbol: class Instance location: class GetInstance /usr/ports/java/openjdk8/work/openjdk/jdk/src/share/classes/sun/security/jca/GetInstance.java:245: error: cannot find symbol return new Instance(s.getProvider(), instance); ^ symbol: class Instance location: class GetInstance /usr/ports/java/openjdk8/work/openjdk/jdk/src/share/classes/javax/net/ssl/SSLContext.java:155: error: cannot find symbol GetInstance.Instance instance = GetInstance.getInstance ^ symbol: class Instance location: class GetInstance /usr/ports/java/openjdk8/work/openjdk/jdk/src/share/classes/javax/net/ssl/SSLContext.java:198: error: cannot find symbol GetInstance.Instance instance = GetInstance.getInstance ^ symbol: class Instance location: class GetInstance /usr/ports/java/openjdk8/work/openjdk/jdk/src/share/classes/javax/net/ssl/SSLContext.java:235: error: cannot find symbol GetInstance.Instance instance = GetInstance.getInstance ^ symbol: class Instance location: class GetInstance 6 errors Writing java_util_concurrent_atomic_AtomicLong.h Writing java_util_zip_Deflater.h Writing java_util_prefs_FileSystemPreferences.h Writing java_util_logging_FileHandler.h Writing java_util_zip_CRC32.h Writing java_util_zip_Inflater.h Writing java_util_jar_JarFile.h Writing java_util_zip_ZipFile.h Writing java_util_zip_Adler32.h Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. CompileJavaClasses.gmk:344: recipe for target '/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal-server-release/jdk/classes/javac_state' failed gmake[4]: *** [/usr/ports/java/openjdk8/work/openjdk/build/bsd-x86_64-normal-server-release/jdk/classes/javac_state] Error 255 gmake[4]: Leaving directory '/usr/ports/java/openjdk8/work/openjdk/jdk/make' BuildJdk.gmk:64: recipe for target 'classes-only' failed gmake[3]: *** [classes-only] Error 2 gmake[3]: Leaving directory '/usr/ports/java/openjdk8/work/openjdk/jdk/make' /usr/ports/java/openjdk8/work/openjdk//make/Main.gmk:119: recipe for target 'jdk-only' failed gmake[2]: *** [jdk-only] Error 2 gmake[2]: Leaving directory '/usr/ports/java/openjdk8/work/openjdk' ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make[1]: stopped in /usr/ports/java/openjdk8 *** Error code 1
This was caused by r403748, "Build with sjavac when we are self-hosting to improve build speed". Disabling the option added in that commit allows the build to finish.
A commit references this bug: Author: jkim Date: Tue Jan 5 22:39:47 UTC 2016 New revision: 405320 URL: https://svnweb.freebsd.org/changeset/ports/405320 Log: - Partially implement getThreadUserTime() using getrusage(2). Note we can only get usage for the current thread. Return -1 if the requested function is not supported, i.e., user time for other threads, rather than crash. [1] - Properly implement os::elapsedVTime() using getrusage(). Basically, it is taken from Linux version. - Temporarily revert r403748 to fix bootstrapping with earlier OpenJDK8. [2] PR: 205523, 205843 [1] PR: 205544 [2] Changes: head/java/openjdk8/Makefile head/java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.cpp
Reverted r403748 for now, thanks!
A commit references this bug: Author: jkim Date: Wed Jan 13 18:13:57 UTC 2016 New revision: 406064 URL: https://svnweb.freebsd.org/changeset/ports/406064 Log: MFH: r405058, r405320 - Stub implementation of OperatingSystemImpl. - Partially implement getThreadUserTime() using getrusage(2). Note we can only get usage for the current thread. Return -1 if the requested function is not supported, i.e., user time for other threads, rather than crash. - Properly implement os::elapsedVTime() using getrusage(). Basically, it is taken from Linux version. - Temporarily revert r403748 to fix bootstrapping with earlier OpenJDK8. PR: 205229, 205523, 205544, 205843 Approved by: ports-secteam (feld) Changes: _U branches/2016Q1/ branches/2016Q1/java/openjdk8/Makefile branches/2016Q1/java/openjdk8/files/patch-hotspot_src_os_bsd_vm_os__bsd.cpp branches/2016Q1/java/openjdk8/files/patch-jdk-src-solaris-native-sun-management-BsdOperatingSystem.c