我正在使用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位)
我不明白为什么它在构建时链接到的共享库失败了。
答案 0 :(得分:1)
尝试安装libavro-1.5.4。 rpm正在查找所需库的逻辑名称(soname),这就是安装失败的原因。
答案 1 :(得分:1)
单独使用共享库是不够的:您还需要标题,并且.so
链接可以链接到它。
尝试找到-devel
包以及库包并安装它。将devel包添加为spec文件中的BuildRequires
。
哦,不要以root身份构建你的RPM - 你不这样做,是吗?