rpath相关内容

在 CentOS 中安装 python 2.6

我有一个运行 CentOS 的 shell. 对于我正在做的一个项目,我需要 python 2.5+,但 centOS 非常依赖 2.4. 根据我的阅读,如果升级到 2.5,很多事情都会中断. 我想将 2.5 与 2.4 分开安装,但我不知道该怎么做.到目前为止,我已经下载了源 tarball,解压缩它,并做了一个 ./configure --prefix=/opt 这是我希望它 ..
发布时间:2022-01-13 21:12:29 Python

如何使用 $ORIGIN 获取 RPATH 以在 Code::Blocks GCC 上工作?

我正在尝试将包含特殊字符串 $ORIGIN 的 RPATH 链接到使用 GCC 和 Code::Blocks IDE 构建的可执行文件中.我已经指定了 -Wl,-R$ORIGIN 在项目的链接器选项中,但到 GCC 的命令行输出是错误的(为了清楚起见,已删除): g++ -Wl,-R 为 Code::Blocks 指定此参数的正确方法是什么? 解决方案 决定制作令牌 $ORIGIN ..
发布时间:2022-01-11 15:50:21 其他开发

构建一个使用 ld 选项 -rpath 和 $ORIGIN 的简单(hello-world-esque)示例

注意:下面是完整的工作示例.原始问题如下: 我在使用带有 $ORIGIN 的 ld 的 -rpath 参数时遇到问题. 由于找不到完整的示例,我想我会尝试自己写一个,以便我和其他人以后可以使用它.一旦我得到它的工作,我会整理它. 我之前问过这个问题,但是我觉得我的帖子有点混乱. 示例项目构建了一个共享库和一个链接到该库的可执行文件. 它非常小(3 个文件,22 行,包括构建脚 ..
发布时间:2022-01-11 15:31:52 服务器开发

rpath=$ORIGIN 没有想要的效果?

我有一个二进制“CeeloPartyServer";需要在运行时在 FreeBSD 机器上找到 libFoundation.so.它们都在同一个目录中.我使用链接器标志 -rpath=$ORIGIN 编译(在另一个平台上,使用交叉编译器)CeeloPartyServer. >readelf -d CeeloPartyServer |grep -i rpath0x0000000f (RPATH) ..
发布时间:2022-01-11 15:28:25 其他开发

rpath 的正确使用(相对与绝对)

在构建二进制文件或库时,指定rpath,即 -Wl,rpath, 告诉链接器在二进制文件运行时在哪里找到所需的库. 关于绝对路径和相对路径的 UNIX 哲学是什么?使用绝对路径是否更好,以便可以从任何地方找到 lib?还是将其设为相对更好,这样复制整个目录或重命名更高级别的路径不会导致二进制文件无法使用? 更新 使用 $ORIGIN 通常是构建二进制 ..
发布时间:2022-01-11 15:17:03 其他开发

ld:在共享库中使用 -rpath,$ORIGIN(递归)

我刚刚做了一个基本示例,将 ld 的 -rpath 选项与 $ORIGIN here(有关工作版本,请参阅第二个响应).我正在尝试创建一个示例,其中 main.run 链接到 foo.so,而 foo.so 又链接到 bar.so,全部使用rpath 和 $ORIGIN. 运行时文件结构为: 项目/ 库/ 目录/ 子/ bar.so foo.so 运行/ ma​​ ..
发布时间:2022-01-11 15:16:12 服务器开发

如何使用相对 rpath 编译 OpenSSL

我一直在尝试使用以下 rpath 编译 openssl 1.0.0g: $ORIGIN/../lib64 每次我 readelf -d apps/openssl,我都会得到如下结果,具体取决于我尝试的转义变化: \RIGIN/../lib64RIGIN/../lib64原点/../lib64 我想在不使用像 chrpath 这样的外部工具的情况下设置我的 rpath.有可能吗?我基本上会接 ..
发布时间:2022-01-07 19:02:33 其他开发

是否有与 -rpath 链接器标志等效的 Windows/MSVC?

在 Linux/GCC 上,我可以使用 -rpath 标志来更改共享库的可执行文件搜索路径,而无需调整环境变量. 这也可以在 Windows 上完成吗?据我所知,总是在可执行文件的目录和 PATH 中搜索 dll. 我的场景:我想根据共享库的属性(32/64 位/调试/发布)将它们放在不同的位置,而无需考虑唯一名称.在 Linux 上,这很容易通过 rpath 完成,但我还没有在 Wi ..
发布时间:2021-12-25 16:06:31 其他开发

我不明白 -Wl,-rpath -Wl,

为方便起见,我在下面添加了相关的联机帮助页. 我的(错误)理解首先:如果我需要用 , 分隔选项,那意味着第二个 -Wl 不是另一个选项,因为它在 之前>, 表示它是 -rpath 选项的参数. 我不明白 -rpath 怎么会有 -Wl,. 参数! 我认为有意义的是: -Wl,-rpath . 这应该使用当前目录参数调用 -rpath 链接器选项. man gcc: ..
发布时间:2021-12-18 22:30:02 其他开发

使用 RPATH 构建 OpenSSL?

我有 Ubuntu 14.04.它带有 openssl 1.0.1f.我想安装另一个openssl版本(1.0.2),我想自己编译它. 我是这样配置的: LDFLAGS='-Wl,--export-dynamic -L/home/myhome/programs/openssl/i/lib-L/home/myhome/programs/zlib/i/lib'CPPFLAGS='-I/home ..
发布时间:2021-12-03 13:50:02 服务器开发

当将可执行文件与a链接时,为什么ld需要-rpath-link而又需要一个so?

我很好奇.我创建了一个共享对象: gcc -o liba.so -fPIC-共享的liba.c 还有一个共享对象,它与前一个对象链接: gcc -o libb.so -fPIC-共享的libb.c liba.so 现在,当创建链接到 libb.so 的可执行文件时,我将必须指定-rpath-link到ld,以便在发现时可以找到 liba.so libb.so 依赖于它: gcc ..
发布时间:2021-05-09 20:57:22 其他开发

带有运行路径的C ++二级依赖项解析

我有以下问题: 我正在尝试使用默认的gnu编译器(gcc-7)和可用的链接器版本在Ubuntu18上构建软件. 现在我们有了一个例子,一个可执行文件可以链接一个共享库,而该库又可以链接另一个共享库.因此,可执行文件具有次要依赖性.但是仅从rpath而不是runpath中获取辅助依赖项.因此,即使将辅助依赖关系放在可执行文件的runpath文件夹中,也不会找到它. 结合使用goog ..
发布时间:2021-04-22 19:54:50 C/C++开发

“非法指示"指的是“非法指示".在其他计算机上运行预编译程序时

我必须在CentOS 7上构建程序并在其他Linux机器上进行部署.该程序需要较新的版本glibc,并且某些库尚未(也不会)安装在目标计算机上.因此,我决定将可执行文件与动态库一起提供.我用patchelf修补了interpreter和rpath. 我在计算机上测试了可执行文件,并且可执行(也已通过ldd检查以确保使用了新的rpath).但是,当我使用libs复制到其他计算机时,该程序无法运 ..
发布时间:2020-07-06 03:15:09 其他开发

如何在不指定RPATH的情况下直接在自定义路径中链接共享库?

我在Ubuntu 16.04上,并且我需要使用外部库( MCR ).它将所有共享库放在MATLAB/bin/glnxa64/文件夹中.我只需要libmx.so,但那里的库名称与/usr/lib中的库名称完全相同,但实际上它们是不同的(因为文件大小不同),例如libtiff.so.5. 这成为一个问题,因为当我在CMake中使用find_library函数将MATLAB/bin/glnxa64 ..
发布时间:2020-07-06 03:15:04 C/C++开发

未加载自定义框架dyld:未加载库:@ rpath/Custom.framework/

我有一个带有多个自定义动态框架的应用程序,这意味着我将iOS 8用作Xcode 6.2上的SDK.我的Mac在优胜美地上.这些框架具有Swift的资源和资源. 该应用是分布式企业,因此我只需创建一个IPA,然后通过网页在内部进行分发,用户可以在该网页上下载和安装该应用. 该应用程序可以在iPhone 5(iOS 8.1.2),iPod Touch(iOS 8.2)和模拟器但不能在iPh ..
发布时间:2020-07-06 03:13:56 移动开发

带包装的CMAKE RPATH

我正在使用cmake创建软件包 我具有以下结构 bin/ bin1 lib/ lib1 lib2 其中lib1和lib2是外部动态库.如何设置RPATH,使其自动与lib1和lib2链接? 解决方案 我也一直在忙于cmake. Cmake在构建时使用CMAKE_SKIP_BUILD_RPATH进行链接,并使用CMAKE_INSTALL_RPATH设 ..
发布时间:2020-07-06 03:12:53 其他开发