git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@64 331e1502-861f-0410-8da2-ba01fb791d7f

This commit is contained in:
legrand 2006-12-13 10:04:29 +00:00
commit 2b2e6e2e44

View file

@ -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 <install directory> 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 <install directory> <bashrc path> to give your .bashrc path'
echo 'Example: ./install /home/work /usr/mybashrcpath'
echo 'Use : ./installParadiseo.sh <bashrc path> 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 <install directory>'
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