From c60144d4c0f80f2a316f159fa1bc7e8b5bfd272c Mon Sep 17 00:00:00 2001 From: Matthew Bauer Date: Tue, 26 May 2020 16:30:04 -0500 Subject: [PATCH] openmpi: use pkgsHostTarget for gfortran MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is very confusing. “stdenv” is created from the parent stage so pkgsTargetTarget.stdenv.cc is a compiler that runs /on/ host platform and creates binaries for target platform. gfortran on the other hand is not special cased like stdenv, so the equivalent to pkgsTargetTarget.stdenv.cc is pkgsHostTarget.gfortran. I’ve rewritten this to be a little less confusing, “pkgsHostTarget” is equivalent to “pkgs” so it is unneeded. All that is left is “pkgsTargetTarget.stdenv” which is equivalent to “targetPackages.stdenv”. Fixes #88951 /cc @markuskowa @ericson2314 --- pkgs/development/libraries/openmpi/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/openmpi/default.nix b/pkgs/development/libraries/openmpi/default.nix index 627ac68d68d..38041e6b5d8 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, pkgsTargetTarget, symlinkJoin +, rdma-core, zlib, numactl, libevent, hwloc, targetPackages, symlinkJoin , libpsm2, libfabric # Enable CUDA support @@ -75,16 +75,16 @@ in stdenv.mkDerivation rec { # 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:' \ + sed -i 's:compiler=.*:compiler=${targetPackages.stdenv.cc}/bin/${targetPackages.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:' \ + sed -i 's:compiler=.*:compiler=${targetPackages.stdenv.cc}/bin/${targetPackages.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++:' \ + sed -i 's:compiler=.*:compiler=${targetPackages.stdenv.cc}/bin/${targetPackages.stdenv.cc.targetPrefix}c++:' \ $out/share/openmpi/mpic++-wrapper-data.txt - sed -i 's:compiler=.*:compiler=${pkgsTargetTarget.gfortran}/bin/${pkgsTargetTarget.gfortran.targetPrefix}gfortran:' \ + sed -i 's:compiler=.*:compiler=${gfortran}/bin/${gfortran.targetPrefix}gfortran:' \ $out/share/openmpi/mpifort-wrapper-data.txt '';