diff --git a/bin/buildParaView3.3-cvs b/bin/buildParaView3.3-cvs index 1f95596f3c..79d5bbc79d 100755 --- a/bin/buildParaView3.3-cvs +++ b/bin/buildParaView3.3-cvs @@ -45,7 +45,7 @@ WITH_MPI=OFF MPI_MAX_PROCS=32 # Python support: -# note: script will try to determine python library. +# note: script will try to determine the appropriate python library. # If it fails, specify the path using the PYTHON_LIBRARY variable WITH_PYTHON=OFF PYTHON_LIBRARY="" @@ -60,8 +60,8 @@ WITH_MESA=OFF Script=${0##*/} usage() { - while [ "$#" -ge 1 ]; do echo "$1"; shift; done - cat</dev/null) - then - if [ -n "$PYTHON_LIBRARY" ] - then - # check $PYTHON_LIBRARY if it has been set - if [ ! -e "$PYTHON_LIBRARY" ] - then - echo "*** Error: libpython not found at location specified " \ - "by PYTHON_LIBRARY=$PYTHON_LIBRARY" - fi - else - # Try to get $PYTHON_LIBRARY from dynamically linked binary - PYTHON_LIBRARY=$(ldd $pythonBin | \ - sed -ne '/libpython/s/.* => \(.*\) (.*/\1/p') + if pythonBin=$(which python 2>/dev/null) + then + if [ -n "$PYTHON_LIBRARY" ] + then + # check $PYTHON_LIBRARY if it has been set + if [ ! -e "$PYTHON_LIBRARY" ] + then + echo "*** Error: libpython not found at location specified " \ + "by PYTHON_LIBRARY=$PYTHON_LIBRARY" + fi + else + # Try to get $PYTHON_LIBRARY from dynamically linked binary + PYTHON_LIBRARY=$(ldd $pythonBin | \ + sed -ne '/libpython/s/.* => \(.*\) (.*/\1/p') - if [ ! -e "$PYTHON_LIBRARY" ] - then - echo "*** Error: Unable to determine path to python library." - fi - fi + if [ ! -e "$PYTHON_LIBRARY" ] + then + echo "*** Error: Unable to determine path to python library." + fi + fi - [ -e "$PYTHON_LIBRARY" ] || { - echo " Please set the variable PYTHON_LIBRARY to the full" - echo " path to (and including) libpython, or deactivate" - echo " python support by setting WITH_PYTHON=OFF" - exit 1 - } + [ -e "$PYTHON_LIBRARY" ] || { + echo " Please set the variable PYTHON_LIBRARY to the full" + echo " path to (and including) libpython, or deactivate" + echo " python support by setting WITH_PYTHON=OFF" + exit 1 + } - pythonMajor=$(echo $PYTHON_LIBRARY | sed 's/.*libpython\(.*\)\.so.*/\1/') - pythonInclude=/usr/include/python$pythonMajor + pythonMajor=$(echo $PYTHON_LIBRARY | sed 's/.*libpython\(.*\)\.so.*/\1/') + pythonInclude=/usr/include/python$pythonMajor - [ -e "$PYTHON_LIBRARY" ] || { - echo " Please set the variable PYTHON_LIBRARY to the full" - echo " path to (and including) libpython, or deactivate" - echo " python support by setting WITH_PYTHON=OFF" - exit 1 - } + [ -e "$PYTHON_LIBRARY" ] || { + echo " Please set the variable PYTHON_LIBRARY to the full" + echo " path to (and including) libpython, or deactivate" + echo " python support by setting WITH_PYTHON=OFF" + exit 1 + } - # note - we could also allow for a PYTHON_INCLUDE variable ... - [ -e "$pythonInclude" ] || { - echo " No python include headers found" - echo " Please install python headers or deactivate " - echo " python support by setting WITH_PYTHON=OFF" - exit 1 - } + # note - we could also allow for a PYTHON_INCLUDE variable ... + [ -e "$pythonInclude" ] || { + echo " No python include headers found" + echo " Please install python headers or deactivate " + echo " python support by setting WITH_PYTHON=OFF" + exit 1 + } - addCMakeVariable PARAVIEW_ENABLE_PYTHON=ON - addCMakeVariable PYTHON_INCLUDE_PATH=$pythonInclude - addCMakeVariable PYTHON_LIBRARY=$PYTHON_LIBRARY + addCMakeVariable PARAVIEW_ENABLE_PYTHON=ON + addCMakeVariable PYTHON_INCLUDE_PATH=$pythonInclude + addCMakeVariable PYTHON_LIBRARY=$PYTHON_LIBRARY - echo "----" - echo "Python information:" - echo " executable : $pythonBin" - echo " version : $pythonMajor" - echo " include path : $pythonInclude" - echo " library : $PYTHON_LIBRARY" + echo "----" + echo "Python information:" + echo " executable : $pythonBin" + echo " version : $pythonMajor" + echo " include path : $pythonInclude" + echo " library : $PYTHON_LIBRARY" - unset pythonBin pythonInclude pythonMajor - else - echo "*** Error: python not installed" - echo "*** Deactivate python support by setting WITH_PYTHON=OFF" - exit 1 - fi + unset pythonBin pythonInclude pythonMajor + else + echo "*** Error: python not installed" + echo "*** Deactivate python support by setting WITH_PYTHON=OFF" + exit 1 + fi } addMesaSupport() { - [ "$WITH_MESA" = ON ] || return + [ "$WITH_MESA" = ON ] || return - MESA_INCLUDE_DIR=/usr/include/GL - MESA_LIBRARY=/usr/lib$WM_COMPILER_LIB_ARCH/libOSMesa.so + MESA_INCLUDE_DIR=/usr/include/GL + MESA_LIBRARY=/usr/lib$WM_COMPILER_LIB_ARCH/libOSMesa.so - if [ -d "$MESA_INCLUDE_DIR" -a -f "$MESA_LIBRARY" ] - then - OBJ_ADD="$OBJ_ADD-mesa" + if [ -d "$MESA_INCLUDE_DIR" -a -f "$MESA_LIBRARY" ] + then + OBJ_ADD="$OBJ_ADD-mesa" - addCMakeVariable VTK_OPENGL_HAS_OSMESA=ON - addCMakeVariable OSMESA_INCLUDE_DIR=$MESA_INCLUDE_DIR - addCMakeVariable OSMESA_LIBRARY=$MESA_LIBRARY + addCMakeVariable VTK_OPENGL_HAS_OSMESA=ON + addCMakeVariable OSMESA_INCLUDE_DIR=$MESA_INCLUDE_DIR + addCMakeVariable OSMESA_LIBRARY=$MESA_LIBRARY - else - echo "*** Error: no MESA information found" - exit 1 - fi + else + echo "*** Error: no MESA information found" + exit 1 + fi } -buildParaView() +# +# discover where things are or should be put +# +getPaths() { - # set paraview environment - for i in $PWD $WM_THIRD_PARTY_DIR - do - ParaView_INST_DIR=$i/$PARAVIEW_SRC - [ -d $ParaView_INST_DIR ] && break - done + # set paraview environment + for i in $PWD $WM_THIRD_PARTY_DIR + do + ParaView_INST_DIR=$i/$PARAVIEW_SRC + [ -d $ParaView_INST_DIR ] && break + done - if [ ! -d "$ParaView_INST_DIR" ] - then - # last chance: maybe already in the paraview directory - [ "${PWD##*/}" = $PARAVIEW_SRC ] && ParaView_INST_DIR=$PWD + if [ ! -d "$ParaView_INST_DIR" ] + then + # last chance: maybe already in the paraview directory + [ "${PWD##*/}" = $PARAVIEW_SRC ] && ParaView_INST_DIR=$PWD - [ -d "$ParaView_INST_DIR" ] || { - echo "did not find $PARAVIEW_SRC in these directories:" - echo " PWD=$PWD" - echo " WM_THIRD_PARTY_DIR=$WM_THIRD_PARTY_DIR" - echo "abort build" - exit 1 - } - fi + [ -d "$ParaView_INST_DIR" ] || { + echo "did not find $PARAVIEW_SRC in these directories:" + echo " PWD=$PWD" + echo " WM_THIRD_PARTY_DIR=$WM_THIRD_PARTY_DIR" + echo "abort build" + exit 1 + } + fi + + # ParaView_DIR=$ParaView_INST_DIR/platforms/$WM_ARCH$WM_COMPILER$OBJ_ADD + ParaView_DIR=$ParaView_INST_DIR/platforms/$WM_ARCH$WM_COMPILER + + echo "ParaView_DIR=$ParaView_DIR" +} - # ParaView_DIR=$ParaView_INST_DIR/platforms/$WM_ARCH$WM_COMPILER$OBJ_ADD - ParaView_DIR=$ParaView_INST_DIR/platforms/$WM_ARCH$WM_COMPILER +# configure via cmake, but don't actually build anything +configParaView() +{ + # remove any existing build folder and recreate + rm -rf $ParaView_DIR + mkdir -p $ParaView_DIR + cd $ParaView_DIR - # shortcut for repeated builds - use with caution - if [ "$CMAKE_SKIP" = YES ] - then + echo "----" + echo "Configuring $PARAVIEW_SRC" + echo " MPI support : $WITH_MPI" + echo " Python support : $WITH_PYTHON" + echo " MESA support : $WITH_MESA" + echo " Source : $ParaView_INST_DIR" + echo " Target : $ParaView_DIR" + echo "----" + echo + echo cmake \ + -DCMAKE_INSTALL_PREFIX:PATH=$ParaView_DIR \ + $CMAKE_VARIABLES \ + $ParaView_INST_DIR + echo + echo "----" + echo - # change to build/install folder - cd $ParaView_DIR || exit 1 + # run cmake to create Makefiles + cmake \ + -DCMAKE_INSTALL_PREFIX:PATH=$ParaView_DIR \ + $CMAKE_VARIABLES \ + $ParaView_INST_DIR - else +} - # remove any existing build folder and recreate - rm -rf $ParaView_DIR - mkdir -p $ParaView_DIR - cd $ParaView_DIR +makeParaView() +{ + # change to build/install folder + cd $ParaView_DIR || exit 1 + echo " Starting make" - echo "----" - echo "Building $PARAVIEW_SRC" - echo " MPI support : $WITH_MPI" - echo " Python support : $WITH_PYTHON" - echo " MESA support : $WITH_MESA" - echo " Source : $ParaView_INST_DIR" - echo " Target : $ParaView_DIR" - echo "----" + if [ -r /proc/cpuinfo ] + then + WM_NCOMPPROCS=$(egrep "^processor" /proc/cpuinfo | wc -l) + [ $WM_NCOMPPROCS -le 8 ] || WM_NCOMPPROCS=8 - # make paraview - cmake \ - -DCMAKE_INSTALL_PREFIX=$PARAVIEW_APP_DIR \ - $CMAKE_VARIABLES \ - $ParaView_INST_DIR - fi - - # change to build folder - echo " Starting make" - - if [ -r /proc/cpuinfo ] - then - WM_NCOMPPROCS=$(egrep "^processor" /proc/cpuinfo | wc -l) - - if [ $WM_NCOMPPROCS -gt 8 ] - then - WM_NCOMPPROCS=8 - fi - - make -j $WM_NCOMPPROCS - else - make - fi + make -j $WM_NCOMPPROCS + else + make + fi + make install + echo " Done make" } @@ -236,76 +245,76 @@ buildParaView() # Note: use loop with grep to avoid touching too many files fixCMakeHardLinks() { - fileSpec=$1 - string=$2 - envName=$3 + fileSpec=$1 + string=$2 + envName=$3 - echo -n " for \$$envName " - for i in $(find . -type f -iname "$fileSpec") - do - if grep -q "$string" $i - then - echo -n "#" - sed -i "s,$string,\$ENV{$envName},g" $i - fi - done - echo + echo -n " for \$$envName " + for i in $(find . -type f -iname "$fileSpec") + do + if grep -q "$string" $i + then + echo -n "#" + sed -i "s,$string,\$ENV{$envName},g" $i + fi + done + echo } installParaView() { - if [ ! -e "$ParaView_DIR/bin/paraview" ] - then - echo " Cannot install - no paraview binary found" - return - fi - echo " Build complete" + [ -e "$ParaView_DIR/bin/paraview" ] || { + echo " Cannot install - no paraview binary found" + return + } - cd $ParaView_DIR + # change to build/install folder + cd $ParaView_DIR || exit 1 - echo " Replacing path hard links" + echo " Installing ParaView" + echo " Replacing path hard links" - # Replace local ParaView_INST_DIR path with ParaView_INST_DIR - # environment variable - fixCMakeHardLinks '*.cmake' "$ParaView_INST_DIR" ParaView_INST_DIR + # Replace local ParaView_INST_DIR path with ParaView_INST_DIR + # environment variable + fixCMakeHardLinks '*.cmake' "$ParaView_INST_DIR" ParaView_INST_DIR - # Replace local MPI_ARCH_PATH path with MPI_ARCH_PATH - # environment variable - if [ "$WITH_MPI" = ON ] - then - fixCMakeHardLinks '*.cmake' "$MPI_ARCH_PATH" MPI_ARCH_PATH - fi + # Replace local MPI_ARCH_PATH path with MPI_ARCH_PATH + # environment variable + if [ "$WITH_MPI" = ON ] + then + fixCMakeHardLinks '*.cmake' "$MPI_ARCH_PATH" MPI_ARCH_PATH + fi - # Replace local CMAKE_HOME path with CMAKE_HOME - # environment variable - if [ -r "$CMAKE_HOME" ] - then - fixCMakeHardLinks '*cmake*' "$CMAKE_HOME" CMAKE_HOME - fi + # Replace local CMAKE_HOME path with CMAKE_HOME + # environment variable + if [ -r "$CMAKE_HOME" ] + then + fixCMakeHardLinks '*cmake*' "$CMAKE_HOME" CMAKE_HOME + fi - # Replace local WM_COMPILER_DIR path with WM_COMPILER_DIR - # environment variable - fixCMakeHardLinks '*cmake*' "$WM_COMPILER_DIR" WM_COMPILER_DIR + # Replace local WM_COMPILER_DIR path with WM_COMPILER_DIR + # environment variable + fixCMakeHardLinks '*cmake*' "$WM_COMPILER_DIR" WM_COMPILER_DIR - # create a softlink to the $ParaView_DIR/bin folder - # - workaround for chosen install location - echo " Creating lib/paraview-$PARAVIEW_MAJOR_VERSION soft link to 'bin'" - rm -rf lib/paraview-$PARAVIEW_MAJOR_VERSION - [ -d lib ] || mkdir lib - ( cd lib && ln -s ../bin paraview-$PARAVIEW_MAJOR_VERSION ) + # create a softlink to the $ParaView_DIR/bin folder + # - workaround for chosen install location + echo " Creating lib/paraview-$PARAVIEW_MAJOR_VERSION soft link to 'bin'" + rm -rf lib/paraview-$PARAVIEW_MAJOR_VERSION + [ -d lib ] || mkdir lib + ( cd lib && ln -s ../bin paraview-$PARAVIEW_MAJOR_VERSION ) - # info on symlinks to screen - echo "" - echo " ---" - echo " Installation complete" - echo " Set environment variables:" - echo " - ParaView_INST_DIR to $ParaView_INST_DIR" - echo " - ParaView_DIR to $ParaView_DIR" - echo " - PV_PLUGIN_PATH to $FOAM_LIBBIN" - echo " Add $ParaView_DIR/bin to PATH" - # echo " Add $ParaView_INST_DIR/lib to LD_LIBRARY_PATH" - echo " ---" + # info on symlinks to screen + echo "" + echo " ---" + echo " Installation complete" + echo " Set environment variables:" + echo " - ParaView_INST_DIR to $ParaView_INST_DIR" + echo " - ParaView_DIR to $ParaView_DIR" + echo " - PV_PLUGIN_PATH to $FOAM_LIBBIN" + echo " Add $ParaView_DIR/bin to PATH" + # echo " Add $ParaView_INST_DIR/lib to LD_LIBRARY_PATH" + echo " ---" } @@ -317,7 +326,6 @@ unset WITH_MESA unset WITH_PYTHON unset PYTHON_LIBRARY unset CMAKE_VARIABLES -unset CMAKE_SKIP unset OBJ_ADD # start with these general settings diff --git a/etc/apps/paraview3/bashrc b/etc/apps/paraview3/bashrc index 8ff8781051..21c750a10b 100644 --- a/etc/apps/paraview3/bashrc +++ b/etc/apps/paraview3/bashrc @@ -31,14 +31,19 @@ # #------------------------------------------------------------------------------ -export CMAKE_HOME=$WM_THIRD_PARTY_DIR/cmake-2.4.6/platforms/$WM_ARCH +unset CMAKE_HOME +for cmake in cmake-2.6.2 cmake-2.4.6 +do + cmake=$WM_THIRD_PARTY_DIR/$cmake/platforms/$WM_ARCH -if [ -r $CMAKE_HOME ] -then - export PATH=$CMAKE_HOME/bin:$PATH -else - unset CMAKE_HOME -fi + if [ -r $cmake ] + then + export CMAKE_HOME=$cmake + export PATH=$CMAKE_HOME/bin:$PATH + break + fi +done +unset cmake export ParaView_VERSION="3.3-cvs"