Π£Π²Π°ΠΆΠ°Π΅ΠΌΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ iperf3!
Π― Ρ
ΠΎΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ iperf3 Π² ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Ρ ΡΠ΄ΡΠΎΠΌ Linux. ΠΠ½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎΠΆΠ½ΠΎ Π»ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ iperf3?
Ρ ΡΠ΄Π΅Π»Π°Π»
$ ./configure --build = arm-none-linux-gnueabi --host = arm-none-linux-gnueabi CFLAGS = -static CXXFLAGS = -static
$ make
ΠΠΎ Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ
/ src $ ΡΠ°ΠΉΠ» iperf3
iperf3: 64-ΡΠ°Π·ΡΡΠ΄Π½ΡΠΉ ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ ΡΠ°ΠΉΠ» LSB ELF, x86-64, Π²Π΅ΡΡΠΈΡ 1 (SYSV), Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΡΠΉ, ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡ /lib64/ld-linux-x86-64.so.2, Π΄Π»Ρ GNU / Linux 2.6.32, BuildID [sha1] = 33df741e068aaf7a9ae8a24a6243de87c35c6ca5, Π±Π΅Π· ΡΠ΄Π°Π»Π΅Π½ΠΈΡ
Π½Π°ΠΈΠ»ΡΡΡΠΈΠ΅ ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΡ,
Π¦Π·ΡΡ
ΡΠ°Π½Ρ
./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://software.es.net/iperf/faq.html
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ:
ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ: https://software.es.net/iperf/faq.html