Questions tagged «linker»

2
在64位系统上运行32位二进制文​​件时收到“找不到”消息
我目前在debian(wheezy / amd64)上遇到一个奇怪的问题。 我已经创建了一个chroot来安装服务器(抱歉,我无法提供更多详细信息)。我们称之为路径/chr_path/。为了使事情变得容易,我已经用debootstrap(也是wheezy / amd64)初始化了此chroot。 chroot内的所有文件似乎都可以正常工作,但是当我启动服务器的安装程序脚本时,我得到了:( zsh: Not found /some_path/perl由于某些原因,安装程序包含perl二进制文件) 自然,我检查了/some_path/位置并找到了“ perl”二进制文件。file在chroot环境中返回: /some_path/perl ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped 该文件存在,看起来不错,具有正确的权限。我可以使用file,ls,vim它但只要我努力去执行它- ./perl例如-我得到:zsh: Not found ./perl。 这种情况对我来说是可以理解的。此外: 我可以在chroot中执行其他基本二进制文件(/ bin / ls,...) 对于项目随附的其他二进制文件,我也有同样的问题 当我尝试从主根目录(/chr_path/some_path/perl)执行二进制文件时,它可以工作。 我尝试将其中一个二进制文件与我的文件副本放在一起ls。我检查了访问权限是否相同,但这并没有改变任何内容(一个正在工作,另一个则没有)

1
在Unix中什么是剥离的和未剥离的可执行文件?
从人档案中, EXAMPLES $ file file.c file /dev/{wd0a,hda} file.c: C program text file: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped /dev/wd0a: block special (0/0) /dev/hda: block special (3/0) $ file -s /dev/wd0{b,d} /dev/wd0b: data /dev/wd0d: x86 boot sector $ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10} /dev/hda: …

2
更改给定可执行文件的链接库(CentOs 6)
我有这样的可执行文件链接: $ ldd a.out libboost_system-mt.so.1.47.0 => /usr/lib64/libboost_system-mt.so.1.47.0 (0x00007f4881f56000) libssl.so.10 => /usr/lib64/libssl.so.10 (0x00007f4881cfb000) libcrypto.so.10 => /usr/lib64/libcrypto.so.10 (0x00007f4881965000) librt.so.1 => /lib64/librt.so.1 (0x00007f488175d000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4881540000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f4881239000) . . libcrypto和libssl库是openssl 1.0.0-fips库。我想尝试使用1.0.1库,因此已在主目录中构建了它们。有没有办法a.out轻松地与新的openssl库重新链接?我想避免 必须重新链接a.out(因为构建工具非常复杂) 更改任何全局设置(因为其他开发人员在此计算机上工作) 是否可以做我希望在这里做的事情?
29 libraries  linker 

1
什么是AT&T的链接编辑器命令语言?
的手册页ld引用了AT&T’s Link Editor Command Language,但是Google搜索无法提供关于内容AT&T’s Link Editor Command Language或过去的令人满意的解释,除了指向上述手册页之外,而我希望前五个结果出现在Wikipedia页面上。 似乎这里缺少重要的计算历史。是否有人对此语言有参考或历史文献?我们可以在Wikipedia中保存一些内容以备后代使用吗?

3
创建静态二进制
我安装了一个应用程序[例如fdisk]。但是它需要执行库。我正在寻找实用程序/工具,它将帮助我从已安装的二进制文件创建静态二进制文件。这样我就可以在任何地方使用它。 我找到的唯一可靠的工具是ErmineLight从 这里开始的,但这是共享软件。 是否有可用的开源软件? EDIT fdisk只是一个例子。我大部分时间都在LFS上工作,因此,如果必须使用任何实用程序,我需要按照以下步骤进行操作: 下载源码 配置 使 做测试 进行安装, 因此,为了节省时间,我正在寻找一种解决方案,其中将使用debian,fedora或其他发行版制作静态二进制文件,并在LFS上进行尝试,如果可以正常运行或按照我的要求运行,我将附带源代码进行编译。


1
取消ld.conf.so.d库路径解析的优先级
从一个单独的问题以及有关该主题的其他文章看来ld.so.conf.d,在通过/lib或提供的任何库之前,总是会解决定义的其他库路径(即,在名称冲突的情况下,例如覆盖系统库时)/usr/lib。 是否有可能通过ld.so.conf.d某种机制创建一个系统范围的路径,在该路径下可以以最低/最新的分辨率级别来解析库?例如,我希望库/ParanoidAndroid/可以被解析,但是我希望该路径成为搜索它们的最后一个位置(即,优先于存储在中的库中/lib和/usr/lib之上的库/ParanoidAndroid/),因此现在的查找顺序为: LD_LIBRARY_PATH中的目录; 来自/etc/ld.so.conf的目录; / lib; / usr / lib。 / ParanoidAndroid;
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.