Installer is shell script not working

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...

From the lttle we see:

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...

1 Like

Thanks for the response, have ran the script in debug and got below error.
$./setup.sh

+ unset BIFF_INSTALL_HOME
+ BIFF_installer_ui=console
+ '[' '!' 10.250.29.222:46.0 = '' ']'
+ BIFF_installer_ui=swing
+ parse_cmdline_args
+ '[' 0 -gt 0 ']'
+ '[' -f INSTALLER.ERROR ']'
+ echo 'Please wait while the installation tool is starting up...'
Please wait while the installation tool is starting up...
+ '[' /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.121-2.6.8.0.el7_3.x86_64 = '' ']'
+ PATH=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.121-2.6.8.0.el7_3.x86_64/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/oraclient/app/oracle/product/12.1.0/client_1/bin
+ export PATH
+ '[' '' = '' ']'
+ /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.121-2.6.8.0.el7_3.x86_64/bin/java -jar install.jar -i swing

where my pointer went wrong?

---------- Post updated at 10:50 AM ---------- Previous update was at 10:33 AM ----------

Moreover on it...

here is my bash_profile and java configured path

bash_profile

ORACLE_HOME=/oraclient/app/oracle/product/12.1.0/client_1
ORACLE_BASE=/oraclient/app/oracle/
ORACLE_SID=odrmu
TNS_ADMIN=/oraclient/app/oracle/product/12.1.0/client_1/network/admin
PATH=/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/oraclient/app/oracle/product/12.1.0/client_1/bin
LD_LIBRARY_PATH=/oraclient/app/oracle/product/12.1.0/client_1/lib

#NLSPATH=$NLSPATH:/usr/lpp/xlC/exe/default_msg/%N.cat
#LIBPATH=/prd_u01/app/oracle/product/11.2.0/client_1/lib
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.121-2.6.8.0.el7_3.x86_64

export ORACLE_HOME
export TNS_ADMIN
export LD_LIBRARY_PATH
export PATH
#export NLSPATH
#export LIBPATH
export ORACLE_SID
export JAVA_HOME

umask u=rwx,g=rwx,o=

export DISPLAY=`who am i | cut -d "(" -f2 | cut -d ")" -f1`:0.0
echo
echo "DISPLAY VARIABLE set to $DISPLAY"
echo

we want to use java 7, and current all java jdk and jre installed as below

$ls -lrt
total 4
lrwxrwxrwx  1 root root   51 Dec 30 18:12 jre-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64 -> java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64/jre
lrwxrwxrwx  1 root root   38 Jan 19 11:58 jre-1.6.0-openjdk.x86_64 -> java-1.6.0-openjdk-1.6.0.41.x86_64/jre
lrwxrwxrwx  1 root root   27 Jan 19 11:58 jre-1.6.0 -> /etc/alternatives/jre_1.6.0
lrwxrwxrwx  1 root root   57 Jan 20 15:30 jre-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64-debug -> java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64-debug/jre
lrwxrwxrwx  1 root root   27 Jan 20 15:30 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx  1 root root   35 Jan 20 15:30 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
lrwxrwxrwx  1 root root   32 Jan 20 15:30 java-1.8.0 -> /etc/alternatives/java_sdk_1.8.0
lrwxrwxrwx  1 root root   40 Jan 20 15:30 java-1.8.0-openjdk -> /etc/alternatives/java_sdk_1.8.0_openjdk
drwxr-xr-x  9 root root  101 Jan 20 15:31 java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64-debug
drwxr-xr-x  9 root root  101 Jan 20 15:31 java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64
lrwxrwxrwx  1 root root   34 Jan 20 15:57 java-1.6.0-openjdk.x86_64 -> java-1.6.0-openjdk-1.6.0.41.x86_64
lrwxrwxrwx  1 root root   32 Jan 20 15:57 java-1.6.0 -> /etc/alternatives/java_sdk_1.6.0
drwxr-xr-x  9 root root  101 Jan 20 15:57 java-1.6.0-openjdk-1.6.0.41.x86_64
lrwxrwxrwx  1 root root   53 Jan 21 17:39 jre-1.7.0-openjdk-1.7.0.121-2.6.8.0.el7_3.x86_64 -> java-1.7.0-openjdk-1.7.0.121-2.6.8.0.el7_3.x86_64/jre
lrwxrwxrwx  1 root root   21 Jan 21 17:39 jre -> /etc/alternatives/jre
lrwxrwxrwx  1 root root   29 Jan 21 17:39 jre-openjdk -> /etc/alternatives/jre_openjdk
lrwxrwxrwx  1 root root   27 Jan 21 17:39 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
lrwxrwxrwx  1 root root   35 Jan 21 17:39 jre-1.7.0-openjdk -> /etc/alternatives/jre_1.7.0_openjdk
lrwxrwxrwx  1 root root   26 Jan 21 17:39 java -> /etc/alternatives/java_sdk
lrwxrwxrwx  1 root root   34 Jan 21 17:39 java-openjdk -> /etc/alternatives/java_sdk_openjdk
lrwxrwxrwx  1 root root   32 Jan 21 17:39 java-1.7.0 -> /etc/alternatives/java_sdk_1.7.0
lrwxrwxrwx  1 root root   40 Jan 21 17:39 java-1.7.0-openjdk -> /etc/alternatives/java_sdk_1.7.0_openjdk
drwxr-xr-x 10 root root 4096 Jan 21 17:39 java-1.7.0-openjdk-1.7.0.121-2.6.8.0.el7_3.x86_64

$pwd
/usr/lib/jvm

I have some servers with many Java versions, that is not an issue...

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?

next would be to see if it is running... and not aborted without trace

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

$echo $DISPLAY
10.250.29.222:0.0

$export DISPLAY=10.250.29.222:46.0

$echo $DISPLAY
10.250.29.222:46.0



also Script is keep running it never aborted itself untill i do.

---------- Post updated at 12:24 PM ---------- Previous update was at 11:26 AM ----------

Meanwhile iam continue to look into it with no success.

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)...

Hope that helps
Regards
Peasant.

withdrawn

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.

Thanks for your kind assistance.