0

我目前正在寻找一种方法来制作我刚刚编译的二进制文件,这是一个适用于大多数 linux 环境的可移植二进制文件。我正在考虑 Ermine,但它不是免费的(现在正在寻找免费的解决方案)并且也尝试使用 Statifier 但也没有用。这是我试图制作静态和可移植的二进制文件的详细信息:

sirius@blackb0x:~/MINING/ARIONUM/ariominer/build$ ldd /home/sirius/MINING/ARIONUM/ariominer/build/ariominer
    linux-vdso.so.1 =>  (0x00007fff692fe000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fdfee979000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fdfee775000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fdfee45f000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fdfee159000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fdfedf42000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fdfedb79000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fdfeeb97000)

如果有人能告诉我如何准确地将所有库链接到二进制文件,以便它可以在所有或几乎所有 linux env(2.6.18 内核到最新版本)上轻松运行,将不胜感激。

谢谢

4

1 回答 1

1

从源代码重建程序及其依赖项(同时LIBS设置为-static),并确保传递--enable-static --disable-shared给它们的configure脚本。

如果这不起作用,只需在一台非常旧的机器上编译它并为 glibc 和 musl 提供二进制文件。

于 2019-03-06T19:18:28.133 回答