suse yast 没有提供 .so 所需的内容,从源代码构建

suse yast 没有提供 .so 所需的内容,从源代码构建

我有一些以 x8-64.rpm 形式提供的软件。那个特别给我带来问题的人我们称之为MYSoftwareRPM.x86_64

使用 Yast-Software Manager 它告诉我nothing provides libreadline.so.6()(64bit) needed by MySoftwareRPM.x86_64

我正在运行 SLES 11.4 x86-64 并且有 libreadline5。如果我访问 SLES_12.2.iso 存储库,我可以看到 readline-6.3,如果我选择,我会遇到 100 多个依赖关系问题,基本上是卸载 SLES 版本 11.4,并且给我的印象是,如果我想要 readline6,我需要运行 SLES 12.2。

我能够readline-6.3.tar.gz通过下载并成功构建它 configure --prefix=/usr/local/readline-6.3; make all; make install

不管正确与否,我都是手动做的

ln -s /usr/local/readline-6.3/lib/libreadline.so.6 /lib64/libreadline.so.6
ln -s /usr/local/readline-6.3/lib/libreadline.so.6 /lib/libreadline.so.6
ln -s /usr/local/readline-6.3/lib/libreadline.so.6 /usr/lib64/libreadline.so.6
ln -s /usr/local/readline-6.3/lib/libreadline.so.6 /usr/lib/libreadline.so.6

我的问题是

  1. 在这种情况下,安装`MySoftwareRPM.x86_64的最佳方法是什么?
  2. 有没有办法让 Yast 软件管理器满意并且不报告任何依赖性问题?
  3. 如果我忽略 Yast Software Manager 的依赖性问题或通过手动安装rpm -ivh MySoftwareRPM.x64_64并强制它,那么如果 libreadline.so.6 可用,MySoftwareRPM.x86_64 在执行时会工作吗?
  4. 如果做#3 那么就足够了LD_LIBRARY_PATH=${LIBRARY_PATH}:/usr/local/readline-6.3/lib

答案1

你最好以 root 身份使用 rpm:

rpm -i --nodeps --nosignature MySoftwareRPM.x86_64.rpm

至于readline6,更好地运行

configure && make install && ldconfig

然后它就会进来/usr/local并且系统会找到它。无需更改ld.so.conf

相关内容