2012-01-10 232 views
-1

我使用CentOS的5 我已经创建了一个模块一个rpm spec文件。它具有编译时间依赖共享库libavro的准确性。 为此,我下载了,建造和安装libavro-1.5.1.so.21。它默认安装在/ usr/local/lib。我还编辑了ld.so.conf以包含/ usr/local/lib。 我执行ldconfig重新生成ld缓存。 完成上述步骤后,我为我的模块生成了rpm。 当我尝试在同一台机器上安装rpm时,我得到了失败的相关性错误: - mymodule-1.1-1.x86需要libavro-1.5.4.so.22()(64位)创建和安装RPM软件包

我不明白为什么要在一个共享失败的lib它链接到同时建设。

回答

1

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

1

有单独的共享库是不够的:你需要的标题以及和.so链接,以便能够针对其链接。

试图找到一个-devel包库包一起安装它。在你的spec文件中添加devel包作为BuildRequires

哦,不建立自己的RPMs根 - 你不这样做,你呢?