Iperf: Iperf -s

Criado em 3 fev. 2016  ·  9Comentários  ·  Fonte: esnet/iperf

Ao executar o comando iperf -s seu erro de lançamento

iperf3: erro de pesquisa de símbolo: iperf3: símbolo indefinido: iperf_create_pidfile

Saudações.,
Surendar

question

Comentários muito úteis

remover libiperf0 resolveu esse problema para mim.

apt-get purge libiperf0

Todos 9 comentários

+1

Confirmado no Ubuntu 15.10

Talvez a biblioteca compartilhada iperf3 (se foi construída dessa forma, como é o padrão) não está no caminho de pesquisa do carregador? Em alguns sistemas semelhantes ao UNIX, você pode recarregar o caminho de pesquisa do carregador executando ldconfig .

Se isso não ajudar você, forneça mais algumas informações, como o sistema operacional e a distribuição que você está usando e como instalou o iperf (por exemplo, compilado da fonte e make install , executável empacotado, etc.) .

Estou no Ubuntu 14.04 e recebo o mesmo erro, tentei executar ldconfig mas não ajudou.
IPerf instalado a partir do executável empacotado.

Tenho o mesmo problema na instalação limpa do Debian Jessie. Clonado do git. ./configure && make && make install .

Então, eu reduzi isso. A razão pela qual só ficamos indefinidos em iperf_create_pidfile , é provavelmente porque instalamos o pacote iperf3 do apt e, ao removê-lo, a biblioteca foi deixada para trás (mesmo ao fazer dpkg --purge iperf3 ). Isso resultou no uso de um libiperf.so.0 antigo. Isso tinha algum indefinido;

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)

A solução foi bastante direta;

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

E 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

O make install provavelmente deve invocar ldconfig para que as bibliotecas sejam atualizadas.

Obrigado @jallakim por postar uma solução alternativa! Eu estava tentando descobrir como fazer ldconfig automaticamente, mas ficou complicado porque nem toda plataforma usa ldconfig (MacOS em particular faz algum outro comando para uma função semelhante). Provavelmente ainda há um problema no rastreador de problemas do GitHub para esse problema exato.

remover libiperf0 resolveu esse problema para mim.

apt-get purge libiperf0

@tingvold , a solução alternativa funciona para a minha situação. Basicamente, você deve primeiro desinstalar e depois instalar. Acho que a opção mais importante é "ldconfig"

Esta página foi útil?
0 / 5 - 0 avaliações