1b6ff768eSJacob Faibussowitsch#!/usr/bin/env python3 2b6ff768eSJacob Faibussowitsch 3b6ff768eSJacob Faibussowitschimport os 4b6ff768eSJacob Faibussowitschpetsc_hash_pkgs=os.path.join(os.getenv('HOME'),'petsc-hash-pkgs') 5b6ff768eSJacob Faibussowitsch 6b6ff768eSJacob Faibussowitsch# This test is done on grind.mcs.anl.gov. It uses ILP64 MKL/BLAS packaged 7b6ff768eSJacob Faibussowitsch# with MATLAB. 8b6ff768eSJacob Faibussowitsch 97de69702SBarry Smith# Note: regular BLAS [with 32-bit integers] conflict with 10b6ff768eSJacob Faibussowitsch# MATLAB BLAS - hence requiring -known-64-bit-blas-indices=1 11b6ff768eSJacob Faibussowitsch 12*f0b74427SPierre Jolivet# Note: MATLAB build requires PETSc shared libraries 13b6ff768eSJacob Faibussowitsch 1421afe8ebSBarry Smith# Some versions of MATLAB [R2013a] conflicted with -lgfortan - so the following workaround worked. 15b6ff768eSJacob Faibussowitsch# export LD_PRELOAD=/usr/lib/gcc/x86_64-linux-gnu/4.6/libgfortran.so 16b6ff768eSJacob Faibussowitsch 17b6ff768eSJacob Faibussowitsch# find MATLAB location 18b6ff768eSJacob Faibussowitschimport os 19b6ff768eSJacob Faibussowitschfrom shutil import which 20b6ff768eSJacob Faibussowitschmatlab_dir=os.path.dirname(os.path.dirname(which('matlab'))) 21b6ff768eSJacob Faibussowitsch 22b6ff768eSJacob Faibussowitschif __name__ == '__main__': 23b6ff768eSJacob Faibussowitsch import sys 24b6ff768eSJacob Faibussowitsch import os 25b6ff768eSJacob Faibussowitsch sys.path.insert(0, os.path.abspath('config')) 26b6ff768eSJacob Faibussowitsch import configure 27b6ff768eSJacob Faibussowitsch configure_options = [ 28b6ff768eSJacob Faibussowitsch '--package-prefix-hash='+petsc_hash_pkgs, 29b6ff768eSJacob Faibussowitsch '--download-mpich=1', # /usr/bin/mpicc does not resolve '__gcov_merge_add'? and gcc-4.4 gives gcov errors 3021afe8ebSBarry Smith '--with-display=140.221.10.20:0.0', # for MATLAB example with graphics 31b6ff768eSJacob Faibussowitsch '--with-blaslapack-dir='+matlab_dir, 32b6ff768eSJacob Faibussowitsch '--with-matlab=1', 33b6ff768eSJacob Faibussowitsch# matlab-engine is deprecated, no longer needed but still allowed 34b6ff768eSJacob Faibussowitsch '--with-matlab-engine=1', 35b6ff768eSJacob Faibussowitsch '--with-shared-libraries=1', 36b6ff768eSJacob Faibussowitsch '-known-64-bit-blas-indices=1', 37b6ff768eSJacob Faibussowitsch '--with-ssl=0', 38b6ff768eSJacob Faibussowitsch '--with-coverage=1', 39b6ff768eSJacob Faibussowitsch '--with-strict-petscerrorcode', 40b6ff768eSJacob Faibussowitsch ] 41b6ff768eSJacob Faibussowitsch configure.petsc_configure(configure_options) 42