After upgrading from dev-java/sun-jdk-1.4.2.10 rp -r2 I got: tfoerste@n22 ~ $ java -version Error: could not find libjava.so Error: could not find Java 2 Runtime Environment. :-( Problem seems to be related to the changed path i686 vs i386 : n22 /opt/sun-jdk-1.4.2.10/jre/lib # pwd /opt/sun-jdk-1.4.2.10/jre/lib n22 /opt/sun-jdk-1.4.2.10/jre/lib # java -version Error: could not find libjava.so Error: could not find Java 2 Runtime Environment. n22 /opt/sun-jdk-1.4.2.10/jre/lib # ln -s i686 i386 n22 /opt/sun-jdk-1.4.2.10/jre/lib # java -version java version "1.4.2_10" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_10-b03) Java HotSpot(TM) Client VM (build 1.4.2_10-b03, mixed mode)
I had the same problem as well (I use 1.4.2 and 1.5.0 installed if that matters) and doing an emerge =sun-jdk-1.4.2.10-r2 fixed it for me.
The ebuild should be installing that symlink for you. I seem to recall seeing this, but then it went away after re-emerging. I'm not sure why this happens exactly, but I would suspect it has to do with the i386 being a real directory in -r1, but a symlink in -r2. I could try keeping the original i386 directory, then symlinking that to i686.
>I could try keeping the original i386 directory, then symlinking that to i686 During emerg of -r2 the directory i686 was created and portage removed the i386 directory during unmerge of the 1.4.2.10 package, so I symlinked i686 to i386 not vice versa
Same error for me! There are also other problems: jsvc (the thing that's included in tomcat 5.5 to start tomcat as a daemon) doesn't find java anymore. An strance shows me, that jsvc also only looks in the i386 directory. The ebuild should really do "ln -s i386 i686" instead of "mv i386 i686".
Just wanted to echo another datapoint: emerge udatep from sun-jdk-1.5.0.06-r1 to -r2 broke in the same way; the `ln -s i686 i386` symlink initially seems to help...
For me, both the i386 and i686 directories existed. The only thing in the i386 directory was libjpisock.so. Renaming the i386 directory to i386.error before making the symlink named i386 that points to i686 seems to have fixed the problem for me.
Fixed in CVS. Please sync, unmerge =dev-java/sun-jdk-1.4.2.10-r2 , then re-merge =dev-java/sun-jdk-1.4.2.10-r2. You may get away without unmerging, but it would be on the safe side, so that emerge doesn't get confused about the symlinks. For the record, /opt/sun-jdk-1.4.2.10/jre/lib/i386 is no the actual directory, and that gets symlinked to i686. Sorry for the breakage folks.
*** Bug 119688 has been marked as a duplicate of this bug. ***
*** Bug 120055 has been marked as a duplicate of this bug. ***
*** Bug 120105 has been marked as a duplicate of this bug. ***
*** Bug 120206 has been marked as a duplicate of this bug. ***
*** Bug 120386 has been marked as a duplicate of this bug. ***
*** Bug 120556 has been marked as a duplicate of this bug. ***
*** Bug 126395 has been marked as a duplicate of this bug. ***