個々のアプリケーションにLD_LIBRARY_PATHを設定できますか? 私はシステムコールの失敗を調べているので、LD_LIBRARY_PATH設定を使用して正しいパスを設定する方法はありますか?LD_LIBRARY_PATH
答えて
最も簡単な方法は、シェルスクリプトを作成することです。
は、シェルスクリプトは、アプリケーション起動後、新しいLD_LIBRARY_PATH変数をエクスポート持っ例えばbashで動作します
LD_LIBRARY_PATH=new_path:$LD_LIBRARY_PATH foo
:のような単純な
#!/bin/sh
LD_LIBRARY_PATH=some_path:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
foo
(ここで、fooがあなたのアプリです)。私はだと思います。それはすべてのbourne shell派生商品で動作しますが、保証はできません。
もちろん、この方法では、の時間を時間ごとに入力する必要があります。繰り返し行うには、Glen's approachを使用することをお勧めします。
注意事項:プログラム内にLD_LIBRARY_PATH
を設定して現在のプログラムに影響を与えることはできません。これは、ダイナミックローダー(ld.so.1
または類似の名前)が既にロードされていて、コードの実行前に環境変数を読み込んで処理したためです。現在のプロセスの環境で設定することができます。その値は子プロセスに影響し、exec()
ファミリーの関数の1つを使用して、環境設定されたプログラムを実行することができます。極端な場合、現在のプログラムを再実行できますが、それは極端なです!
プログラム内でLD_LIBRARY_PATHが設定された後に 'dlopen'が有効になるのだろうか? – PnotNP
ソースを見つけて、呼び出されるたびに' dlopen() 'が環境変数を読み込むかどうかを調べることができます。私の印象はそうではありませんが、実験をしてからの長い時間ですが、過去10年間で変化している可能性があります。 –
- 1. ZeroMQ JavaバインディングLD_LIBRARY_PATH
- 2. SnapcraftカスタムLD_LIBRARY_PATH
- 3. LD_LIBRARY_PATHの副作用
- 4. $ LD_LIBRARY_PATHを持つEclipse
- 5. 更新LD_LIBRARY_PATHシステムワイドPHP7.0-FPM
- 6. 表示環境変数LD_LIBRARY_PATH
- 7. は</p> <pre><code>$LD_LIBRARY_PATH </code></pre> <p>戻り、新たに$ LD_LIBRARY_PATHをエクスポートせずに$ LD_LIBRARY_PATH
- 8. MakefileからLD_LIBRARY_PATHを設定する
- 9. テンソルフローの画像のLD_LIBRARY_PATHによるトラブル
- 10. LD_PRELOADはLD_LIBRARY_PATHを変更します
- 11. LD_LIBRARY_PATHからエントリを削除する
- 12. Cloud Dataproc PysparkでLD_LIBRARY_PATHを使用
- 13. LD_LIBRARY_PATHが機能しません
- 14. 複数インスタンスのMATLABとLD_LIBRARY_PATHの値
- 15. ClangリンカはLD_LIBRARY_PATHを調べません
- 16. 実行時にctypesのLD_LIBRARY_PATHを変更する
- 17. メイクファイルを使ってスタックサイズとLD_LIBRARY_PATHを変更する
- 18. QMakeで 'make check'のPATH/LD_LIBRARY_PATHを設定する
- 19. BEGINブロックでのLD_LIBRARY_PATHの初期化が失敗します
- 20. LD_LIBRARY_PATHを使用するとセグメント化エラーが発生する
- 21. LD_LIBRARY_PATHはGCCによって無視されます
- 22. ソフトウェアパッケージのLD_LIBRARY_PATHまたはldconfigの適切な使用
- 23. WindowsでLD_LIBRARY_PATHをシミュレートする方法はありますか?
- 24. SolarisではLD_LIBRARY_PATHをどこに設定しますか?
- 25. のPython 2.7は$ LD_LIBRARY_PATHでの.so LIBS(openSUSEの12.1 x64)の
- 26. LDは* unix上のLD_LIBRARY_PATH変数を表しますか?
- 27. LD_LIBRARY_PATHと共有ライブラリがない(Mujocoの場合)
- 28. 内部からLD_LIBRARY_PATHを設定するR
- 29. は、OCIEnvNlsCreate()が失敗しました - ORACLE_HOMEおよび> LD_LIBRARY_PATH
- 30. qmake .proファイルが正しく解析されず、LD_LIBRARY_PATHが生成されない
この方法は、Bourneシェル、Kornシェル、およびPOSIXシェルで機能します。 –