我解压了 .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
先安装。