diff options
Diffstat (limited to 'pkgs/development/libraries/science/math/mkl/default.nix')
-rw-r--r-- | pkgs/development/libraries/science/math/mkl/default.nix | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/pkgs/development/libraries/science/math/mkl/default.nix b/pkgs/development/libraries/science/math/mkl/default.nix index 3def5e5b403..2df39b330c4 100644 --- a/pkgs/development/libraries/science/math/mkl/default.nix +++ b/pkgs/development/libraries/science/math/mkl/default.nix @@ -20,6 +20,8 @@ let openmp = if stdenvNoCC.isDarwin then "19.0" else "19.1"; openmp-ver = "${openmp}.${spot}-${rel}-${openmp}.${spot}-${rel}"; + shlibExt = stdenvNoCC.hostPlatform.extensions.sharedLibrary; + in stdenvNoCC.mkDerivation { pname = "mkl"; inherit version; @@ -111,7 +113,19 @@ in stdenvNoCC.mkDerivation { cp -r opt/intel/compilers_and_libraries_${version}/linux/compiler/lib/intel64_lin/*.so* $out/lib/ cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/lib/intel64_lin/*.so* $out/lib/ cp -r opt/intel/compilers_and_libraries_${version}/linux/mkl/bin/pkgconfig/*dynamic*.pc $out/lib/pkgconfig - ''); + '') + '' + + # Setup symlinks for blas / lapack + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/libblas${shlibExt} + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/libcblas${shlibExt} + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/liblapack${shlibExt} + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/liblapacke${shlibExt} + '' + stdenvNoCC.lib.optionalString stdenvNoCC.hostPlatform.isLinux '' + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/libblas${shlibExt}".3" + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/libcblas${shlibExt}".3" + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/liblapack${shlibExt}".3" + ln -s $out/lib/libmkl_rt${shlibExt} $out/lib/liblapacke${shlibExt}".3" + ''; # fixDarwinDylibName fails for libmkl_cdft_core.dylib because the # larger updated load commands do not fit. Use install_name_tool |