-1

我正在使用 CentOS 5。我为一个模块创建了一个 rpm 规范文件。它在编译时依赖于共享库,准确地说是 libavro。为此,我下载、构建并安装了 libavro-1.5.1.so.21。它默认安装在 /usr/local/lib 中。我还编辑了 ld.so.conf 以包含 /usr/local/lib。我执行了 ldconfig 来重新生成 ld 缓存。完成上述步骤后,我为我的模块生成了 rpm。当我尝试在构建它的同一台机器上安装 rpm 时,出现依赖失败错误:- libavro-1.5.4.so.22()(64bit) is required by mymodule-1.1-1.x86

我不明白为什么它会在构建时链接到的共享库上失败。

4

2 回答 2

1

尝试安装 libavro-1.5.4。rpm 正在寻找所需库的逻辑名称(soname),这就是安装失败的原因。

于 2012-01-11T16:40:53.290 回答
1

仅拥有共享库是不够的:您还需要标头,以及.so能够链接到它的链接。

尝试与-devel库包一起找到一个包并安装它。BuildRequires在您的规范文件中添加开发包。

哦,不要以 root 身份构建您的 RPM——您不会那样做,是吗?

于 2012-01-12T10:58:36.670 回答