Caros desenvolvedores iperf3,
Eu quero usar iperf3 em um sistema de arquivos mínimo com um kernel do Linux. eu tenho que compilar estaticamente os programas para usar dentro do sistema de arquivos. É possível compilar estaticamente o iperf3?
eu fiz
$ ./configure --build = arm-none-linux-gnueabi --host = arm-none-linux-gnueabi CFLAGS = -static CXXFLAGS = -static
$ make
Mas eu consigo
/ src $ arquivo iperf3
iperf3: executável LSB ELF de 64 bits, x86-64, versão 1 (SYSV), vinculado dinamicamente, intérprete /lib64/ld-linux-x86-64.so.2, para GNU / Linux 2.6.32, BuildID [sha1] = 33df741e068aaf7a9ae8a24a6243de87c35c6ca5, não despojado
Cumprimentos,
Jiahuan
./configure --enable-static --disable-shared; faço ; faça a instalação
Faz muito tempo que não tento, mas parece a resposta certa, obrigado @TheRealDJ!
Isso parece não funcionar mais. Ele constrói a biblioteca estática, mas não os executáveis.
Oi,
Eu posso confirmar isso. Tentei construir iperf3 como um executável estático, mas ainda se vincula a algumas bibliotecas:
❯ 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)
construir via: ./configure --enable-static --disable-shared
Isso funcionou para mim:
./configure "LDFLAGS=--static" --disable-shared --without-sctp
make
make install
$ ldd iperf3
not a dynamic executable
Também está na documentação: https://software.es.net/iperf/faq.html
Comentários muito úteis
Isso funcionou para mim:
Também está na documentação: https://software.es.net/iperf/faq.html