[Bug 1025914] Re: java-wrappers fails ito find java runtimes installed in /opt
Rex Tsai
1025914 at bugs.launchpad.net
Mon Sep 23 09:55:50 UTC 2013
** Changed in: java-wrappers (Ubuntu)
Assignee: Rex Tsai (chihchun) => (unassigned)
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to java-wrappers in Ubuntu.
https://bugs.launchpad.net/bugs/1025914
Title:
java-wrappers fails ito find java runtimes installed in /opt
Status in “java-wrappers” package in Ubuntu:
In Progress
Bug description:
[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:
__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
# 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
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/java-wrappers/+bug/1025914/+subscriptions
More information about the foundations-bugs
mailing list