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
13 if [ -n "$MPI_ROOT_DIR" ]
15 echo "WARNING: setting CC and CXX environment variables and target MPI wrapper"
16 export CC=${MPI_ROOT_DIR}/bin/mpicc
17 export CXX=${MPI_ROOT_DIR}/bin/mpicxx
21 CMAKE_OPTIONS+=" -DCMAKE_INSTALL_PREFIX:STRING=${PRODUCT_INSTALL}"
22 CMAKE_OPTIONS+=" -DCMAKE_BUILD_TYPE:STRING=Release"
23 CMAKE_OPTIONS+=" -DPYTHON_EXECUTABLE=${PYTHONBIN}"
24 CMAKE_OPTIONS+=" -DSWIG_EXECUTABLE=${SWIG_ROOT_DIR}/bin/swig"
26 if [ -n "$TBB_ROOT_DIR" ] && [ "${TBB_ROOT_DIR}" != "/usr" ]; then
27 CMAKE_OPTIONS+=" -DTBB_ROOT_DIR=${TBB_ROOT_DIR}"
31 if [ -n "$LIBXML2_ROOT_DIR" ] && [ "${LIBXML2_ROOT_DIR}" != "/usr" ]; then
32 CMAKE_OPTIONS+=" -DLIBXML2_INCLUDE_DIR:STRING=${LIBXML2_ROOT_DIR}/include/libxml2"
33 CMAKE_OPTIONS+=" -DLIBXML2_LIBRARIES:STRING=${LIBXML2_ROOT_DIR}/lib/libxml2.so"
34 CMAKE_OPTIONS+=" -DLIBXML2_XMLLINT_EXECUTABLE=${LIBXML2_ROOT_DIR}/bin/xmllint"
38 if [ -n "$HDF5_ROOT_DIR" ] && [ "${HDF5_ROOT_DIR}" != "/usr" ]; then
39 CMAKE_OPTIONS+=" -DHDF5_DIR:PATH=${HDF5_ROOT_DIR}/share/cmake/hdf5"
40 CMAKE_OPTIONS+=" -DHDF5_USE_STATIC_LIBRARIES:BOOL=OFF"
41 CMAKE_OPTIONS+=" -DHDF5_ROOT:PATH=${HDF5_ROOT_DIR}"
42 CMAKE_OPTIONS+=" -DHDF5_hdf5_LIBRARY_RELEASE=${HDF5_ROOT_DIR}/lib"
43 CMAKE_OPTIONS+=" -DHDF5_hdf5_hl_LIBRARY_RELEASE=${HDF5_ROOT_DIR}/lib/libhdf5_hl.so"
44 CMAKE_OPTIONS+=" -DHDF5_HL_LIBRARY=${HDF5_ROOT_DIR}/lib/libhdf5_hl.so"
45 CMAKE_OPTIONS+=" -DHDF5_C_INCLUDE_DIR=${HDF5_ROOT_DIR}/include"
49 if [ -n "$CMINPACK_ROOT_DIR" ] && [ "${CMINPACK_ROOT_DIR}" != "/usr" ]; then
50 CMAKE_OPTIONS+=" -DCMINPACK_ROOT_DIR=${CMINPACK_ROOT_DIR}"
51 CMAKE_OPTIONS+=" -DCMINPACK_INCLUDE_DIR=${CMINPACK_ROOT_DIR}/include/cminpack-1"
52 CMAKE_OPTIONS+=" -DCMINPACK_LIBRARY=$CMINPACK_ROOT_DIR/lib/libcminpack_s.a"
54 CMAKE_OPTIONS+=" -DCMINPACK_ROOT_DIR=${CMINPACK_ROOT_DIR}"
55 CMAKE_OPTIONS+=" -DCMINPACK_INCLUDE_DIR=${CMINPACK_ROOT_DIR}/include/cminpack-1"
59 if [ -n "$LAPACK_ROOT_DIR" ] && [ "${LAPACK_ROOT_DIR}" != "/" ]; then
60 CMAKE_OPTIONS+=" -DLAPACK_DIR=${LAPACK_ROOT_DIR}/lib/cmake/lapack-3.8.0"
61 CMAKE_OPTIONS+=" -DCBLAS_DIR=${LAPACK_ROOT_DIR}/lib/cmake/cblas-3.8.0"
62 CMAKE_OPTIONS+=" -DCBLAS_LIBRARIES=$LAPACK_ROOT_DIR/lib/libcblas.so"
63 CMAKE_OPTIONS+=" -DBLAS_LIBRARIES=$LAPACK_ROOT_DIR/lib/libblas.so"
66 if [[ $DIST_NAME == "CO" && $DIST_VERSION == "8" && $APPLICATION_NAME =~ native && -f /usr/lib64/libcblas.so && -f /usr/lib64/libblas.so ]]; then
67 CMAKE_OPTIONS+=" -DCBLAS_LIBRARIES=/usr/lib64/libcblas.so"
68 CMAKE_OPTIONS+=" -DBLAS_LIBRARIES=/usr/lib64/libblas.so"
72 if [ -n "$LIBXML2_ROOT_DIR" ] && [ "${LIBXML2_ROOT_DIR}" != "/usr" ]; then
73 CMAKE_OPTIONS+=" -DLIBXML2_INCLUDE_DIR:STRING=${LIBXML2_ROOT_DIR}/include/libxml2"
74 CMAKE_OPTIONS+=" -DLIBXML2_LIBRARIES:STRING=${LIBXML2_ROOT_DIR}/lib/libxml2.so"
75 CMAKE_OPTIONS+=" -DLIBXML2_XMLLINT_EXECUTABLE=${LIBXML2_ROOT_DIR}/bin/xmllint"
79 if [ -n "$NLOPT_ROOT_DIR" ] && [ "${NLOPT_ROOT_DIR}" != "/usr" ]; then
80 CMAKE_OPTIONS+=" -DNLOPT_INCLUDE_DIRS:STRING=${NLOPT_ROOT_DIR}/include"
81 CMAKE_OPTIONS+=" -DNLOPT_LIBRARIES:STRING=${NLOPT_ROOT_DIR}/lib"
82 CMAKE_OPTIONS+=" -DNLOPT_DIR:STRING=${NLOPT_ROOT_DIR}"
86 echo "*** cmake" $CMAKE_OPTIONS
87 mkdir -p $BUILD_DIR/openturns
88 cd $BUILD_DIR/openturns
89 cmake $CMAKE_OPTIONS $SOURCE_DIR/openturns-1.17
97 echo "*** make" $MAKE_OPTIONS
106 echo "*** make install"
110 echo "ERROR on make install"
115 echo "*** check installation"
117 if [ -d "${PRODUCT_INSTALL}/lib64" ]
119 mv ${PRODUCT_INSTALL}/lib64/* ${PRODUCT_INSTALL}/lib
120 rmdir ${PRODUCT_INSTALL}/lib64
123 export PYTHONPATH=${PRODUCT_INSTALL}/lib/python${PYTHON_VERSION}/site-packages:${PYTHONPATH}
124 export LD_LIBRARY_PATH=${PRODUCT_INSTALL}/lib:${LD_LIBRARY_PATH}
125 chmod +x ${SOURCE_DIR}/openturns-1.17/python/test/t_features.py
126 ${SOURCE_DIR}/openturns-1.17/python/test/t_features.py
129 echo "ERROR testing Openturns features...."
133 LD_LIBRARY_PATH_REF=${LD_LIBRARY_PATH}
134 if [[ -d "$SOURCE_DIR/otfftw-0.11" ]]; then
139 OTC["otmixmod"]="0.12"
140 OTC["otmorris"]="0.10"
142 OTC["otrobopt"]="0.9"
143 OTC["otsubsetinverse"]="1.8"
149 echo "*** C O M P O N E N T : $k-${OTC[$k]} "
150 if [[ $k == "otagrum" ]]; then
151 echo "WARNING: skipping $k.."
156 mkdir ${BUILD_DIR}/$k
159 if [[ $k == "otmixmod" ]]; then
160 CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF"
161 CMAKE_EXTRA_OPTIONS+=" -DSOURCEFILES=$SOURCE_DIR/$k-${OTC[$k]}"
162 elif [[ $k == "otsubsetinverse" ]]; then
163 CMAKE_EXTRA_OPTIONS+=" -DOPENTURNS_HOME=$PRODUCT_INSTALL"
164 CMAKE_EXTRA_OPTIONS+=" -DCMAKE_SKIP_INSTALL_RPATH:BOOL=ON"
165 CMAKE_EXTRA_OPTIONS+=" -DUSE_SPHINX=OFF"
166 elif [[ $k == "otfftw" ]]; then
167 CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF" # needs extra latex modules on CentOS 7
168 elif [[ $k == "otpmml" ]]; then
169 CMAKE_EXTRA_OPTIONS+=" -DBUILD_DOC=OFF" # needs extra latex modules on CentOS 7
173 echo "*** cmake " $CMAKE_OPTIONS ${CMAKE_EXTRA_OPTIONS} $SOURCE_DIR/$k-${OTC[$k]}
174 cmake $CMAKE_OPTIONS ${CMAKE_EXTRA_OPTIONS} $SOURCE_DIR/$k-${OTC[$k]}
177 echo "ERROR on cmake"
182 echo "*** make" $MAKE_OPTIONS
191 echo "*** make install"
195 echo "ERROR on make install"
202 OTP["otwrapy"]="0.10"
206 echo "*** C O M P O N E N T : $k-${OTP[$k]} "
208 if [[ $DIST_NAME == "CO" && $DIST_VERSION == "8" && $APPLICATION_NAME =~ native && $k == "otpod" ]]; then
209 echo "*** skipping: since system Cython too old"
212 # For non native builds install everything, since Python is embedded
213 if [[ ! $APPLICATION_NAME =~ native ]]; then
214 if [[ $k == "otfmi" ]]; then
215 echo "INFO: install dill-0.3.4"
216 ${PYTHONBIN} -m pip install $SOURCE_DIR/dill-0.3.4/dill-0.3.4-py2.py3-none-any.whl --no-deps
219 echo "FATAL: could not install dikk-0.3.4"
222 elif [[ $k == "otpod" ]]; then
223 echo "INFO: install threadpoolctl-3.0.0"
224 ${PYTHONBIN} -m pip install $SOURCE_DIR/threadpoolctl-3.0.0/threadpoolctl-3.0.0-py3-none-any.whl --no-deps
227 echo "FATAL: could not install readpoolctl 3.0.0"
230 echo "INFO: install joblib-1.1.0"
231 ${PYTHONBIN} -m pip install $SOURCE_DIR/joblib-1.1.0/joblib-1.1.0-py2.py3-none-any.whl --no-deps
234 echo "FATAL: could not install joblib-1.1.0"
237 echo "INFO: install decorator-5.1.0"
238 ${PYTHONBIN} -m pip install $SOURCE_DIR/decorator-5.1.0/decorator-5.1.0-py3-none-any.whl --no-deps
241 echo "FATAL: could not install decorator-5.1.0"
244 echo "INFO: install scikit-learn-0.24.2"
245 ${PYTHONBIN} -m pip install $SOURCE_DIR/scikit-learn-0.24.2/scikit-learn-0.24.2.tar.gz --no-deps
248 echo "FATAL: could not install scikit-0.24.2"
253 if [[ $DIST_NAME == "FD" && $DIST_VERSION == "32" && $k == "otpod" ]]; then
254 echo "INFO: install scikit-learn-0.24.2"
255 ${PYTHONBIN} -m pip install $SOURCE_DIR/scikit-learn-0.24.2/scikit-learn-0.24.2.tar.gz --no-deps --prefix=$PRODUCT_INSTALL
258 echo "FATAL: could not install scikit-0.24.2"
265 mkdir ${BUILD_DIR}/$k
267 cp -R $SOURCE_DIR/$k-${OTP[$k]}/* .
269 $PYTHONBIN setup.py build
272 echo "ERROR on ${PYTHONBIN} setup.py build"
276 $PYTHONBIN setup.py install --prefix=$PRODUCT_INSTALL
279 echo "ERROR on ${PYTHONBIN} setup.py install --prefix=$PRODUCT_INSTALL"
286 echo "########## END"