From 2b2e6e2e44214cd1a82ba809835fa073b0835f12 Mon Sep 17 00:00:00 2001 From: legrand Date: Wed, 13 Dec 2006 10:04:29 +0000 Subject: [PATCH] git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@64 331e1502-861f-0410-8da2-ba01fb791d7f --- trunk/installParadiseo.sh | 209 +++++++++++--------------------------- 1 file changed, 57 insertions(+), 152 deletions(-) diff --git a/trunk/installParadiseo.sh b/trunk/installParadiseo.sh index 6668b777d..508d35316 100755 --- a/trunk/installParadiseo.sh +++ b/trunk/installParadiseo.sh @@ -3,7 +3,7 @@ ######################################################################################### # # Project : paradisEO full package install -# File : installParadiseo +# File : installParadiseo.sh # Comment : # This file attempts to install ParadisEO # # ######################################################################################### @@ -19,15 +19,13 @@ PARADISEO_EO_ARCHIVE=paradiseo-eo.tgz PARADISEO_MO_ARCHIVE=paradiseo-mo.tgz PARADISEO_MOEO_ARCHIVE=paradiseo-moeo.tgz PARADISEO_PEO_ARCHIVE=paradiseo-peo.bz2 +LIBS_PATH=lib LIBXML2_ARCHIVE=libxml2-2.6.0.tar.bz2 MPICH2_ARCHIVE=mpich2-1.0.3.tar.gz # errors SUCCESSFUL_PARADISEO_INSTALL=0 EO_UNPACKING_ERROR=100 -MO_UNPACKING_ERROR=101 -MOEO_UNPACKING_ERROR=102 -PARADISEO_UNPACKING_ERROR=103 LIBXML_UNPACKING_ERROR=104 MPICH_UNPACKING_ERROR=105 EO_INSTALL_ERROR=106 @@ -70,7 +68,7 @@ function run_install() echo -e ' \033[40m\033[1;34m# STEP 1 \033[0m ' echo ' --> Unpacking Paradiseo-EO (Evolving Objects) ...' - tar xvf $resourceKitPath/$PARADISEO_EO_ARCHIVE --directory $installKitPath >> $TAR_MSG + tar xvf $resourceKitPath/$LIBS_PATH/$PARADISEO_EO_ARCHIVE --directory $installKitPath >> $TAR_MSG if [ ! "$?" = "0" ] then echo '' @@ -82,59 +80,12 @@ function run_install() echo fi - ########## STEP 2: unpacking paradiseo-mo ########## - echo -e ' \033[40m\033[1;34m# STEP 2 \033[0m ' - echo ' --> Unpacking Paradiseo-MO (Moving Objects) ...' - - tar xvf $resourceKitPath/$PARADISEO_MO_ARCHIVE --directory $installKitPath >> $TAR_MSG - if [ ! "$?" = "0" ] - then - echo '' - echo " Error when unpacking Paradiseo-MO" - echo -e ' \033[40m\033[1;33m### END ### \033[0m ' - return $MO_UNPACKING_ERROR - else - echo -e ' \033[40m\033[1;34m# STEP 2 OK \033[0m' - echo - fi - ########## STEP 3: unpacking paradiseo-moeo ########## - echo -e ' \033[40m\033[1;34m# STEP 3 \033[0m ' - echo ' --> Unpacking Paradiseo-MOEO (Multi objective Evolving Objects) ...' - - tar xvf $resourceKitPath/$PARADISEO_MOEO_ARCHIVE --directory $installKitPath >> $TAR_MSG - if [ ! "$?" = "0" ] - then - echo '' - echo " Error when unpacking Paradiseo-MOEO" - echo -e ' \033[40m\033[1;33m### END ### \033[0m ' - return $MOEO_UNPACKING_ERROR - else - echo -e ' \033[40m\033[1;34m# STEP 3 OK \033[0m' - echo - fi - - ########## STEP 4: unpacking paradiseo-peo ########## - echo -e ' \033[40m\033[1;34m# STEP 4 \033[0m ' - echo ' --> Unpacking Paradiseo-PEO (ParadisEO on dedicated parallel and/or distributed environments) ...' - - tar xvjf $resourceKitPath/$PARADISEO_PEO_ARCHIVE --directory $installKitPath >> $TAR_MSG - if [ ! "$?" = "0" ] - then - echo '' - echo " Error when unpacking Paradiseo-PEO" - echo -e ' \033[40m\033[1;33m### END ### \033[0m ' - return $PARADISEO_UNPACKING_ERROR - else - echo -e ' \033[40m\033[1;34m# STEP 4 OK \033[0m' - echo - fi - - ########## STEP 5: unpacking libxml2 ########## - echo -e ' \033[40m\033[1;34m# STEP 5 \033[0m ' + ########## STEP 2: unpacking libxml2 ########## + echo -e ' \033[40m\033[1;34m# STEP 2 \033[0m ' echo ' --> Unpacking libxml2 (required for ParadisEO) ...' - tar xvjf $resourceKitPath/$LIBXML2_ARCHIVE --directory $installKitPath >> $TAR_MSG + tar xvjf $resourceKitPath/$LIBS_PATH/$LIBXML2_ARCHIVE --directory $installKitPath >> $TAR_MSG if [ ! "$?" = "0" ] then echo '' @@ -142,15 +93,15 @@ function run_install() echo -e ' \033[40m\033[1;33m### END ### \033[0m ' return $LIBXML_UNPACKING_ERROR else - echo -e ' \033[40m\033[1;34m# STEP 5 OK \033[0m' + echo -e ' \033[40m\033[1;34m# STEP 2 OK \033[0m' echo fi - ########## STEP 6: unpacking mpich2 ########## - echo -e ' \033[40m\033[1;34m# STEP 6 \033[0m ' + ########## STEP 3: unpacking mpich2 ########## + echo -e ' \033[40m\033[1;34m# STEP 3 \033[0m ' echo ' --> Unpacking mpich2 (required for ParadisEO) ...' - tar xzvf $resourceKitPath/$MPICH2_ARCHIVE --directory $installKitPath >> $TAR_MSG + tar xzvf $resourceKitPath/$LIBS_PATH/$MPICH2_ARCHIVE --directory $installKitPath >> $TAR_MSG if [ ! "$?" = "0" ] then echo '' @@ -158,12 +109,12 @@ function run_install() echo -e ' \033[40m\033[1;33m### END ### \033[0m ' return $MPICH_UNPACKING_ERROR else - echo -e ' \033[40m\033[1;34m# STEP 6 OK \033[0m' + echo -e ' \033[40m\033[1;34m# STEP 3 OK \033[0m' echo fi - ########## STEP 7: installing paradiseo-eo ########## - echo -e ' \033[40m\033[1;34m# STEP 7 \033[0m ' + ########## STEP 4: installing paradiseo-eo ########## + echo -e ' \033[40m\033[1;34m# STEP 4 \033[0m ' echo ' --> Installing Paradiseo-EO ...' cd $installKitPath/paradiseo-eo && ./autogen.sh && ./configure && make @@ -174,12 +125,12 @@ function run_install() echo -e ' \033[40m\033[1;33m### END ### \033[0m ' return $EO_INSTALL_ERROR else - echo -e ' \033[40m\033[1;34m# STEP 7 OK \033[0m' + echo -e ' \033[40m\033[1;34m# STEP 4 OK \033[0m' echo fi - ########## STEP 8: installing paradiseo-mo ########## - echo -e ' \033[40m\033[1;34m# STEP 8 \033[0m ' + ########## STEP 5: installing paradiseo-mo ########## + echo -e ' \033[40m\033[1;34m# STEP 5 \033[0m ' echo ' --> Installing Paradiseo-MO ...' cd $installKitPath/paradiseo-mo && ./autogen.sh --with-EOdir=$installKitPath/paradiseo-eo && make @@ -190,12 +141,12 @@ function run_install() echo -e ' \033[40m\033[1;33m### END ### \033[0m ' return $MO_INSTALL_ERROR else - echo -e ' \033[40m\033[1;34m# STEP 8 OK \033[0m' + echo -e ' \033[40m\033[1;34m# STEP 5 OK \033[0m' echo fi - ########## STEP 9: installing MOEO ########## - echo -e ' \033[40m\033[1;34m# STEP 9 \033[0m ' + ########## STEP 6: installing MOEO ########## + echo -e ' \033[40m\033[1;34m# STEP 6 \033[0m ' echo ' --> Installing Paradiseo-MOEO ...' cd $installKitPath/paradiseo-moeo && ./autogen.sh --with-EOdir=$installKitPath/paradiseo-eo/ --with-MOdir=$installKitPath/paradiseo-mo/ && make @@ -206,12 +157,12 @@ function run_install() echo -e ' \033[40m\033[1;33m### END ### \033[0m ' return $MOEO_INSTALL_ERROR else - echo -e ' \033[40m\033[1;34m# STEP 9 OK \033[0m' + echo -e ' \033[40m\033[1;34m# STEP 6 OK \033[0m' echo fi - ########## STEP 10: installing LIBXML2 ########## - echo -e ' \033[40m\033[1;34m# STEP 10 \033[0m ' + ########## STEP 7: installing LIBXML2 ########## + echo -e ' \033[40m\033[1;34m# STEP 7 \033[0m ' echo ' --> Installing LIBXML2 ...' mkdir $installKitPath/libxml2 && cd $installKitPath/libxml2-2.6.0/ && ./configure --prefix=$installKitPath/libxml2/ --exec-prefix=$installKitPath/libxml2/ && make && make install @@ -222,13 +173,13 @@ function run_install() echo -e ' \033[40m\033[1;33m### END ### \033[0m ' return $LIBXML_INSTALL_ERROR else - echo -e ' \033[40m\033[1;34m# STEP 10 OK \033[0m' + echo -e ' \033[40m\033[1;34m# STEP 7 OK \033[0m' echo fi - ########## STEP 11: installing MPICH2 ########## - echo -e ' \033[40m\033[1;34m# STEP 11 \033[0m ' + ########## STEP 8: installing MPICH2 ########## + echo -e ' \033[40m\033[1;34m# STEP 8 \033[0m ' echo ' --> Installing MPICH2 ...' mkdir $installKitPath/mpich2 && cd $installKitPath/mpich2-1.0.3/ && ./configure --prefix=$installKitPath/mpich2/ && make && make install @@ -239,12 +190,12 @@ function run_install() echo -e ' \033[40m\033[1;33m### END ### \033[0m ' return $MPICH_INSTALL_ERROR else - echo -e ' \033[40m\033[1;34m# STEP 11 OK \033[0m' + echo -e ' \033[40m\033[1;34m# STEP 8 OK \033[0m' echo fi - ########## STEP 12: removing temp directory for libxml ########## - echo -e ' \033[40m\033[1;34m# STEP 12 \033[0m ' + ########## STEP 9: removing temp directory for libxml ########## + echo -e ' \033[40m\033[1;34m# STEP 9 \033[0m ' echo ' --> Removing libxml2 temp install directory ...' rm -fr $installKitPath/libxml2-2.6.0 @@ -255,12 +206,12 @@ function run_install() echo -e ' \033[40m\033[1;33m### END ### \033[0m ' return $REMOVE_TEMP_DIRECTORY_ERROR else - echo -e ' \033[40m\033[1;34m# STEP 12 OK \033[0m' + echo -e ' \033[40m\033[1;34m# STEP 9 OK \033[0m' echo fi - ########## STEP 13: removing temp directory for mpich ########## - echo -e ' \033[40m\033[1;34m# STEP 13 \033[0m ' + ########## STEP 10: removing temp directory for mpich ########## + echo -e ' \033[40m\033[1;34m# STEP 10 \033[0m ' echo ' --> Removing mpich2 temp install directory ...' rm -fr $installKitPath/mpich2-1.0.3 @@ -271,12 +222,12 @@ function run_install() echo -e ' \033[40m\033[1;33m### END ### \033[0m ' return $REMOVE_TEMP_DIRECTORY_ERROR else - echo -e ' \033[40m\033[1;34m# STEP 13 OK \033[0m' + echo -e ' \033[40m\033[1;34m# STEP 10 OK \033[0m' echo fi - ########## STEP 14: Configuring environment variables ########## - echo -e ' \033[40m\033[1;34m# STEP 14 \033[0m ' + ########## STEP 11: Configuring environment variables ########## + echo -e ' \033[40m\033[1;34m# STEP 11 \033[0m ' echo ' --> Configuring environment variables for libxml2 and mpich2 ...' export LD_LIBRARY_PATH=$installKitPath/libxml2/lib:$LD_LIBRARY_PATH @@ -296,13 +247,13 @@ function run_install() echo -e ' \033[40m\033[1;33m### END ### \033[0m ' return $VAR_CONFIG_ERROR else - echo -e ' \033[40m\033[1;34m# STEP 14 OK \033[0m' + echo -e ' \033[40m\033[1;34m# STEP 11 OK \033[0m' echo fi - ######## STEP 15: installing paradiseo-peo ########## - echo -e ' \033[40m\033[1;34m# STEP 15 \033[0m ' + ######## STEP 12: installing paradiseo-peo ########## + echo -e ' \033[40m\033[1;34m# STEP 12 \033[0m ' echo ' --> Installing Paradiseo-PEO ...' cd $installKitPath/paradiseo-peo && ./configure --with-EOdir=$installKitPath/paradiseo-eo/ --with-MOdir=$installKitPath/paradiseo-mo/ --with-MOEOdir=$installKitPath/paradiseo-moeo/ && make @@ -313,13 +264,13 @@ function run_install() echo -e ' \033[40m\033[1;33m### END ### \033[0m ' return $PARADISEO_INSTALL_ERROR else - echo -e ' \033[40m\033[1;34m# STEP 15 OK \033[0m' + echo -e ' \033[40m\033[1;34m# STEP 12 OK \033[0m' echo fi - ######## STEP 16: copy .mpd.conf file to bashrc (required for ParadisEO) ########## - echo -e ' \033[40m\033[1;34m# STEP 16 \033[0m ' + ######## STEP 13: copy .mpd.conf file to bashrc (required for ParadisEO) ########## + echo -e ' \033[40m\033[1;34m# STEP 13 \033[0m ' echo ' --> Copy .mpd.conf file to bashrc path (required for Paradiseo-PEO) ...' cp $resourceKitPath/.mpd.conf $bashrcPath/ && chmod 600 $bashrcPath/.mpd.conf @@ -330,7 +281,7 @@ function run_install() echo -e ' \033[40m\033[1;33m### END ### \033[0m ' return $MPD_COPY_ERROR else - echo -e ' \033[40m\033[1;34m# STEP 16 OK \033[0m' + echo -e ' \033[40m\033[1;34m# STEP 13 OK \033[0m' echo fi @@ -363,30 +314,6 @@ function on_error() echo " => To report any problem of for help, please contact paradiseo-help@lists.gforge.inria.fr" echo ;; - $MO_UNPACKING_ERROR) - echo - echo " An error has occured : impossible to unpack paradiseo-mo archive " - echo " Make sure that mo archive exists in current directory " - echo - echo " => To report any problem or for help, please contact paradiseo-help@lists.gforge.inria.fr" - echo ;; - - $MOEO_UNPACKING_ERROR) - echo - echo " An error has occured : impossible to unpack paradiseo-moeo archive " - echo " Make sure that moeo archive exists in current directory " - echo - echo " => To report any problem or for help, please contact paradiseo-help@lists.gforge.inria.fr" - echo ;; - - $PARADISEO_UNPACKING_ERROR) - echo - echo " An error has occured : impossible to unpack paradiseo-peo archive " - echo " Make sure that paradiseo archive exists in current directory " - echo - echo " => To report any problem or for help, please contact paradiseo-help@lists.gforge.inria.fr" - echo ;; - $LIBXML_UNPACKING_ERROR) echo echo " An error has occured : impossible to unpack libxml2 archive" @@ -446,55 +373,33 @@ function on_error() if [ "$1" = "--help" ] then echo - echo 'Use : ./install if your .bashrc file is in your home directory.' - echo 'Example: ./install /home/work' + echo 'Use : ./installParadiseo.sh if your .bashrc file is in your home directory.' echo - echo 'Use : ./install to give your .bashrc path' - echo 'Example: ./install /home/work /usr/mybashrcpath' + echo 'Use : ./installParadiseo.sh to give your .bashrc path' + echo 'Example: ./installParadiseo.sh /usr/mybashrcpath' echo echo '=> For further help, please contact paradiseo-help@lists.gforge.inria.fr' echo exit fi -if [ "$1" = "" ] +if [ ! -f $HOME/.bashrc ] then - echo - echo 'Error : please give a full path for target install' - echo 'Use : ./install ' - echo -else - # check if the path is a full path and if it is valid - cd / - cd $1 2>> /dev/null - isFullPath=$? - echo "$1" | grep "\." - isRelativePath=$? - - if [ ! -d $1 ] || [ ! "$isFullPath" = "0" ] || [ "$isRelativePath" = "0" ] + if [ "$1" == "" ] || [ ! -f $1/.bashrc ] then - echo - echo "Error: Unknown directory $1 - Please give a valid directory for target install (full path)." - echo - else - if [ ! -f $HOME/.bashrc ] - then - if [ "$2" == "" ] || [ ! -f $2/.bashrc ] - then - echo " Please give a valid path for your bashrc file (use ./install --help for further information)" - else - bashrcPath=$2 - paradiseoInstall=run_install $1 - on_error $paradiseoInstall - fi - else - bashrcPath=$HOME - run_install $1 - paradiseoInstall=$? - on_error $paradiseoInstall - fi + echo " Please give a valid path for your bashrc file (use ./installParadiseo.sh --help for further information)" + else + bashrcPath=$1 + paradiseoInstall=run_install $PWD + on_error $paradiseoInstall fi +else + bashrcPath=$HOME + run_install $PWD + paradiseoInstall=$? + on_error $paradiseoInstall fi +