我在 Intel 硬件上运行的 Solaris 11.3 上安装了更新的 OpenSSL。 OpenSSL 需要调整其路径,因为齿轮安装在/usr/local
.
根据更改 ELF 运行路径在 Oracle 博客上,我应该能够:
root@solaris:/usr/local/lib# rpath /usr/local/lib:rpath libcrypto.so.1.0.0
-bash: rpath: command not found
我似乎无法找到它或安装它:
# find / -name rpath
# pkg install rpath
pkg install: The following pattern(s) did not match any allowable packages. Try
using a different matching pattern, or refreshing publisher information:
rpath
rpath 实用程序在哪里,或者如何安装它?
答案1
该博客说这是一个可以下载和编译的程序:
最终,Solaris 将附带一个用于修改运行路径的标准实用程序。不过,无需等待。我写了一个非官方的测试程序,我称之为“rpath”,你可以下载并构建。要构建 rpath,您需要比 build 61 更新的 Solaris Nevada 版本,或者最新版本的 OpenSolaris。
该博客条目的日期为 2007 年 6 月 12 日。@AlanC 评论说官方工具稍后公布(2007 年 11 月 2 日)在同一个博客上。在该条目中,该工具被命名为elfedit
。
您可能没有注意到这一点,因为博客条目没有提到路径(措辞是“改变运行路径”,同样手册页不使用该术语)。这两个名字在不同的博客中相关Land of Erik:更改二进制文件的 RPATH从 2009 年 6 月开始。
既然您已经在 CentOS 主题中发帖,您可能会想到chrpath
或patchelf
它将在 Linux 系统上运行。后者早于 Solaris 博客(请参阅github 存储库)。
进一步阅读:
- 共享库搜索路径(Russ Albery 的评论
patchelf
比 更新chrpath
) - RPATH $ORIGIN LD_LIBRARY_PATH 和可移植 Linux 二进制文件的描述提及
chrpath
,指向http://ftp.tux.org/pub/X-Windows/ftp.hungry.com/chrpath/