patchelf

XCOFF 二进制编辑器
patchelf

XCOFF 二进制编辑器

是否有用于编辑构建的 XCOFF 文件的工具?我想在构建后指定一些依赖项的路径,就像链接 XCOFF 时 -bipath 标志所做的那样。我正在寻找类似 patchelf 的东西,仅适用于 AIX 和 XCOFF。我发现https://www.ibm.com/docs/en/aix/7.2?topic=l-ldedit-command,但是好像做不到 ...

Admin

为什么使用 ld-linux.so 运行程序和使用 patchelf 更改解释器时会得到不同的结果?
patchelf

为什么使用 ld-linux.so 运行程序和使用 patchelf 更改解释器时会得到不同的结果?

使用 ld + --library-path 运行程序和使用 patchelf 更改加载程序有什么区别? 为了说明这一点,下面是一个无法按原样运行的二进制文件,可能是因为缺少最新版本的库: $ ~/DOWNLOADS/APPS/magick /tmp/.mount_magickXiWzgy/usr/bin/magick: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /tmp/.mount_magickXiWzgy/usr/lib/libMagick...

Admin

auto-patchelf 无法满足依赖项 libQt5SerialPort.so.5
patchelf

auto-patchelf 无法满足依赖项 libQt5SerialPort.so.5

我正在尝试在 NixOS 上运行 Qt Design Studio 2.3.1 Community。 我的nix推导代码: 薄片.nix: { description = "Qt Design Studio"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs"; flake-utils.url = "github:numtide/flake-utils"; }; outputs = { self, nixpkgs, flake-utils }: flake-utils....

Admin

编辑
patchelf

编辑

我看到还有其他类似的问题,但那里的答案对我不起作用。 我正在使用我下载的Julia 1.9.2(Linux、x86-64、glibc)预构建二进制文件并尝试执行二进制文件,但出现以下错误。 bash: ./julia: cannot execute: required file not found 我能够在我的机器上执行所有其他二进制文件。我的理解是,这是因为 bash 找不到执行该文件所需的解释器。在这种情况下它应该是一个装载机,我猜?这是 的输出file, $ file julia julia: ELF 64-bit LSB executable, x8...

Admin

在 elf 文件中使用 objcopy / elfedit 来 patchelf 符号(版本)
patchelf

在 elf 文件中使用 objcopy / elfedit 来 patchelf 符号(版本)

上下文如下:在我的操作系统上(已经)liba.so.v2“liba”,其中包含字符串“symbol_version-2”作为其函数的符号版本,例如functionX@version-2(就我而言,例如刷新@NCURSES6_5.0.19991023 在objdump -T / readelf输出)。有这个新的二进制_a我下载并想运行它。然而,这依赖于以前版本的库,liba.so.v1,其中包含不同的符号版本字符串,例如“symbol_version-1”(在我的例子中wrefresh@NCURSES_5.0.19991023(注意缺少“6”)。 笔记: ...

Admin

Nix -- 如何正确使用 addAutoPatchelfSearchPath?
patchelf

Nix -- 如何正确使用 addAutoPatchelfSearchPath?

我正在打包一个包含一些本机共享对象的工具,我认为将这些对象添加到 rpath 的正确方法是使用我的 Nix 表达式的addAutoPatchelfSearchPath函数installPhase,但它没有.so按预期获取库。我尝试过显式、相对等设置搜索路径。正确的用法是什么? installPhase = '' mkdir -p $out addAutoPatchelfSearchPath $(pwd) cp -r $src $out '' ...

Admin

使用 patchelf 修补库后 ldconfig 创建具有奇怪名称的链接?
patchelf

使用 patchelf 修补库后 ldconfig 创建具有奇怪名称的链接?

我正在修补我的开发服务器上的几个库,以使用该patchelf工具删除不需要的依赖项。它们被打包成 RPM 并安装在我的运行时系统上。安装后,ldconfig被调用,并创建奇怪的链接。 运行时系统上修补的库的位置类似于/usr1/blah/lib几个子文件夹。该位置和子文件夹的位置在我的/etc/ld.so.conf文件中指定。当我运行时ldconfig,会创建一堆名称奇怪的链接,例如: ?N -> libFoo.so ??r? -> libBar.so 以及名称是库中函数的部分函数名称的链接,例如,如果我这样做objdump -x并查看函...

Admin

恢复
patchelf

恢复

恢复 我目前正在尝试使用 NixOs 中的 Nix 包管理器安装 dot-net-core-sdk 2.0。 我对 NixOs、Nix、bash 脚本和 ELF 之类的东西都很陌生。但我认为我已经成功地为 dot-net-core-sdk 2.0 创建了有效的 Nix 包描述。 但是,当我尝试创建一个新console项目时,它抱怨找不到控制台模板: No templates matched the input template name: console. 故事很长... 我已经定义了我的 Nix 包和构建脚本,如下所示: dotnet-sd...

Admin

使用 patchelf 0.6 和 0.8 在 ld-linux-x86-64.so.2 中设置 RUNPATH 后无法 chroot bash
patchelf

使用 patchelf 0.6 和 0.8 在 ld-linux-x86-64.so.2 中设置 RUNPATH 后无法 chroot bash

我正在测试动态链接如何与RUNPATH变量一起工作,并尝试bash在最小chroot目录中运行: $ find dir_chroot/ -type f dir_chroot/bin/bash dir_chroot/lib/x86_64-linux-gnu/libc.so.6 dir_chroot/lib/x86_64-linux-gnu/libdl.so.2 dir_chroot/lib/x86_64-linux-gnu/libtinfo.so.5 dir_chroot/lib64/ld-linux-x86-64.so.2 -- 这些都是 的依赖项ba...

Admin

使用替代 libc 和 ld-linux.so hack;清洁方法?
patchelf

使用替代 libc 和 ld-linux.so hack;清洁方法?

我有一个带有非常旧的 glibc 的遗留系统,我们无法在不进行大量测试/验证工作的情况下对其进行升级。 我现在需要在该系统上多次运行较新的程序(例如 Java 1.7)。我选择了 chroot 解决方案,在其中打包所有需要的库,并在 chroot 中运行服务。 不过 chroot 的限制非常大,我宁愿尝试使用 LD_LIBRARY_PATH 来解决问题。不幸的是,libc.so.6: cannot handle TLS data当我尝试这样做时,我收到了一个错误。 事实证明我/lib/ld-linux.so.2也需要来自 chroot 的。这有效: ...

Admin

无法在 NixOS 中执行二进制文件 - 没有这样的文件或目录
patchelf

无法在 NixOS 中执行二进制文件 - 没有这样的文件或目录

我尝试在运行 NixOS 的 VM 上安装当前的 oracle jre。 现在发生以下情况: [michas@cc:~]$ tar xvzf jre-7u40-linux-x64.tar.gz |grep bin/java jre1.7.0_40/bin/javaws jre1.7.0_40/bin/java_vm jre1.7.0_40/bin/java [michas@cc:~]$ ls -l ./jre1.7.0_40/bin/java -rwxr-xr-x 1 michas nogroup 7750 Aug 27 09:17 ./jre1.7....

Admin

执行二进制文件:找不到文件
patchelf

执行二进制文件:找不到文件

我知道那里有类似的问题,但我还没有找到解决方案,也没有找到这个确切的案例。该二进制文件是使用 Arch Linux 的 GCC 4.7 构建的。该包在构建系统上运行良好。以下命令执行于: Linux vbox-ubuntu 3.2.0-29-generic #46-Ubuntu SMP 7 月 27 日星期五 17:03:23 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux 有问题的文件位于这里。它是一个 Linux 64 位到 Windows 64 位的交叉编译器。将其解压得到~/一个~/mingw64包含所需所...

Admin

Linux:CentOS 中 MAC 的 install_name_tool 的替代方案
patchelf

Linux:CentOS 中 MAC 的 install_name_tool 的替代方案

我正在寻找 CentOS 中 MAC 的 install_name_tool 的替代品。我确实想在非默认位置构建 MySQL。另外,mysql 二进制文件的共享库应该位于非默认位置并正确链接。 我无法将共享库 libssl 和 libcrypto 链接到 mysqld 二进制文件。 [user@localhost mysql]$ ldd /usr/local/mysql/bin/mysqld linux-gate.so.1 => (0x00186000) libpthread.so.0 => /lib/lib...

Admin