Bug 174843

Summary: startconsole does not properly check for java location
Product: [Retired] 389 Reporter: Rich Megginson <rmeggins>
Component: Directory ConsoleAssignee: Nathan Kinder <nkinder>
Status: CLOSED CURRENTRELEASE QA Contact: Viktor Ashirov <vashirov>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.0CC: rmeggins
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: 1.0.2
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-07 16:52:43 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 152373, 183369, 240316    

Description Rich Megginson 2005-12-02 18:05:19 UTC
Even with the IBM J2SDK installed and JAVA_HOME set correctly,
the lines:

if [ ! -f java -a ! -x java ]
then
  echo "$0: The java program is not in your path, or is not executable."
  exit 1
fi

... in startconsole are always going to fail.  What is probably required
are:

if [ ! -f $JAVA_HOME/bin/java -a ! -x $JAVA_HOME/bin/java ]
then
  echo "$0: The java program is not in your path, or is not executable."
  exit 1
fi

(see line 69 where it runs the correct java binary -- the test for "-f java"
is only going to work if the java binary is in the current directory, not
in JAVA_HOME/bin where it should be).

Comment 1 Ivan Gudym 2006-02-15 19:13:50 UTC
It seems that this is a bug i found when install FDS on Suse 10. Problem is
symbolic links that find command ignore.
When i added -L option to this 2 lines:

LIBJAVA_DIR=`find $JAVA_HOME -name libjava\.s[ol] | sed 's/\/libjava\.s.$//'`
LIBJVM_DIR=`find $JAVA_HOME -name libjvm\.s[ol] | sed 's/\/libjvm\.s.$//'`

to have: 

LIBJAVA_DIR=`find -L $JAVA_HOME -name libjava\.s[ol] | sed 's/\/libjava\.s.$//'`
LIBJVM_DIR=`find -L $JAVA_HOME -name libjvm\.s[ol] | sed 's/\/libjvm\.s.$//'`

all worked just fine.


Comment 2 Nathan Kinder 2006-02-15 19:28:45 UTC
The current Console code does not have these checks anymore.  We needed to set
LD_LIBRARY_PATH (or it's equivalent) to satisfy a library dependency that JSS
had.  The latest version of JSS that we are using does not have these library
dependencies anymore, so we no longer need to find out where libjava and libjvm are.

The "-f $JAVA_HOME/bin/java" check was changed quite some time ago as part of a
general rewrite of the startconsole script as well.

These changes will be available in the Fedora DS 1.0.2 build.