ld リンカは LD_LIBRARY_PATH を無視します。

ld リンカは LD_LIBRARY_PATH を無視します。

MKLサポートを介してJuliaを構築するために使用するIntel MKLライブラリをリンクするのに問題があります。他のプロジェクトでこの問題が発生しましたが、ここではJuliaに焦点を当てます。にMKLをインストールしました/opt/intel

  • 走る/opt/intel/bin/compilervars.sh intel64
  • 走る/opt/intel/mkl/bin/mklvars.sh intel64
  • LD_LIBRARY_PATHにライブラリ(libmkl_rt.so)を追加します。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

最後の2回実行した後sudo ldconfigは何も変わりませんでした。 Makeにこのライブラリを認識させるにはどうすればよいですか?

答え1

LD_LIBRARY_PATHファイルは、/etc/ld.so.conf.dビルド中に使用されるリンカーの代わりにランタイムリンカーを構成します。

MKLを使用してJuliaをビルドするには、あなたはする必要があります

  • 次へ追加

    USE_INTEL_MKL = 1
    

    到着Make.user

  • 走る

    source /opt/intel/bin/compilervars.sh intel64
    
  • compilervarsそして同じシェルからJuliaをビルドします(変数セットが考慮されるように)。

関連情報