Iperf: Iperf -s

Erstellt am 3. Feb. 2016  ·  9Kommentare  ·  Quelle: esnet/iperf

Während der Ausführung des Befehls iperf -s wird der Fehler ausgelöst

iperf3: Symbol-Suchfehler: iperf3: undefiniertes Symbol: iperf_create_pidfile

Grüße.,
Surendar

question

Hilfreichster Kommentar

Das Entfernen von libiperf0 hat dieses Problem für mich behoben.

apt-get purge libiperf0

Alle 9 Kommentare

+1

Bestätigt unter Ubuntu 15.10

Möglicherweise befindet sich die gemeinsam genutzte iperf3-Bibliothek (wenn sie wie standardmäßig auf diese Weise erstellt wurde) nicht im Loader-Suchpfad? Auf einigen UNIX-ähnlichen Systemen können Sie den Loader-Suchpfad neu laden, indem Sie ldconfig .

Wenn Ihnen das nicht hilft, geben Sie bitte weitere Informationen an, z. B. welches Betriebssystem und welche Distribution Sie verwenden und wie Sie iperf installiert haben (z. B. kompiliert aus dem Quellcode und make install , gepackte ausführbare Datei usw.). .

Ich bin auf Ubuntu 14.04 und erhalte den gleichen Fehler. Ich habe versucht, ldconfig aber es hilft nicht.
Installierte iperf von einer gepackten ausführbaren Datei.

Haben Sie das gleiche Problem bei der sauberen Installation von Debian Jessie. Von Git geklont. ./configure && make && make install .

Also habe ich es eingegrenzt. Der Grund, warum wir nur für iperf_create_pidfile undefiniert werden, ist wahrscheinlich, dass wir das iperf3 -Paket von apt installiert hatten und beim Entfernen der Bibliothek zurückgelassen wurden (selbst wenn dpkg --purge iperf3 ). Dies führte dazu, dass ein altes libiperf.so.0 verwendet wurde. Dies hatte einige undefinierte;

root<strong i="10">@foobar</strong>:~/iperf3-git# ldd -d -r /usr/local/bin/iperf3 
    linux-vdso.so.1 (0x00007ffec4390000)
    libiperf.so.0 => /usr/lib/x86_64-linux-gnu/libiperf.so.0 (0x00007fe7f4e6a000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fe7f4abf000)
    /lib64/ld-linux-x86-64.so.2 (0x000055aa474ef000)
undefined symbol: iperf_delete_pidfile  (/usr/local/bin/iperf3)
undefined symbol: iperf_create_pidfile  (/usr/local/bin/iperf3)
undefined symbol: iperf_get_test_one_off    (/usr/local/bin/iperf3)

Die Lösung war ziemlich einfach;

make uninstall
make clean
./configure
make -j20
make install
rm /usr/lib/x86_64-linux-gnu/*iperf*
ldconfig

Und voilá;

root<strong i="17">@foobar</strong>:~/iperf3-git# /usr/local/bin/iperf3 --version
iperf 3.1
Linux foobar 4.2.8-1-pve #1 SMP Fri Feb 26 16:37:36 CET 2016 x86_64
Optional features available: CPU affinity setting, IPv6 flow label, TCP congestion algorithm setting, sendfile / zerocopy

Die make install sollten wahrscheinlich ldconfig aufrufen, damit die Bibliotheken aktualisiert werden.

Vielen Dank an @jallakim für die Veröffentlichung einer ldconfig automatisch funktioniert, aber es wurde kompliziert, weil nicht jede Plattform ldconfig verwendet (insbesondere MacOS führt einen anderen Befehl für eine ähnliche Funktion aus). Es gibt wahrscheinlich noch ein Problem im GitHub Issue Tracker für genau dieses Problem.

Das Entfernen von libiperf0 hat dieses Problem für mich behoben.

apt-get purge libiperf0

@tingvold , die

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

thx1111 picture thx1111  ·  11Kommentare

KevinJosephMorin picture KevinJosephMorin  ·  5Kommentare

smcifrankp picture smcifrankp  ·  4Kommentare

FuzzyStatic picture FuzzyStatic  ·  13Kommentare

JodieChuang picture JodieChuang  ·  5Kommentare