Fedora

ld 連結器忽略 LD_LIBRARY_PATH

  • December 9, 2019

我在連結英特爾 MKL 庫以用於建構具有 MKL 支持的 Julia 時遇到問題。我在其他項目中也遇到過這個問題,但在這裡我將專注於 Julia。我已將 MKL 安裝在/opt/intel. 我試過了:

  • 跑步/opt/intel/bin/compilervars.sh intel64
  • 跑步/opt/intel/mkl/bin/mklvars.sh intel64
  • 將庫 (libmkl_rt.so) 添加到 LD_LIBRARY_PATH:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/intel/mkl/lib/intel64_lin
  • /etc/ld.so.conf.d在內容中添加一個名為“mkl.conf”的文件/opt/intel/compilers_and_libraries_2019/linux/mkl/lib/intel64_lin

在最後兩個之後我跑了sudo ldconfig,但沒有任何變化。如何讓 Make 辨識這個庫?

LD_LIBRARY_PATH和文件/etc/ld.so.conf.d配置執行時連結器,而不是建構期間使用的連結器。

要使用 MKL 建構 Julia,您應該

  • 添加
USE_INTEL_MKL = 1

Make.user

source /opt/intel/bin/compilervars.sh intel64
  • 並從同一個 shell 建構 Julia(以便考慮設置的變數compilervars)。

引用自:https://unix.stackexchange.com/questions/556421