我最近接管了一些RPM工作,而我们的一个同事不在。在post安装步骤中,RPM在特定位置安装一些库,将文件写入/etc/ld.con.so.d/,其中包含这些文件的路径,然后运行"ldconfig“。但是,当调用时,很少有消息说:"libXYZ.so*不是一个符号链接“。
我查看了这些文件,并没有正确设置sym链接。例如,libA.so.1和libA.so.1.1是相同的文件,而不是libA.so.1->libA.so.1.1。每当在安装了RPM的系统上运行ldconfig时,就会显示这些消息。
现在,没有什么特别的原因,我尝试通过创建一个名为libmylib.so.1.1的共享库来复制它。然后,我创建了另一个名为libmylib.so.1的文件,它与前一个文件相同。我向/etc/ld.conf.so.d添加了一个test.conf文件,其中包含到这些共享库的路径,然后运行ldconfig。但我没有看到这些“非符号链接”的信息。相反,ldconfig设置了两个指向这两个文件的符号链接。该信息是否仅在特定情况下显示?
此外,在安装共享库时,是否需要设置以下链接:
链接器名称->所以命名为->实名
手动?然后运行ldconfig?
这是我第一次使用RPM和安装共享库,因此任何输入都将不胜感激。
谢谢
发布于 2015-09-20 01:21:03
通常的做法是创建符号链接,将库版本和奏鸣曲与生成/链接程序时使用的名称联系起来。以下是对此的几点评论:
ldconfig期望只有一个实际文件。以下是提出这个问题的几个地方:
通常情况下,这方面的问题是由于符号链接的不正确更新。但不正确的构建脚本也可能是问题所在。
https://stackoverflow.com/questions/32674335
复制相似问题