我得到了类型为ELF的文件
我想在普通的常规linux计算机(而不是容器)中运行的ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-x86_64.so.1, stripped
可悲的是,尝试执行时出现错误No such file or directory
。
我最终要调试所说的ELF,在容器中很难做到。
谷歌搜索了几个小时,找不到一个简单的解决方案。
答案 0 :(得分:2)
ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-musl-x86_64.so.1, stripped
此二进制文件链接为使用musl libc,该文件未安装在系统上。
No such file or directory
此错误有点令人困惑。缺少的不是您的二进制文件,而是所需的 iterpreter (/lib/ld-musl-x86_64.so.1
)。
虽然没有找到确定的是/否答案,但可能会与现有的GLIBC并行安装musl 。
答案 1 :(得分:0)
musl用于编译可移植的静态二进制文件。您尝试运行的程序的编译出了点问题。标志“ --static”应该已经传递给已编译的程序,这将导致
ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, with debug_info, not stripped
有关如何编译此类程序的示例:
CC=musl-gcc CFLAGS="--static" ./Configure
make