Created attachment 651462 [details] emerge --info it always fails with: * Package: dev-java/openjfx-11.0.8_p2 * Repository: gentoo * Maintainer: gyakovlev@gentoo.org java@gentoo.org * USE: abi_x86_64 amd64 cpu_flags_x86_sse2 elibc_glibc kernel_linux media userland_GNU * FEATURES: network-sandbox preserve-libs sandbox userpriv usersandbox * java-pkg_build-vm-from-handle: No vm found for handles: openjdk-11 openjdk-bin-11 * java-pkg_switch-vm: No VM found for handles: openjdk-11 openjdk-bin-11 * ERROR: dev-java/openjfx-11.0.8_p2::gentoo failed (setup phase): * java-pkg_switch-vm: Failed to determine VM for building * * Call stack: * ebuild.sh, line 125: Called pkg_setup * openjfx-11.0.8_p2.ebuild, line 120: Called java-pkg-2_pkg_setup * java-pkg-2.eclass, line 47: Called java-pkg_init * java-utils-2.eclass, line 2193: Called java-pkg_switch-vm * java-utils-2.eclass, line 2636: Called die * The specific snippet of code: * die "${FUNCNAME}: Failed to determine VM for building" * --- my java-vm --- $ eselect java-vm list Available Java Virtual Machines: grep: /usr/share/java-config-2/vm/openjdk-11: No such file or directory grep: /usr/share/java-config-2/vm/openjdk-bin-11: No such file or directory [1] icedtea-bin-8 system-vm [2] openjdk-11 user-vm [3] openjdk-bin-11 so what package should create /usr/share/java-config-2/vm/openjdk-11 and /usr/share/java-config-2/vm/openjdk-bin-11? generaly speaking it is a pain to install openjdk and openjfx on gentoo as a replacement for oracle-jdk :-/
$ echo $JAVA_HOME /home/rpolasek/.gentoo/java-config-2/current-user-vm
why is gentoo-vm useflag masked?
(a meant gentoo-vm useflag for openjdk and opendjk-bin)
it's only masked for openjdk version 11. it's masked to prevent build failures. Ebuilds and eclasses are not updated to work with it properly. Sometimes it works, sometimes it does not. Please remove local hacks and user vm and try again. OpenJFX should build even if you don't have gentoo-vm flag enabled. Also, if you are not ready to deal with bugs (A LOT OF THEM) - don't enable gentoo-vm useflag on openjdk-11 and if you still enabled it - don't set it as system vm. if you need java11 - just call by full path.
i agree with you - it should work but it doesn't work. that's why i've raised this ticket so please don't change it as resolved :-(
it was a test-request, not resolved and refused. It's common to close bugs for test request when user's system is the problem. If you test and it still does not work - we can always reopen. please fix 'eselect java-vm list' first it outputs garbage, and it's the reason of your problems. I don't know what you did and how you got this error. Here's approx steps you should take: clean up system from manually created files. Don't use user vm and remove ~/.gentoo/java-config-2 directory. After that disable gentoo-vm useflag. next proceed with: > emerge -C openjdk:11 > emerge --oneshot openjdk-bin:11 > emerge --oneshot openjfx > emerge openjdk:11 this should get you working openjdk:11 with openjfx.
also reinstall openjdk-bin without gentoo-vm flag, if you have it enabled.
ok it works. why it is so complicated?
Because nobody really works on getting java11 and later supported, and tools have bugs, this is exactly why gentoo-vm is masked. Manpower problem. Also since java11 lacking module support jfx has to be compiled and linked in at build time and not later. That’s why there are so many steps.
And btw, you can remove openjdk-bin after you’ve built non-bin version. It’s only needed on 1st build.