同じシステム上の異なる場所に異なるバージョンの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
- ちょうどバイナリをディレクトリに移動しました。