summary refs log tree commit diff
path: root/pkgs/development/libraries/openmpi
diff options
context:
space:
mode:
authorMarkus Kowalewski <markus.kowalewski@fysik.su.se>2019-04-04 15:13:34 +0200
committerBjørn Forsman <bjorn.forsman@gmail.com>2019-09-15 18:35:22 +0200
commit3857d3d6f996b53e063dc15a0fc604a1b8582681 (patch)
treee7466052a0eba4bdd25525bcd220f46d5b89e226 /pkgs/development/libraries/openmpi
parent2e363860c6cdc82e6ccb36ee342a81fd4aa029bf (diff)
downloadnixpkgs-3857d3d6f996b53e063dc15a0fc604a1b8582681.tar
nixpkgs-3857d3d6f996b53e063dc15a0fc604a1b8582681.tar.gz
nixpkgs-3857d3d6f996b53e063dc15a0fc604a1b8582681.tar.bz2
nixpkgs-3857d3d6f996b53e063dc15a0fc604a1b8582681.tar.lz
nixpkgs-3857d3d6f996b53e063dc15a0fc604a1b8582681.tar.xz
nixpkgs-3857d3d6f996b53e063dc15a0fc604a1b8582681.tar.zst
nixpkgs-3857d3d6f996b53e063dc15a0fc604a1b8582681.zip
openmpi: use absolute paths compiler wrapper
The MPI compiler wrappers should point to the
compilers used at build time per default.
Diffstat (limited to 'pkgs/development/libraries/openmpi')
-rw-r--r--pkgs/development/libraries/openmpi/default.nix19
1 files changed, 18 insertions, 1 deletions
diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix
index 974e98ad209..4ab2dd41855 100644
--- a/pkgs/development/libraries/openmpi/default.nix
+++ b/pkgs/development/libraries/openmpi/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchpatch, gfortran, perl, libnl
-, rdma-core, zlib, numactl, libevent, hwloc
+, rdma-core, zlib, numactl, libevent, hwloc, pkgsTargetTarget
 
 # Enable the Sun Grid Engine bindings
 , enableSGE ? false
@@ -58,6 +58,23 @@ in stdenv.mkDerivation rec {
     rm -f $out/lib/*.la
    '';
 
+  postFixup = ''
+    # default compilers should be indentical to the
+    # compilers at build time
+
+    sed -i 's:compiler=.*:compiler=${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc:' \
+      $out/share/openmpi/mpicc-wrapper-data.txt
+
+    sed -i 's:compiler=.*:compiler=${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}cc:' \
+       $out/share/openmpi/ortecc-wrapper-data.txt
+
+    sed -i 's:compiler=.*:compiler=${pkgsTargetTarget.stdenv.cc}/bin/${pkgsTargetTarget.stdenv.cc.targetPrefix}c++:' \
+       $out/share/openmpi/mpic++-wrapper-data.txt
+
+    sed -i 's:compiler=.*:compiler=${pkgsTargetTarget.gfortran}/bin/${pkgsTargetTarget.gfortran.targetPrefix}gfortran:'  \
+       $out/share/openmpi/mpifort-wrapper-data.txt
+  '';
+
   doCheck = true;
 
   meta = with stdenv.lib; {