D コンパイラを使用すると共有オブジェクトファイルを開くことができません

D コンパイラを使用すると共有オブジェクトファイルを開くことができません

私は持っていますLDC2そしてグローバル開発センターソースでコンパイルされ、1ヶ月前まで作業していました。 ldc2とgdcが動作するように端末に設定した変数を覚えていないことを除いて、何も変わりませんでした。

$ /home/Code/D/gdc/Bin/usr/local/bin/gdc -o t4 t4.dgdc( ) を使用して D ソースコードをコンパイルしようとすると、次のエラーが発生します。
/home/Code/D/gdc/Bin/usr/local/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.4.5/cc1d: error while loading shared libraries: libmpfr.so.1: cannot open shared object file: No such file or directory

ldc2( /home/Code/D/ldc2/bin/ldc2 -o t4 t4.d) の場合:
/home/Code/D/ldc2/bin/ldc2: error while loading shared libraries: libconfig++.so.8: cannot open shared object file: No such file or directory

PATH に対する補完なのか DFLAGS の補完なのかは覚えていません。どんなアイデアがありますか?

ベストアンサー1

ここでは必要なライブラリが見つからないため、コンパイラの実行可能ファイルを実行することもできません。gdc探してlibmpfr.so.1検索ldc2しますlibconfig++.so.8

ライブラリがまだシステム(たとえば)に存在する場合は、/home/Code/D/gdc/Bin/usr/local/libそのディレクトリを環境変数に追加できますLD_LIBRARY_PATH(ほとんどの unice では変数と呼ばれますDYLD_LIBRARY_PATH)。

LD_LIBRARY_PATH=/home/Code/D/gdc/Bin/usr/local/lib gdc …

gdc合計を実行するラッパースクリプトを作成するldc2か、次の項目に入れることができます~/.profile

export LD_LIBRARY_PATH=/home/Code/D/gdc/Bin/usr/local/lib

システムのアップグレード中にこれらのライブラリが表示されなくなったら、必要/usr/libなバージョンを復元するか、ライブラリの新しいバージョンに合わせてDツールを再コンパイルする必要があります。

おすすめ記事