** Description changed: + [Impact] + java-wrappers failed to find java runtime installed in /opt, which caused all java-based program failed to launch, if the user installed java runtime from Oracle. + + apt-cache rdepends java-wrappers + java-wrappers + Reverse Depends: + freemind + worldwind + jajuk + weka + umlet + sweethome3d + statsvn + statcvs + sqlline + pdfsam + opticalraytracer + latexdraw + jxplorer + jsymphonic + jmeter + jftp + jeuclid-mathviewer + jeuclid-cli + jedit + jardiff + jalview + jabref + hdfview + freeplane + freemind + freecol + elki + electric + checkstyle + bnd + basex + azureus + yui-compressor + libfop-java + libbatik-java + + [Test Case] + UBUNTU RELEASE (cat /etc/lsb-release) DISTRIB_ID=Ubuntu DISTRIB_RELEASE=12.04 DISTRIB_CODENAME=precise DISTRIB_DESCRIPTION="Ubuntu 12.04 LTS" PACKAGES ii freemind 0.9.0+dfsg-1 Java Program for creating and viewing Mindmaps ii java-wrappers 0.1.24 wrappers for java executables - - When /etc/alternatives/java points to java runtime installed in /opt (example may be /opt/ibm-java-i386-60/bin/java), then in /usr/lib/java-wrappers/jvm-list.sh emply value is assigned to __jvm_alt in following assignment: + When /etc/alternatives/java points to java runtime installed in /opt + (example may be /opt/ibm-java-i386-60/bin/java), then in /usr/lib/java- + wrappers/jvm-list.sh emply value is assigned to __jvm_alt in following + assignment: __jvm_alt=$(readlink /etc/alternatives/java|sed -n 's/\(\/usr\/lib\/jvm\/[^\/]*\)\/.*/\1/p') Reason is that bacause sed expression did not match path in /opt/..., no substitution is made, and such sed statement prints pattern space only if substitution is made. Therefore in /usr/lib/java-wrappers/java-wrappers.sh fgrep in following code always succeeds and JAVA_HOME is set to empty: - if echo "$DIRS" | fgrep "$__jvm_alt" > /dev/null ; then - JAVA_HOME="$__jvm_alt" - java_debug "Picking up the JVM designated by the alternatives system: " - java_debug " JAVA_HOME = '$JAVA_HOME'" - else + if echo "$DIRS" | fgrep "$__jvm_alt" > /dev/null ; then + JAVA_HOME="$__jvm_alt" + java_debug "Picking up the JVM designated by the alternatives system: " + java_debug " JAVA_HOME = '$JAVA_HOME'" + else - # And pick up the first one that works reasonably - for dir in $DIRS; do - if [ -x $dir/bin/java ]; then - JAVA_HOME=$dir - break; - fi - done - fi + # And pick up the first one that works reasonably + for dir in $DIRS; do + if [ -x $dir/bin/java ]; then + JAVA_HOME=$dir + break; + fi + done + fi This eventually leads to this abnormal exit: - if [ "$JAVA_HOME" ] ; then - # ... omitted ... - else - java_warning "No java runtime was found" - return 1; - fi + if [ "$JAVA_HOME" ] ; then + # ... omitted ... + else + java_warning "No java runtime was found" + return 1; + fi Hence other packages that use java-wrappers, e.g. freemind, experience other failures because java-wrappers failure. In example of freemind, it will not start at all.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1025914 Title: java-wrappers fails ito find java runtimes installed in /opt To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/java-wrappers/+bug/1025914/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs