.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.22
CentOS 7의 전체 이름은 입니다 libcap.so.2
. 이러한 세부 정보를 추적하는 것은 귀하의 문제가 아닙니다. 링커에게 맡겨주세요.
libcap.so
여기서 중요한 점은 GCC 링커가 찾고 있는 버전 번호 없이 설치된 개발 패키지가 누락되었다는 것입니다 . 또한 필요할 수 있는 추가 파일을 설치합니다. 그래서:
$ sudo yum install libcap-devel
이는 일반적인 패턴입니다. 빌드 프로그램을 사용하려면 일반적 으로 먼저 설치 libfoo
해야 합니다 .libfoo-devel