Fedora
ld 連結器忽略 LD_LIBRARY_PATH
我在連結英特爾 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
)。