3 echo "##########################################################################"
4 echo "openturns" $VERSION
5 echo "##########################################################################"
7 # we don't install in python directory -> modify environment as described in INSTALL file
8 mkdir -p $PRODUCT_INSTALL/lib/python${PYTHON_VERSION:0:3}/site-packages
9 export PATH=$(pwd)/bin:$PATH
10 export PYTHONPATH=$(pwd):$PYTHONPATH
11 export PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION:0:3}/site-packages:$PYTHONPATH
14 if [-n "$SAT_HPC" ] && [ -n "$MPI_ROOT_DIR" ]; then
15 echo "WARNING: setting CC and CXX environment variables and target MPI wrapper"
16 CMAKE_OPTIONS+=" -DCMAKE_CXX_COMPILER:STRING=${MPI_CXX_COMPILER}"
17 CMAKE_OPTIONS+=" -DCMAKE_C_COMPILER:STRING=${MPI_C_COMPILER}"
20 CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}"
21 CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE:STRING=Release"
22 CMAKE_OPTIONS+=" -DPYTHON_EXECUTABLE=${PYTHONBIN}"
23 CMAKE_OPTIONS+=" -DSWIG_EXECUTABLE=${SWIG_ROOT_DIR}/bin/swig"
25 if [ -n "$TBB_ROOT_DIR" ] && [ "${TBB_ROOT_DIR}" != "/usr" ]; then
26 CMAKE_OPTIONS+=" -DTBB_ROOT_DIR=${TBB_ROOT_DIR}"
30 if [ -n "$LIBXML2_ROOT_DIR" ] && [ "${LIBXML2_ROOT_DIR}" != "/usr" ]; then
31 CMAKE_OPTIONS+=" -DLIBXML2_INCLUDE_DIR:STRING=${LIBXML2_ROOT_DIR}/include/libxml2"
32 CMAKE_OPTIONS+=" -DLIBXML2_LIBRARIES:STRING=${LIBXML2_ROOT_DIR}/lib/libxml2.so"
33 CMAKE_OPTIONS+=" -DLIBXML2_XMLLINT_EXECUTABLE=${LIBXML2_ROOT_DIR}/bin/xmllint"
37 if [ -n "$HDF5_ROOT_DIR" ] && [ "${HDF5_ROOT_DIR}" != "/usr" ]; then
38 CMAKE_OPTIONS+=" -DHDF5_DIR:PATH=${HDF5_ROOT_DIR}/share/cmake/hdf5"
39 CMAKE_OPTIONS+=" -DHDF5_USE_STATIC_LIBRARIES:BOOL=OFF"
40 CMAKE_OPTIONS+=" -DHDF5_ROOT:PATH=${HDF5_ROOT_DIR}"
41 CMAKE_OPTIONS+=" -DHDF5_hdf5_LIBRARY_RELEASE=${HDF5_ROOT_DIR}/lib"
42 CMAKE_OPTIONS+=" -DHDF5_hdf5_hl_LIBRARY_RELEASE=${HDF5_ROOT_DIR}/lib/libhdf5_hl.so"
43 CMAKE_OPTIONS+=" -DHDF5_HL_LIBRARY=${HDF5_ROOT_DIR}/lib/libhdf5_hl.so"
44 CMAKE_OPTIONS+=" -DHDF5_C_INCLUDE_DIR=${HDF5_ROOT_DIR}/include"
48 if [ -n "$CMINPACK_ROOT_DIR" ] && [ "${CMINPACK_ROOT_DIR}" != "/usr" ]; then
49 CMAKE_OPTIONS+=" -DCMINPACK_ROOT_DIR=${CMINPACK_ROOT_DIR}"
50 CMAKE_OPTIONS+=" -DCMINPACK_INCLUDE_DIR=${CMINPACK_ROOT_DIR}/include/cminpack-1"
51 CMAKE_OPTIONS+=" -DCMINPACK_LIBRARY=$CMINPACK_ROOT_DIR/lib/libcminpack_s.a"
53 CMAKE_OPTIONS+=" -DCMINPACK_ROOT_DIR=${CMINPACK_ROOT_DIR}"
54 CMAKE_OPTIONS+=" -DCMINPACK_INCLUDE_DIR=${CMINPACK_ROOT_DIR}/include/cminpack-1"
58 if [ -n "$LAPACK_ROOT_DIR" ] && [ "${LAPACK_ROOT_DIR}" != "/" ]; then
59 CMAKE_OPTIONS+=" -DLAPACK_DIR=${LAPACK_ROOT_DIR}/lib/cmake/lapack-3.8.0"
60 CMAKE_OPTIONS+=" -DCBLAS_DIR=${LAPACK_ROOT_DIR}/lib/cmake/cblas-3.8.0"
61 CMAKE_OPTIONS+=" -DCBLAS_LIBRARIES=$LAPACK_ROOT_DIR/lib/libcblas.so"
62 CMAKE_OPTIONS+=" -DBLAS_LIBRARIES=$LAPACK_ROOT_DIR/lib/libblas.so"
65 if [[ $DIST_NAME == "CO" && $DIST_VERSION == "8" && $APPLICATION_NAME =~ native && -f /usr/lib64/libcblas.so && -f /usr/lib64/libblas.so ]]; then
66 CMAKE_OPTIONS+=" -DCBLAS_LIBRARIES=/usr/lib64/libcblas.so"
67 CMAKE_OPTIONS+=" -DBLAS_LIBRARIES=/usr/lib64/libblas.so"
71 if [ -n "$LIBXML2_ROOT_DIR" ] && [ "${LIBXML2_ROOT_DIR}" != "/usr" ]; then
72 CMAKE_OPTIONS+=" -DLIBXML2_INCLUDE_DIR:STRING=${LIBXML2_ROOT_DIR}/include/libxml2"
73 CMAKE_OPTIONS+=" -DLIBXML2_LIBRARIES:STRING=${LIBXML2_ROOT_DIR}/lib/libxml2.so"
74 CMAKE_OPTIONS+=" -DLIBXML2_XMLLINT_EXECUTABLE=${LIBXML2_ROOT_DIR}/bin/xmllint"
78 if [ -n "$NLOPT_ROOT_DIR" ] && [ "${NLOPT_ROOT_DIR}" != "/usr" ]; then
79 CMAKE_OPTIONS+=" -DNLOPT_INCLUDE_DIRS:STRING=${NLOPT_ROOT_DIR}/include"
80 CMAKE_OPTIONS+=" -DNLOPT_LIBRARIES:STRING=${NLOPT_ROOT_DIR}/lib"
81 CMAKE_OPTIONS+=" -DNLOPT_DIR:STRING=${NLOPT_ROOT_DIR}"
85 echo "*** cmake" $CMAKE_OPTIONS
86 mkdir -p $BUILD_DIR/openturns
87 cd $BUILD_DIR/openturns
88 cmake $CMAKE_OPTIONS $SOURCE_DIR/openturns-1.18
96 echo "*** make" $MAKE_OPTIONS
105 echo "*** make install"
109 echo "ERROR on make install"
114 echo "*** check installation"
116 if [ -d "${PRODUCT_INSTALL}/lib64" ]
118 mv ${PRODUCT_INSTALL}/lib64/* ${PRODUCT_INSTALL}/lib
119 rmdir ${PRODUCT_INSTALL}/lib64
122 export PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH}
123 export LD_LIBRARY_PATH=${PRODUCT_INSTALL}/lib:${LD_LIBRARY_PATH}
124 chmod +x ${SOURCE_DIR}/openturns-1.18/python/test/t_features.py
125 ${SOURCE_DIR}/openturns-1.18/python/test/t_features.py
128 echo "ERROR testing Openturns features...."
132 LD_LIBRARY_PATH_REF=${LD_LIBRARY_PATH}
133 if [[ -d "$SOURCE_DIR/otfftw-0.11" ]]; then
138 OTC["otmixmod"]="0.12"
139 OTC["otmorris"]="0.10"
141 OTC["otrobopt"]="0.10"
142 OTC["otsubsetinverse"]="1.8"
148 echo "*** C O M P O N E N T : $k-${OTC[$k]} "
149 if [[ $k == "otagrum" ]]; then
150 echo "WARNING: skipping $k.."
154 mkdir ${BUILD_DIR}/$k
157 if [[ $DIST_NAME == "CO" ]]; then
158 CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF" # needs extra latex modules on CentOS 7, 8
159 CMAKE_EXTRA_OPTIONS+=" -DUSE_SPHINX=OFF"
161 if [[ $k == "otmixmod" ]]; then
162 CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF"
163 CMAKE_EXTRA_OPTIONS+=" -DSOURCEFILES=$SOURCE_DIR/$k-${OTC[$k]}"
164 elif [[ $k == "otsubsetinverse" ]]; then
165 CMAKE_EXTRA_OPTIONS+=" -DOPENTURNS_HOME=$PRODUCT_INSTALL"
166 CMAKE_EXTRA_OPTIONS+=" -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON"
167 CMAKE_EXTRA_OPTIONS+=" -DUSE_SPHINX=OFF"
168 elif [[ $k == "otfftw" ]]; then
169 CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF"
170 elif [[ $k == "otpmml" ]]; then
171 CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF"
175 echo "*** cmake " $CMAKE_OPTIONS ${CMAKE_EXTRA_OPTIONS} $SOURCE_DIR/$k-${OTC[$k]}
176 cmake $CMAKE_OPTIONS ${CMAKE_EXTRA_OPTIONS} $SOURCE_DIR/$k-${OTC[$k]}
179 echo "ERROR on cmake"
184 echo "*** make" $MAKE_OPTIONS
193 echo "*** make install"
197 echo "ERROR on make install"
204 OTP["otwrapy"]="0.10"
208 echo "*** C O M P O N E N T : $k-${OTP[$k]} "
210 if [[ $DIST_NAME == "DB" && $DIST_VERSION == "10" && $APPLICATION_NAME =~ native && $k == "otfmi" ]]; then
211 echo "INFO: install dill-0.3.4"
212 ${PYTHONBIN} -m pip install $SOURCE_DIR/dill-0.3.4/dill-0.3.4-py2.py3-none-any.whl --no-deps --prefix=$PRODUCT_INSTALL
215 echo "FATAL: could not install dill-0.3.4"
219 if [[ $DIST_NAME == "DB" && $DIST_VERSION == "10" && $APPLICATION_NAME =~ native && $k == "otpod" ]]; then
220 echo "INFO: install scikit-learn-0.24.2"
221 ${PYTHONBIN} -m pip install $SOURCE_DIR/scikit-learn-0.24.2/scikit-learn-0.24.2.tar.gz --no-deps --prefix=$PRODUCT_INSTALL
224 echo "FATAL: could not install scikit-0.24.2"
227 echo "INFO: install threadpoolctl-3.0.0"
228 ${PYTHONBIN} -m pip install $SOURCE_DIR/threadpoolctl-3.0.0/threadpoolctl-3.0.0-py3-none-any.whl --no-deps --prefix=$PRODUCT_INSTALL
231 echo "FATAL: could not install threadpoolctl 3.0.0"
235 if [[ $DIST_NAME == "CO" && $DIST_VERSION == "8" && $APPLICATION_NAME =~ native && $k == "otpod" ]]; then
236 echo "*** skipping: since system Cython too old"
239 # For non native builds install everything, since Python is embedded
240 if [[ ! $APPLICATION_NAME =~ native ]]; then
241 if [[ $k == "otfmi" ]]; then
242 echo "INFO: install dill-0.3.4"
243 ${PYTHONBIN} -m pip install $SOURCE_DIR/dill-0.3.4/dill-0.3.4-py2.py3-none-any.whl --no-deps
246 echo "FATAL: could not install dikk-0.3.4"
249 elif [[ $k == "otpod" ]]; then
250 echo "INFO: install threadpoolctl-3.0.0"
251 ${PYTHONBIN} -m pip install $SOURCE_DIR/threadpoolctl-3.0.0/threadpoolctl-3.0.0-py3-none-any.whl --no-deps
254 echo "FATAL: could not install readpoolctl 3.0.0"
257 echo "INFO: install joblib-1.1.0"
258 ${PYTHONBIN} -m pip install $SOURCE_DIR/joblib-1.1.0/joblib-1.1.0-py2.py3-none-any.whl --no-deps
261 echo "FATAL: could not install joblib-1.1.0"
264 echo "INFO: install decorator-5.1.0"
265 ${PYTHONBIN} -m pip install $SOURCE_DIR/decorator-5.1.0/decorator-5.1.0-py3-none-any.whl --no-deps
268 echo "FATAL: could not install decorator-5.1.0"
271 echo "INFO: install scikit-learn-0.24.2"
272 ${PYTHONBIN} -m pip install $SOURCE_DIR/scikit-learn-0.24.2/scikit-learn-0.24.2.tar.gz --no-deps
275 echo "FATAL: could not install scikit-0.24.2"
280 if [[ $DIST_NAME == "FD" && $DIST_VERSION == "32" && $k == "otpod" ]]; then
281 echo "INFO: install scikit-learn-0.24.2"
282 ${PYTHONBIN} -m pip install $SOURCE_DIR/scikit-learn-0.24.2/scikit-learn-0.24.2.tar.gz --no-deps --prefix=$PRODUCT_INSTALL
285 echo "FATAL: could not install scikit-0.24.2"
292 mkdir ${BUILD_DIR}/$k
294 cp -R $SOURCE_DIR/$k-${OTP[$k]}/* .
296 $PYTHONBIN setup.py build
299 echo "ERROR on ${PYTHONBIN} setup.py build"
303 $PYTHONBIN setup.py install --prefix=$PRODUCT_INSTALL
306 echo "ERROR on ${PYTHONBIN} setup.py install --prefix=$PRODUCT_INSTALL"
313 echo "########## END"