Hi Guys,
I have one installer shell script which normally get from the dev team to install the app and it works fine for years (in IAX) the same installer/script iam trying to run in Linux 7.2 but it stuck somewhere which I cannot debug, can you help me to point out where it stuck .
here is the snippet.
## Function used to parse through the command-line arguments.
parse_cmdline_args ()
{
# If command-line arguments were provided, parse them.
#
while [ $# -gt 0 ]; do
# -tempdir flag was used to specify BIFF_install_temp_folder
#
if [ $1 = "-tempdir" ]; then
shift
# Remove any trailing directory separators
BIFF_install_temp_folder=`echo "$1" | sed 's/\/*$//'`
shift
# -ui flag was used to specify BIFF_installer_ui
#
elif [ $1 = "-ui" ]; then
shift
# Set the installer UI
if [ $1 = "console" ]; then
BIFF_installer_ui="console"
elif [ $1 = "swing" ]; then
BIFF_installer_ui="swing"
elif [ $1 = "silent" ]; then
BIFF_installer_ui="silent"
else
#do nothing (use default setting)
echo "Warning: Unrecognized installer UI mode: "$1
echo "Using default installer UI instead (${BIFF_installer_ui})"
fi
shift
# if an invalid flag was provided, show a warning message
else
echo "Unrecognized flag: $1"
shift
shift
fi
done
} # parse_cmdline_args
# - :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# - End of Function Definition Section
# - :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# - Set the installer UI to console by default
BIFF_installer_ui="console"
# - If the $DISPLAY variable is set, set the installer UI to swing (GUI)
if [ ! "${DISPLAY}" = "" ]; then
BIFF_installer_ui="swing"
fi
# - :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# - Read the command line arguments
# - :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
parse_cmdline_args $*
# - Ask the user if they wish to resume an unfinished installation
if [ -f INSTALLER.ERROR ]; then
echo Previous installation did not complete.
echo [r]esume from failure point, tart over from the beginning, or [q]uit? r/s/q:
read INPUT
if [ "$INPUT" = "q" ]; then
exit 0;
fi
if [ "$INPUT" = "r" ]; then
if test ! -f "installer.properties.orig" ; then
cp installer.properties installer.properties.orig
fi
cp installer.properties.cache installer.properties
fi
if [ "$INPUT" = "s" ]; then
cp installer.properties.orig installer.properties
fi
fi
# - :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# - Script actions go here
# - :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
echo "Please wait while the installation tool is starting up..."
if [ "${JAVA_HOME}" = "" ]; then
echo "ERROR: JAVA_HOME environment variable needs to be set to run this application"
else
# - Update PATH variable to use the JVM stored at JAVA_HOME as the 1st available JVM
PATH=${JAVA_HOME}/bin:${PATH}
export PATH
if [ "${BIFF_install_temp_folder}" = "" ]; then
${JAVA_HOME}/bin/java -jar install.jar -i ${BIFF_installer_ui}
else
if [ -d $BIFF_install_temp_folder ]; then
echo "Installer temporary disk space location is now: ${BIFF_install_temp_folder}"
${JAVA_HOME}/bin/java -Dlax.nl.env.iatempdir=${BIFF_install_temp_folder} -jar install.jar -i ${BIFF_installer_ui}
else
echo "ERROR: -tempdir must define an existing directory"
fi
fi
fi
# - cleanup installer temp dir
if [ -f cleanup ]; then
mv cleanup cleanup.sh
chmod 744 cleanup.sh
./cleanup.sh
rm ./cleanup.sh
fi
# - restore original installer properties on successful installation
if [ ! -f INSTALLER.ERROR ]; then
if test -f "installer.properties.orig" ; then
cp installer.properties.orig installer.properties
fi
fi
when i runs the this script output is as below, no errors no warning it hangs there more than 1 hour but normally within a minute it ask for the next action normally , dont know what went wrong it envrionment issue or somewhere else.
Please wait while the installation tool is starting up...
echo "Please wait while the installation tool is starting up..." # This is displayed
if [ "${JAVA_HOME}" = "" ]; then
echo "ERROR: JAVA_HOME environment variable needs to be set to run this application" # this not so go to else
else
# - Update PATH variable to use the JVM stored at JAVA_HOME as the 1st available JVM
PATH=${JAVA_HOME}/bin:${PATH}
export PATH
if [ "${BIFF_install_temp_folder}" = "" ]; then # ** Here **
${JAVA_HOME}/bin/java -jar install.jar -i ${BIFF_installer_ui}
else
if [ -d $BIFF_install_temp_folder ]; then
echo "Installer temporary disk space location is now: ${BIFF_install_temp_folder}" # Not displayed so above
${JAVA_HOME}/bin/java -Dlax.nl.env.iatempdir=${BIFF_install_temp_folder} -jar install.jar -i ${BIFF_installer_ui}
else
echo "ERROR: -tempdir must define an existing directory" # not displayed so above
fi
fi
fi
In red is where you should search, now more seriously, have you tried to run the script in debug mode?
You will find there lots of information even for us to help you because here there is not much to say...
There is nothing in what you produced that makes me think something went wrong... So let's say all is OK...
Where is it going to display?
Are you sure of your $DISPLAY setting ?
Can you confirm?
Display is correct which i used normally from my old AIX server.
iam using another tool called Exceed which help to install the package in GUI mode and display setting option in GUI mode, which is not appearing so iam not sure its a problem with display or the script
Can you run any X application when display is exported ?
For instance xterm or xclock should work before issuing script if DISPLAY variable is set and client (your PC) has a working X display (e.g exceed, xming or similar).
I'm not sure about AIX default X applications installed but i'm sure you can find one.
Since i'm seeing some oracle-ware related variables .. are you sure your software doesn't require oracle jdk instead of open jdk (perhaps that could be a reason for java line hanging)...
Problem has been resolved by skipping the display/console tool [here Exceed]
just proceed with terminal based installation and continued by without knowing what has haappened with the display , it is something related with SSH trusting display host or something else...
Thread can be marked as close.