Created attachment 343960 [details] emerge --info Several ebuilds based on java fail to emerge due to the same problem: * Home for VM 'icedtea-bin-6' does not exist: /usr/lib/jvm/icedtea-bin-6 * Invalid System VM: icedtea-bin-6 * ERROR: dev-libs/protobuf-2.4.0a failed (compile phase): * ejavac failed * * Call stack: * ebuild.sh, line 93: Called src_compile * environment, line 7683: Called ejavac '-d' '../../../build' './com/google/protobuf/TextFormat.java' './com/google/protobuf/Service.java' './com/google/protobuf/BlockingRpcChannel.java' './com/google/protobuf/CodedOutputStream.java' './com/google/protobuf/Descriptors.java' './com/google/protobuf/RpcChannel.java' './com/google/protobuf/LazyStringArrayList.java' './com/google/protobuf/Internal.java' './com/google/protobuf/GeneratedMessageLite.java' './com/google/protobuf/UninitializedMessageException.java' './com/google/protobuf/ServiceException.java' './com/google/protobuf/RpcCallback.java' './com/google/protobuf/MessageLiteOrBuilder.java' './com/google/protobuf/FieldSet.java' './com/google/protobuf/ExtensionRegistry.java' './com/google/protobuf/InvalidProtocolBufferException.java' './com/google/protobuf/DynamicMessage.java' './com/google/protobuf/ExtensionRegistryLite.java' './com/google/protobuf/SmallSortedMap.java' './com/google/protobuf/GeneratedMessage.java' './com/google/protobuf/UnknownFieldSet.java' './com/google/protobuf/Message.java' './com/google/protobuf/MessageLite.java' './com/google/protobuf/BlockingService.java' './com/google/protobuf/ByteString.java' './com/google/protobuf/RepeatedFieldBuilder.java' './com/google/protobuf/ProtocolMessageEnum.java' './com/google/protobuf/AbstractMessage.java' './com/google/protobuf/RpcController.java' './com/google/protobuf/UnmodifiableLazyStringList.java' './com/google/protobuf/WireFormat.java' './com/google/protobuf/SingleFieldBuilder.java' './com/google/protobuf/RpcUtil.java' './com/google/protobuf/CodedInputStream.java' './com/google/protobuf/AbstractMessageLite.java' './com/google/protobuf/LazyStringList.java' './com/google/protobuf/MessageOrBuilder.java' './com/google/protobuf/DescriptorProtos.java' * environment, line 2072: Called die * The specific snippet of code: * ${compiler_executable} ${javac_args} "${@}" || die "ejavac failed" HOWEVER: # eselect java-vm list Available Java Virtual Machines: [1] icedtea-bin-6 system-vm # ls -ld /usr/lib/jvm/icedtea-bin-6 lrwxrwxrwx 1 root root 25 Apr 1 17:46 /usr/lib/jvm/icedtea-bin-6 -> /opt/icedtea-bin-6.1.12.4 # ls -ld /opt/icedtea-bin-6.1.12.4/ drwxr-xr-x 7 root root 4096 Apr 1 17:46 /opt/icedtea-bin-6.1.12.4/ Related shell variables: GENTOO_VM= CLASSPATH="" JAVA_HOME="" JAVACFLAGS="" COMPILER="javac" I am adding the relevant output for dev-libs/protobuf-2.4.0a failing for ejavac as attachments: • emerge --info • build.log • environment
Created attachment 343962 [details] Environment
I was unable to add the build log. It was neither accepted by "attach a file" nor could I paste the selection into "Add as text"
I set importance to high / critical because not being able to compile java make a lot of applications unavailable on my system.
Created attachment 343970 [details] Build log (via text editor)
going by the build.log the ebuild isn't calling pkg_setup from the java eclass, as a result no jdk is setup. Though this would be an issue local to this ebuild. As I read you, you see this with other packages as well, could you please list those you tried and failed.
* Home for VM 'icedtea-bin-6' does not exist: /usr/lib/jvm/icedtea-bin-6 * Invalid System VM: icedtea-bin-6 Looks like it's either a messed up environment or eselect isn't giving the correct output. What does 'java-config -L' print ?
Closing as this is the only reported package at this time, if you hit others please file a new bug. Thanks for the report and radhermit for the quick fix. 02 Apr 2013; Tim Harder <radhermit@gentoo.org> protobuf-2.4.0a.ebuild, protobuf-2.4.1.ebuild: Run java-pkg-opt-2_pkg_setup when the java use flag is enabled.
After the last emerge, I run into exactly the same problem as before — however, the solution has vanished: # java-pkg-opt-2_pkg_setup bash: java-pkg-opt-2_pkg_setup: command not found # locate java-pkg-opt-2_pkg_setup # This time, the package is gettext (I remember, gettext was one of the packages that had had the problem before).
I removed the symlink (/usr/lib/jvm/icedtea-bin-6) to the target directory (/opt/icedtea-bin-6.1.12.4), then I moved the target directory directly to /usr/lib/jvm/icedtea-bin-6. Now the VM is correctly recognized. So the whole problem is actually a symlink problem: if the directory is checked without the trailing backslash, its type is 'symlink' rather than 'directory'.
icedtea-bin-6 is gone. closing.