4

私はldc2とgdcをソースからコンパイルし、1か月前まで動作させていました。ldc2とgdcを機能させるためにターミナルに設定した変数を思い出せないことを除いて、何も変わっていません。

Dソースコードをコンパイルしようとすると、次のエラーが発生します。

gdc:

$ / home / Code / D / gdc / Bin / usr / local / bin / gdc -o t4 t4.d / home / Code / D / gdc / Bin / usr / local / bin /../ libexec / gcc / x86_64 -unknown-linux-gnu / 4.4.5 / cc1d:共有ライブラリのロード中にエラーが発生しました:libmpfr.so.1:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません

ldc2:

$ / home / Code / D / ldc2 / bin / ldc2 -o t4 t4.d /home/Code/D/ldc2/bin/ldc2:共有ライブラリのロード中にエラーが発生しました:libconfig ++。so.8:共有オブジェクトファイルを開くことができません:そのようなファイル、又はディレクトリはありません

PATHに追加しただけなのか、DFLAGSに追加しただけなのか思い出せません。何か案は?


編集:LDC2とGDCの両方を再コンパイルすると問題は解決しましたが、エラーが発生した理由はまだわかりません。

4

2 に答える 2

1

LDC のエラーは、コンパイル後に libconfig++ を (再) 移動したことを意味します。PATHDFLAGSは無関係ですが、ダンが回答で指摘したようLD_LIBRARY_PATHに、検索パスに場所を追加するために使用できます。

何らかの理由で自己完結型のインストールが必要な場合は、RPATH をbinディレクトリに設定し、そこに libconfig++ をコピーできます。これは、バイナリ パッケージをビルドするときに行われます: https://github.com/ldc-developers/ldc -scripts/blob/master/ldc2-packaging/2-build-ldc.sh#L18 .

GDC エラーについても同じ話です。これは、アップグレード中に削除されたか、互換性のないバージョンに置き換えられた GNU MPFR ライブラリに依存します。

于 2013-08-21T07:40:47.363 に答える
0

このエラーは、.soファイルが にない場合に発生する可能性がある$LD_LIBRARY_PATHと思います。

于 2011-06-20T23:25:47.800 に答える