Intel MPI: release_mt -> release

Fixes issue #28
This commit is contained in:
Rodrigo Arias Mallo 2020-09-28 12:21:41 +02:00
parent c1b64e8897
commit 724b8f232a

View File

@ -9,16 +9,30 @@
, patchelf , patchelf
, autoPatchelfHook , autoPatchelfHook
, enableDebug ? false , enableDebug ? false
# The _mt version seems to cause seg-faults and deadlocks with the libpsm2
# provider library with programs that call the MPI library without any locking
# mechanism. See https://pm.bsc.es/gitlab/rarias/bscpkgs/-/issues/28. By
# default, we use the non-mt variant, which provides a big lock. If you want to
# use it, take a look at the I_MPI_THREAD_SPLIT env-var as well.
, enableMt ? false
}: }:
let
lib_variant = (if enableDebug then "debug" else "release");
# See https://software.intel.com/content/www/us/en/develop/documentation/mpi-developer-reference-linux/top/environment-variable-reference/other-environment-variables.html
lib_mt = (if enableMt then "_mt" else "");
lib_name = "${lib_variant}${lib_mt}";
in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "intel-mpi-${version}"; name = "intel-mpi-${version}";
version = "2019.8.254"; version = "2019.8.254";
dir_nr = "16814"; dir_nr = "16814";
internal-ver = "2020.2.254"; internal-ver = "2020.2.254";
lib_variant = (if enableDebug then "debug" else "release");
src = builtins.fetchTarball { src = builtins.fetchTarball {
url = "http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/${dir_nr}/l_mpi_${version}.tgz"; url = "http://registrationcenter-download.intel.com/akdlm/irc_nas/tec/${dir_nr}/l_mpi_${version}.tgz";
sha256 = "1za4zyvxm5bfkrca843na6sxq2gq7qb87s0zysa7dnyqjwa11n45"; sha256 = "1za4zyvxm5bfkrca843na6sxq2gq7qb87s0zysa7dnyqjwa11n45";
@ -66,7 +80,7 @@ stdenv.mkDerivation rec {
mv include $out mv include $out
mkdir $out/lib mkdir $out/lib
cp -a lib/lib* $out/lib cp -a lib/lib* $out/lib
cp -a lib/${lib_variant}_mt/lib* $out/lib cp -a lib/${lib_name}/lib* $out/lib
cp -a libfabric/lib/* $out/lib cp -a libfabric/lib/* $out/lib
cp -a libfabric/lib/prov/* $out/lib cp -a libfabric/lib/prov/* $out/lib
cp -a libfabric/bin/* $out/bin cp -a libfabric/bin/* $out/bin