1 | #!/bin/zsh
|
---|
2 |
|
---|
3 | #-------- setup
|
---|
4 | module purge
|
---|
5 | module load DEVELOP
|
---|
6 | module load gcc
|
---|
7 | module load openmpi/1.8.1
|
---|
8 |
|
---|
9 | VERS_MAJ=2
|
---|
10 | VERS_MIN=9
|
---|
11 | VERS_BUG=2
|
---|
12 | VERS_DOT=${VERS_MAJ}.${VERS_MIN}.${VERS_BUG}
|
---|
13 | VERS_ULINE=${VERS_MAJ}_${VERS_MIN}_${VERS_BUG}
|
---|
14 |
|
---|
15 | BUILD_PATH=/home/vrsw/VisIt/install/${VERS_DOT}/gcc44_ompi181_debug
|
---|
16 | INST_PATH=/home/vrsw/VisIt/${VERS_DOT}/gcc44_ompi181_debug
|
---|
17 |
|
---|
18 | BUILD_PROCS=8
|
---|
19 | BUILD_MODE=Debug
|
---|
20 |
|
---|
21 | ROOT_PATH=`pwd`
|
---|
22 | ARCH=linux-`uname -m`
|
---|
23 | HOSTNAME=`hostname`
|
---|
24 |
|
---|
25 | #------- print info
|
---|
26 | echo
|
---|
27 | echo "-------------------------------------------------------------------"
|
---|
28 | echo "Building VisIt ${VERS_DOT} ${BUILD_MODE} for ${ARCH} on ${HOSTNAME}"
|
---|
29 | echo " build path : ${BUILD_PATH}"
|
---|
30 | echo " install path: ${INST_PATH}"
|
---|
31 | echo " build with no. procs: ${BUILD_PROCS}"
|
---|
32 | echo "-------------------------------------------------------------------"
|
---|
33 | echo " Loaded modules:"
|
---|
34 | module list
|
---|
35 | echo
|
---|
36 |
|
---|
37 | #------- prepare directories
|
---|
38 | mkdir -p ${BUILD_PATH}
|
---|
39 | cd ${BUILD_PATH}
|
---|
40 | if [ $? -eq 0 ]; then
|
---|
41 | echo "SUCCESS: build directory created (${BUILD_PATH})"
|
---|
42 | else
|
---|
43 | echo "ERROR: cannot create build directory (${BUILD_PATH})"
|
---|
44 | exit
|
---|
45 | fi
|
---|
46 |
|
---|
47 | #------- get build script
|
---|
48 | wget http://portal.nersc.gov/svn/visit/trunk/releases/${VERS_DOT}/build_visit${VERS_ULINE}
|
---|
49 | chmod +x build_visit${VERS_ULINE}
|
---|
50 | if [ $? -eq 0 ]; then
|
---|
51 | echo "SUCCESS: build script downloaded"
|
---|
52 | else
|
---|
53 | echo "ERROR: cannot download build script"
|
---|
54 | exit
|
---|
55 | fi
|
---|
56 |
|
---|
57 | #------- patch build script
|
---|
58 | patch -p0 -E build_visit${VERS_ULINE} << 'EOF'
|
---|
59 | @@ -1644,12 +1644,12 @@
|
---|
60 | BYPASS_QT_LICENSE="yes"
|
---|
61 | fi
|
---|
62 |
|
---|
63 | - if [[ "$BYPASS_QT_LICENSE" == "no" && "$DOWNLOAD_ONLY" == "no" ]] ; then
|
---|
64 | - qt_license_prompt
|
---|
65 | - if [[ $? != 0 ]] ;then
|
---|
66 | - error "Qt4 Open Source Edition License Declined. Bailing out."
|
---|
67 | - fi
|
---|
68 | - fi
|
---|
69 | +# if [[ "$BYPASS_QT_LICENSE" == "no" && "$DOWNLOAD_ONLY" == "no" ]] ; then
|
---|
70 | +# qt_license_prompt
|
---|
71 | +# if [[ $? != 0 ]] ;then
|
---|
72 | +# error "Qt4 Open Source Edition License Declined. Bailing out."
|
---|
73 | +# fi
|
---|
74 | +# fi
|
---|
75 | fi
|
---|
76 |
|
---|
77 | #
|
---|
78 | EOF
|
---|
79 |
|
---|
80 | #------- build 3rd party libraries
|
---|
81 | echo "building 3rd party libraries ... "
|
---|
82 | echo " be patient or check ${BUILD_PATH}/1-build_3rdparty.log"
|
---|
83 | echo
|
---|
84 | echo " ./build_visit${VERS_ULINE} \ "
|
---|
85 | echo " --console --no-visit \ "
|
---|
86 | echo " --build-mode ${BUILD_MODE} --makeflags \"-j ${BUILD_PROCS}\" \ "
|
---|
87 | echo " --parallel --fortran \ "
|
---|
88 | echo " --cmake --mesa --python --vtk --qt --szip --zlib --boost \ "
|
---|
89 | echo " --hdf5 --silo --netcdf --xdmf \ "
|
---|
90 | echo " --prefix ${INST_PATH} > ${BUILD_PATH}/1-build_3rdparty.log"
|
---|
91 | echo
|
---|
92 | ./build_visit${VERS_ULINE} \
|
---|
93 | --console --no-visit \
|
---|
94 | --build-mode ${BUILD_MODE} --makeflags "-j ${BUILD_PROCS}" \
|
---|
95 | --parallel --fortran \
|
---|
96 | --cmake --mesa --python --vtk --qt --szip --zlib --boost \
|
---|
97 | --hdf5 --silo --netcdf --xdmf \
|
---|
98 | --prefix ${INST_PATH} > ${BUILD_PATH}/1-build_3rdparty.log 2>&1
|
---|
99 | if [ $? -eq 0 ]; then
|
---|
100 | echo "SUCCESS: 3rd party libraries build"
|
---|
101 | else
|
---|
102 | echo "ERROR: cannot build 3rd party libraries"
|
---|
103 | exit
|
---|
104 | fi
|
---|
105 |
|
---|
106 | #------- download VisIt
|
---|
107 | echo "downloading VisIt source ... "
|
---|
108 | wget http://portal.nersc.gov/svn/visit/trunk/releases/${VERS_DOT}/visit${VERS_DOT}.tar.gz
|
---|
109 | tar -xzf visit${VERS_DOT}.tar.gz
|
---|
110 | if [ $? -eq 0 ]; then
|
---|
111 | echo "SUCCESS: VisIt source downloaded and extracted"
|
---|
112 | else
|
---|
113 | echo "ERROR: cannot download and extract VisIt source"
|
---|
114 | exit
|
---|
115 | fi
|
---|
116 |
|
---|
117 | #------- configure VisIt
|
---|
118 | echo "configuring VisIt ... "
|
---|
119 | echo " be patient or check ${BUILD_PATH}/2-conf_visit.log"
|
---|
120 | cp ${HOSTNAME}.cmake visit${VERS_DOT}/src/config-site/
|
---|
121 | cd visit${VERS_DOT}/src
|
---|
122 |
|
---|
123 | export CMAKE_BIN=`find ../../visit/cmake -mindepth 1 -maxdepth 1 -type d | sort | head -1`
|
---|
124 | export CMAKE_BIN=`find ${CMAKE_BIN} -mindepth 1 -maxdepth 1 -type d | sort | head -1`
|
---|
125 | ${CMAKE_BIN}/bin/cmake \
|
---|
126 | -DCMAKE_BUILD_TYPE:STRING=${BUILD_MODE} \
|
---|
127 | -DVISIT_PARALLEL:BOOL=ON \
|
---|
128 | -DVISIT_FORTRAN:BOOL=ON \
|
---|
129 | . > ${BUILD_PATH}/2-conf_visit.log 2>&1
|
---|
130 | if [ $? -eq 0 ]; then
|
---|
131 | echo "SUCCESS: VisIt configured and Makefile created"
|
---|
132 | else
|
---|
133 | echo "ERROR: cannot configure VisIt and create Makefile"
|
---|
134 | exit
|
---|
135 | fi
|
---|
136 |
|
---|
137 | #------- compile VisIt
|
---|
138 | echo "compiling VisIt ... "
|
---|
139 | echo " be patient or check ${BUILD_PATH}/3-compile_visit.log"
|
---|
140 | make -j ${BUILD_PROCS} > ${BUILD_PATH}/3-compile_visit.log 2>&1
|
---|
141 | if [ $? -eq 0 ]; then
|
---|
142 | echo "SUCCESS: VisIt compiled"
|
---|
143 | else
|
---|
144 | echo "ERROR: cannot compile VisIt"
|
---|
145 | exit
|
---|
146 | fi
|
---|
147 |
|
---|
148 | #------- package VisIt
|
---|
149 | echo "package VisIt ... "
|
---|
150 | echo " be patient or check ${BUILD_PATH}/4-package_visit.log"
|
---|
151 | make package > ${BUILD_PATH}/4-package_visit.log 2>&1
|
---|
152 | if [ $? -eq 0 ]; then
|
---|
153 | echo "SUCCESS: VisIt packaged"
|
---|
154 | else
|
---|
155 | echo "ERROR: cannot package VisIt"
|
---|
156 | exit
|
---|
157 | fi
|
---|
158 |
|
---|
159 | #------- install VisIt
|
---|
160 | echo "install VisIt ... "
|
---|
161 | echo " be patient or check ${BUILD_PATH}/5-install_visit.log"
|
---|
162 | ./svn_bin/visit-install -c none ${VERS_DOT} ${ARCH} ${INST_PATH} > ${BUILD_PATH}/5-install_visit.log 2>&1
|
---|
163 | if [ $? -eq 0 ]; then
|
---|
164 | echo "SUCCESS: VisIt installed"
|
---|
165 | else
|
---|
166 | echo "ERROR: cannot install VisIt"
|
---|
167 | exit
|
---|
168 | fi
|
---|
169 |
|
---|