Created attachment 788702 [details] build log make[1]: Leaving directory '/var/tmp/portage/sys-devel/gettext-0.21-r1/work/gettext-0.21-abi_x86_64.amd64' Bad: 11 /var/tmp/portage/sys-devel/gettext-0.21-r1/image/usr/share/gettext/gettext.jar gnu/gettext/DumpResource.class Bad: 11 /var/tmp/portage/sys-devel/gettext-0.21-r1/image/usr/share/gettext/gettext.jar gnu/gettext/GetURL$1.class Bad: 11 /var/tmp/portage/sys-devel/gettext-0.21-r1/image/usr/share/gettext/gettext.jar gnu/gettext/GetURL.class CVV: 1.8 Checked: 3 Good: 0 Bad: 3 Skipped: 0 * Incorrect bytecode version found * in file: /var/tmp/portage/sys-devel/gettext-0.21-r1/image/usr/share/gettext/gettext.jar * See /var/tmp/portage/sys-devel/gettext-0.21-r1/temp/class-version-verify.log for more details. * ERROR: sys-devel/gettext-0.21-r1::gentoo failed (install phase): * Incorrect bytecode found * * Call stack: * ebuild.sh, line 127: Called src_install * environment, line 3299: Called multilib-minimal_src_install * environment, line 2738: Called multilib_src_install_all * environment, line 3196: Called java-pkg_dojar '/var/tmp/portage/sys-devel/gettext-0.21-r1/image/usr/share/gettext/gettext.jar' '/var/tmp/portage/sys-devel/gettext-0.21-r1/image/usr/share/gettext/libintl.jar' * environment, line 1470: Called java-pkg_verify-classes '/var/tmp/portage/sys-devel/gettext-0.21-r1/image/usr/share/gettext/gettext.jar' * environment, line 2555: Called die * The specific snippet of code: * die "Incorrect bytecode found"; * * If you need support, post the output of `emerge --info '=sys-devel/gettext-0.21-r1::gentoo'`, * the complete build log and the output of `emerge -pqv '=sys-devel/gettext-0.21-r1::gentoo'`. !!! When you file a bug report, please include the following information: GENTOO_VM=openjdk-11 CLASSPATH="" JAVA_HOME="/usr/lib64/openjdk-11" JAVACFLAGS="-source 1.8 -target 1.8" COMPILER="" and of course, the output of emerge --info =gettext-0.21 * The complete build log is located at '/var/tmp/portage/sys-devel/gettext-0.21-r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/sys-devel/gettext-0.21-r1/temp/environment'. * Working directory: '/var/tmp/portage/sys-devel/gettext-0.21-r1/work/gettext-0.21' * S: '/var/tmp/portage/sys-devel/gettext-0.21-r1/work/gettext-0.21
Created attachment 788705 [details] emerge --info emerge -pqv '=sys-devel/gettext-0.21-r1::gentoo' [ebuild R ] sys-devel/gettext-0.21-r1 USE="acl cxx ncurses openmp -cvs -doc -emacs -git -java -nls -static-libs -verify-sig" ABI_X86="(64) -32 (-x32)"
Created attachment 788708 [details] class-version-verify.log
I cannot reproduce this.
Is there some variable I need to toggle to enable this "bytecode validation"?
It looks like the class validation only runs when JAVA_PKG_STRICT is set and dev-java/javatoolkit is installed. Is it really an error to have bytecode targeting 1.8 built/installed by JDK 11? I would expect it would work just fine in practice.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e227bcf7752f4e1389bfb61373136a1956632eb2 commit e227bcf7752f4e1389bfb61373136a1956632eb2 Author: Mike Gilbert <floppym@gentoo.org> AuthorDate: 2022-06-29 15:32:55 +0000 Commit: Mike Gilbert <floppym@gentoo.org> CommitDate: 2022-06-29 19:44:34 +0000 sys-devel/gettext: pass JAVACFLAGS in JAVAC variable Also avoid building java classes multiple times when muiltilib is enabled. Bug: https://bugs.gentoo.org/770508 Closes: https://bugs.gentoo.org/855134 Signed-off-by: Mike Gilbert <floppym@gentoo.org> sys-devel/gettext/gettext-0.21-r1.ebuild | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-)