Iperf: iperf3を静的にコンパイルする方法は?

作成日 2017年04月04日  ·  5コメント  ·  ソース: esnet/iperf

iperf3開発者の皆様、

Linuxカーネルを備えた最小限のファイルシステムでiperf3を使用したいと思います。 ファイルシステム内で使用するプログラムを静的にコンパイルする必要があります。 iperf3を静的にコンパイルすることは可能ですか?
やった
$ ./configure --build = arm-none-linux-gnueabi --host = arm-none-linux-gnueabi CFLAGS = -static CXXFLAGS = -static
$ make

しかし、私は得る
/ src $ファイルiperf3
iperf3:ELF 64ビットLSB実行可能ファイル、x86-64、バージョン1(SYSV)、動的リンク、インタープリター/lib64/ld-linux-x86-64.so.2、GNU / Linux 2.6.32、BuildID [sha1] = 33df741e068aaf7a9ae8a24a6243de87c35c6ca5、削除されていません

宜しくお願いします、
Jiahuan

question

最も参考になるコメント

これは私のために働いた:

./configure "LDFLAGS=--static" --disable-shared --without-sctp
make
make install
$ ldd iperf3 
    not a dynamic executable

ドキュメントにもあります: https

全てのコメント5件

./configure --enable-static --disable-shared; 作る; インストールする

私はこれを長い間試していませんが、それは正しい答えに見えます、@ TheRealDJに感謝します!

これはもう機能していないようです。 静的ライブラリをビルドしますが、実行可能ファイルはビルドしません。

こんにちは、
確認できます。 静的実行可能ファイルとしてiperf3をビルドしようとしましたが、それでもいくつかのライブラリにリンクしています。

❯ ldd ./iperf3
    linux-vdso.so.1 (0x00006284def24000)
    libcrypto.so.1.1 => /usr/lib/libcrypto.so.1.1 (0x00006284debef000)
    libc.so.6 => /usr/lib/libc.so.6 (0x00006284dea29000)
    libdl.so.2 => /usr/lib/libdl.so.2 (0x00006284dea24000)
    libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00006284dea02000)
    /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00006284def26000)

ビルド方法: ./configure --enable-static --disable-shared

これは私のために働いた:

./configure "LDFLAGS=--static" --disable-shared --without-sctp
make
make install
$ ldd iperf3 
    not a dynamic executable

ドキュメントにもあります: https

このページは役に立ちましたか?
0 / 5 - 0 評価