ライブラリの場所の変更

ライブラリの場所の変更

同じシステム上の異なる場所に異なるバージョンのLibnetライブラリがインストールされています。

whereis libnet
libnet: /usr/lib/libnet.la /usr/lib/libnet.a /usr/lib/libnet.so /usr/local/lib/libnet.la /usr/local/lib/libnet.a /usr/local/lib/libnet.so /usr/include/libnet.h /usr/include/libnet /usr/man/man3/libnet.3

これらのlibnetライブラリに依存するプログラムをコンパイルする際にいくつかの問題があるので、 "usr / local / ..."エントリを削除したいと思います。何をすべきか教えてもらえますか?たとえば、コマンドラインでwhereis libnetを使用するときに「/usr/local/...」参照を表示したくないですか? !

ありがとうございます!

答え1

/usr/local/これらのlibnetライブラリに依存するプログラムをコンパイルするのにいくつかの問題があり、-onesを削除したいと思います。

通常、見つかった場所を削除する必要はありません/usr/local。環境変数を使用すると、ライブラリが最初に検索されるライブラリパスを指定whereisできます。LD_LIBRARY_PATH

/usr/libあなたの場合は、makeプロセスの環境に変数を追加して追加する必要があります。LD_LIBRARY_PATHこれは通常、次のように行われます。

$ export LD_LIBRARY_PATH=/usr/lib

makeプロセスを開始する前または関連コマンドの前にパラメータ割り当てを追加します。一般的には

$ LD_LIBRARY_PATH=/usr/lib ./configure

本当に下のライブラリを削除したい場合は、/usr/localまず質問を明確にする必要があります。

ライブラリをどのようにインストールしましたか?(/usr/local下にあるのでインストールした可能性が高い):

  • パッケージマネージャと共に
  • の助けを借りてmake install
  • ちょうどバイナリをディレクトリに移動しました。

関連情報