6 def set_env(env, prereq_dir, version):
7 env.set('OPENMPIDIR', prereq_dir)
8 env.set('OPAL_PREFIX', prereq_dir) # be able to move openmpi install (packages)
9 env.set('MPI_ROOT_DIR', prereq_dir) # update for cmake
10 env.set('MPI_ROOT', prereq_dir)
11 env.set('MPI_INCLUDE_DIR', os.path.join(prereq_dir, 'include'))
12 env.set('MPI_C_COMPILER', os.path.join(prereq_dir, 'bin', 'mpicc'))
13 env.set('MPI_CXX_COMPILER', os.path.join(prereq_dir, 'bin', 'mpicxx'))
14 env.set('MPI_C_FOUND', os.path.join(prereq_dir,'lib','libmpi.so'))
15 env.prepend('PATH', os.path.join(prereq_dir, 'bin'))
16 env.prepend('PATH', os.path.join(prereq_dir, 'include'))
17 env.prepend('LD_LIBRARY_PATH', os.path.join(prereq_dir, 'lib'))
18 env.prepend('C_INCLUDE_PATH', os.path.join(prereq_dir, 'include')) # needed for parallel h5py
20 def set_nativ_env(env):
23 prereq_inc='/usr/include/openmpi'
26 if any(distribution in distro.name().lower() for distribution in ["centos", "fedora"]) :
27 prereq_dir='/usr/lib64/openmpi'
28 prereq_bin='/usr/lib64/openmpi/bin'
29 prereq_inc='/usr/include/openmpi-x86_64'
30 elif any(distribution in distro.name().lower() for distribution in ["debian", "ubuntu"]) :
31 prereq_dir='/usr/lib/x86_64-linux-gnu/openmpi'
32 prereq_inc= '/usr/lib/x86_64-linux-gnu/openmpi/include'
35 if any(distribution in platform.linux_distribution()[0].lower() for distribution in ["centos", "fedora"]) :
36 prereq_dir='/usr/lib64/openmpi'
37 prereq_bin='/usr/lib64/openmpi/bin'
38 prereq_inc='/usr/include/openmpi-x86_64'
40 env.set('MPI_ROOT_DIR', prereq_dir)
41 env.set('OPENMPIDIR', prereq_dir)
42 env.set('MPI_ROOT', prereq_dir)
43 env.set('MPI_C_COMPILER', os.path.join(prereq_bin,'mpicc'))
44 env.set('MPI_CXX_COMPILER', os.path.join(prereq_bin,'mpicxx'))
45 env.set('MPI_C_FOUND', os.path.join(prereq_dir,'lib','libmpi.so'))
46 env.set('MPI_INCLUDE_DIR', prereq_inc)
47 env.prepend('PATH', prereq_bin)
48 env.prepend('LD_LIBRARY_PATH', os.path.join(prereq_dir,'lib'))