Iperf: Iperf -s

作成日 2016年02月03日  ·  9コメント  ·  ソース: esnet/iperf

コマンドiperf-sの実行中に、そのスローエラーが発生します

iperf3:シンボルルックアップエラー:iperf3:未定義のシンボル:iperf_create_pidfile

よろしく。、
Surendar

question

最も参考になるコメント

libiperf0を削除すると、この問題は解決しました。

apt-get purge libiperf0

全てのコメント9件

+1

Ubuntu15.10で確認済み

おそらく、iperf3共有ライブラリ(デフォルトのようにそのように構築されている場合)がローダーの検索パスに含まれていませんか? 一部のUNIXライクなシステムでは、 ldconfig実行してローダー検索パスをリロードできます。

それでも問題が解決しない場合は、使用しているOSとディストリビューション、iperfのインストール方法(ソースとmake installからコンパイル、パッケージ化された実行可能ファイルなど)などの情報を提供してください。 。

Ubuntu 14.04を使用していますが、同じエラーが発生し、 ldconfig実行しようとしましたが、役に立ちません。
パッケージ化された実行可能ファイルからインストールされたiperf。

DebianJessieのクリーンインストールでも同じ問題が発生します。 gitから複製されました。 ./configure && make && make install

そこで、絞り込みました。 iperf_create_pidfileでのみ未定義になる理由は、おそらくaptからiperf3パッケージをインストールしたためであり、それを削除すると、ライブラリが取り残されました( dpkg --purge iperf3実行している場合でも) libiperf.so.0が使用されていました。 これにはいくつかの未定義がありました。

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)

解決策は非常に簡単でした。

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

そして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

make installは、ライブラリが更新されるように、おそらくldconfig呼び出す必要があります。

回避策を投稿してくれた@jallakimに感謝します! 私はかつてldconfig自動的に実行する方法を理解しようとしていましたが、すべてのプラットフォームがldconfigを使用するわけではないため複雑になりました(特にMacOSは同様の機能に対して他のコマンドを実行します)。 この正確な問題については、GitHub課題追跡システムにまだ問題がある可能性があります。

libiperf0を削除すると、この問題は解決しました。

apt-get purge libiperf0

@tingvold 、回避策は私の状況で機能します。 つまり、基本的には、最初にアンインストールしてからインストールする方法です。 最も重要なオプションは「ldconfig」だと思います

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