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

지금까지 나는 다음을 수행했습니다.

  • Ran ld -l nsl과 같은 오류가 발생했습니다 gcc.
  • libnsl에 설치되었는지 확인되었습니다 /usr/lib64.
  • 두 패키지 모두 확인 libnsllibnsl2설치되었습니다.
  • ldconfig캐시를 확인한 결과 두 가지 버전이 나열되어 있습니다.libnsl
  • libnsl패키지를 제거했으며 다른 패키지는 libnsl2제거 후 변경 사항이 없습니다.

어떤 정보라도 대단히 감사하겠습니다.

답변1

libnsl2-devel 패키지를 설치하셨나요? – Vojtech Trefny 1월 4일, 20:50

그게 다야. 질문을 게시하기 전에 -devel을 찾기 위해 다른 libnsl2 패키지를 검색했지만 결과에 나타나지 않아 존재하지 않는 것으로 가정했습니다.

powertools 저장소가 비활성화된 것으로 나타났습니다. 저장소 파일을 확인해보니 파일 이름이 변경되었기 때문에 로컬 저장소를 가리키며 편집한 내용이 모두 삭제되었습니다. 수정한 파일의 이름이 .rpmsave 파일로 변경되었습니다.

저장소 문제를 해결한 후 libnsl2-devel을 설치할 수 있었습니다. 이제 빠른 확인을 통해 ld -l nsl예상되는 출력이 표시되고 이제 컴파일 명령이 작동합니다.

관련 정보