Public bug reported:
cbmc compiles its own rt.jar and replaces it on the boot classpath. It
does not work with Java > 8 (boot class path can only be appended,
java.base classes are replaced via --patch-modules, cbmc does not
provide compatibility APIs for the relevant Java versions.
The solution to implement Java > 8 support will require usage of the
bytecode manipulation library such as byte-buddy to instrument runtime
code.
This also causes the build failure:
The package cbmc ftbfs with default Java 25.
The relevant part of the build log:
---------------
[[1;34mINFO[m] Recompiling the module because of [1mchanged source code[m.
[[1;34mINFO[m] Compiling 85 source files with javac [debug target 1.8] to
target/classes
[[1;34mINFO[m] -------------------------------------------------------------
[[1;33mWARNING[m] COMPILATION WARNING :
[[1;34mINFO[m] -------------------------------------------------------------
[[1;33mWARNING[m] bootstrap class path is not set in conjunction with -source
8
not setting the bootstrap class path may lead to class files that cannot run
on JDK 8
--release 8 is recommended instead of -source 8 -target 1.8 because it sets
the bootstrap class path automatically
[[1;33mWARNING[m] source value 8 is obsolete and will be removed in a future
release
[[1;33mWARNING[m] target value 8 is obsolete and will be removed in a future
release
[[1;33mWARNING[m] To suppress warnings about obsolete options, use
-Xlint:-options.
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/AccessibleObject.java:[30,21]
java.security.AccessController in java.security has been deprecated and marked
for removal
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Method.java:[35,39]
sun.reflect.generics.repository.MethodRepository is internal proprietary API
and may be removed in a future release
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Method.java:[36,36]
sun.reflect.generics.factory.CoreReflectionFactory is internal proprietary API
and may be removed in a future release
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Method.java:[37,36]
sun.reflect.generics.factory.GenericsFactory is internal proprietary API and
may be removed in a future release
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Method.java:[38,34]
sun.reflect.generics.scope.MethodScope is internal proprietary API and may be
removed in a future release
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Method.java:[39,30]
sun.reflect.annotation.AnnotationType is internal proprietary API and may be
removed in a future release
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Method.java:[40,30]
sun.reflect.annotation.AnnotationParser is internal proprietary API and may be
removed in a future release
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Executable.java:[33,30]
sun.reflect.annotation.AnnotationParser is internal proprietary API and may be
removed in a future release
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Executable.java:[34,30]
sun.reflect.annotation.AnnotationSupport is internal proprietary API and may
be removed in a future release
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Executable.java:[35,30]
sun.reflect.annotation.TypeAnnotationParser is internal proprietary API and
may be removed in a future release
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Executable.java:[36,30]
sun.reflect.annotation.TypeAnnotation is internal proprietary API and may be
removed in a future release
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Executable.java:[37,39]
sun.reflect.generics.repository.ConstructorRepository is internal proprietary
API and may be removed in a future release
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/Class.java:[194,9]
java.lang.SecurityManager in java.lang has been deprecated and marked for
removal
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/Class.java:[194,36]
getSecurityManager() in java.lang.System has been deprecated and marked for
removal
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Executable.java:[71,14]
sun.reflect.generics.repository.ConstructorRepository is internal proprietary
API and may be removed in a future release
[[1;33mWARNING[m]
/<<PKGBUILDDIR>>/jbmc/lib/java-models-library/src/main/java/java/lang/reflect/Method.java:[125,5]
sun.reflect.generics.repository.MethodRepository is internal proprietary API
and may be removed in a future release
[[1;34mINFO[m] 20 warnings
[[1;34mINFO[m] -------------------------------------------------------------
[[1;34mINFO[m] -------------------------------------------------------------
[[1;31mERROR[m] COMPILATION ERROR :
** Affects: cbmc (Ubuntu)
Importance: Undecided
Status: New
** Affects: cbmc (Debian)
Importance: Unknown
Status: Unknown
** Bug watch added: Debian Bug tracker #1108559
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1108559
** Also affects: cbmc (Debian) via
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1108559
Importance: Unknown
Status: Unknown
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2142628
Title:
cbmc does not support Java 9 +
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/cbmc/+bug/2142628/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs