私は古い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
これまで私は次のことをしました。
- Ran
ld -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
予想される出力が表示され、コンパイルコマンドが機能します。