CentOS v7의 소스에서 NTP를 설치하는 방법은 무엇입니까? (/bin/ld: -lcap을 찾을 수 없음)

CentOS v7의 소스에서 NTP를 설치하는 방법은 무엇입니까? (/bin/ld: -lcap을 찾을 수 없음)

.tar.gz 파일의 압축을 풀었습니다. gcc 컴파일러를 설치했습니다. 다양한 플래그와 옵션을 사용하여 ./configure 명령을 실행합니다. 실행 make check해 보았는데 오류가 발견되었습니다. 종료 상태는 2입니다. 0만 있으면 오류가 없음을 의미합니다. 출력에서 다음을 볼 수 있습니다.

/bin/ld: 찾을 수 없음 -lcapcollect2: 오류: ld가 1 종료 상태를 반환했습니다. make[6]: *** [test-crypto] 오류 1

ld 유틸리티가 설치되었습니다. "-lcap"이 무엇인지 모르겠습니다. lcap 패키지가 있는 것으로 보이는 웹사이트를 찾았습니다. 그러나 Centos 버전 7의 링크가 깨졌습니다. lcap을 다운로드할 수 있는 위치를 게시하는 경우(제 CentOS 7 서버에는 설치되어 있지 않음) 링크가 깨지지 않았는지 확인하세요.

make install 명령을 사용하여 NTP를 설치할 수 있도록 이 오류를 어떻게 수정합니까?

답변1

"-lcap"이 무엇인지 모르겠습니다.

GCC C 컴파일러의 플래그 -l는 링크하라고 지시합니다.도서관, 이 경우에는 cap라이브러리 이름의 축약된 버전인 이라고 합니다.

libcap.so.2.22CentOS 7의 전체 이름은 입니다 libcap.so.2. 이러한 세부 정보를 추적하는 것은 귀하의 문제가 아닙니다. 링커에게 맡겨주세요.

libcap.so여기서 중요한 점은 GCC 링커가 찾고 있는 버전 번호 없이 설치된 개발 패키지가 누락되었다는 것입니다 . 또한 필요할 수 있는 추가 파일을 설치합니다. 그래서:

$ sudo yum install libcap-devel

이는 일반적인 패턴입니다. 빌드 프로그램을 사용하려면 일반적 으로 먼저 설치 libfoo해야 합니다 .libfoo-devel

관련 정보