CentOS 8 - /usr/bin/ld: -lnsl が見つかりません

CentOS 8 - /usr/bin/ld: -lnsl が見つかりません

私は古いCentOS 6サーバーを置き換えるために新しいCentOS 8サーバーを開発しています。ほとんどの場合、すべてがうまく機能し、プライマリユーザーがサーバーを使用しているすべてをテストできるようにします。多くの間違いが来て行きましたが、今回はあまり深刻でした。

ユーザーはgccコマンドを実行しています。

gcc process-hdf.c -o process-hdf.exe -I/usr/include/hdf -L/usr/lib64 -lmfhdf -ldf -ljpeg -lz -lnsl -lm

結局失敗

/usr/bin/ld: cannot find -lnsl

これまで私は次のことをしました。

  • Ranld -l nslなどのエラーが発生しましたgcc
  • libnslにインストールされていることが確認されました/usr/lib64
  • 両方のパッケージが確認libnslおよびlibnsl2インストールされました。
  • ldconfigキャッシュを確認した結果、2つのバージョンがリストされています。libnsl
  • このlibnslパッケージを削除しましたが、他のパッケージにはlibnsl2削除後の変更はありません。

どんな情報でも大変感謝いたします。

ベストアンサー1

libnsl2-develパッケージをインストールしましたか? – Vojtech Trefny 1月4日、20:50

それはすべてです。質問を投稿する前に、-develを見つけるために別のlibnsl2パッケージを検索しましたが、結果には表示されず、存在しないと仮定しました。

powertoolsリポジトリが無効になっているようです。リポジトリファイルを確認してみると、ファイル名が変更されたため、ローカルリポジトリを指して編集した内容がすべて削除されました。変更したファイルの名前が.rpmsaveファイルに変更されました。

ストレージの問題を解決した後、libnsl2-develをインストールできました。これで、クイックチェックでld -l nsl予想される出力が表示され、コンパイルコマンドが機能します。

おすすめ記事