web-dev-qa-db-ja.com

/etc/profile.dでLD_LIBRARY_PATHを設定できません

Ubuntu Mate 16.04にnVidia CUDA 7.5をインストールしました。しかし、環境変数の設定に問題があります。

nvidia-settings.shフォルダにある/etc/profile.dファイルは次のとおりです。

export PATH=/usr/local/cuda-7.5/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:/usr/lib/nvidia-361:$LD_LIBRARY_PATH
export LIBRARY_PATH=/usr/lib/nvidia-361:/usr/local/cuda-7.5/lib64:$LIBRARY_PATH

ただし、再起動後、LD_LIBRARY_PATH環境は自動的に使用可能になりませんでした。問題を示すターミナル出力はここにあります:

ponir@mate:~$ echo $LD_LIBRARY_PATH

ponir@mate:~$ echo $LIBRARY_PATH
/usr/lib/nvidia-361:/usr/local/cuda-7.5/lib64:
ponir@mate:~$ export LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:/usr/lib/nvidia-361:$LD_LIBRARY_PATH
ponir@mate:~$ echo $LD_LIBRARY_PATH
/usr/local/cuda-7.5/lib64:/usr/lib/nvidia-361:
ponir@mate:~$ 

しかし、ターミナルでexport LD_LIBRARY_PATH=/usr/local/cuda-7.5/lib64:/usr/lib/nvidia-361:$LD_LIBRARY_PATHを実行すると、その変数を取得できました。

何が問題なのでしょうか?ありがとう。

2
ponir

buntu wikiヘルプページ から

注:この環境変数は、対話型シェル内でのみ設定できます。 [すなわち端末] Ubuntu 9.04 Jaunty Jackalope以降、LD_LIBRARY_PATHは$ HOME/.profile、/ etc/profile、/ etc/environmentファイルで設定できません。 /etc/ld.so.conf.d/*.conf構成ファイルを使用する必要があります。詳細については、Launchpadバグ#366728を参照してください。

修正方法:

cd /etc/ld.so.conf.d

ここに.conf拡張子を持つファイルを作成します

Sudo nano cuda.conf

パスを2行として追加します

/usr/local/cuda-7.5/lib64
/usr/lib/nvidia-361

保存して終了。 ls -lを使用して、ファイルの所有権とアクセス許可がディレクトリ内の他のユーザーと同じであることを確認します。

-rw-r--r-- 1 root root

次に実行する

ldconfig

これはenv変数を設定しませんが、CUDAが機能するように適切にライブラリを含みます

5
Zanna

まず、apt-getを使用してcudaをインストールする必要があります。

そうは言っても、ソースコードからこのようなものをコンパイルするときは、しばしば次のコマンドを実行する必要があります:

 Sudo ldconfig

コンパイルされたバージョンをインストールする何らかの理由がなく、apt-getから利用可能なバージョンがニーズに十分であれば、代わりにコンパイルされたバージョンをアンインストールし、apt-getからバージョンをインストールすることをお勧めします。

詳細については、次のコマンドを実行します。

Sudo apt-get update 
apt-cache search cuda | grep -i cuda
0
J.T.