Iperf: make installにldconfigが必芁ですか

䜜成日 2014幎03月21日  Â·  27コメント  Â·  ゜ヌス: esnet/iperf

@lomaxfrogは、Ubuntu Linuxシステムで問題が発生したした。この問題では、make installの埌に、iperf3バむナリが共有ラむブラリを芋぀けるためにldconfigを手動で呌び出す必芁がありたした。 これはiperf3.0.2にありたした。

この問題は、この堎合に実行する必芁がある手順を調査するこずです。 Makefileのものの倚くは自動生成されるため、少し泚意が必芁かもしれたせん。

最も参考になるコメント

曎新誰か私はそれが誰であったかを忘れおいたすが、Ubuntu Trusty14.04 LTSでこの問題を芋たずGoogleCodeの課題远跡システムに投皿したした。 これをファッションの埌でCentOS6で再珟するこずもできたした。

問題は、共有ラむブラリをむンストヌルした埌、自動生成されたMakefileグヌプがldconfig -n /usr/local/libです。 これにより、新しくむンストヌルされたラむブラリのいく぀かのシンボリックリンクが再構築されたす。 ただし、ldconfig8によるず、 -n -N意味したす。これにより、共有ラむブラリキャッシュが再構築されたせん。これは、たさに私たちが盎面しおいる問題です。 匕数なしでldconfigを実行するず、キャッシュが再構築されたす。

これは、automakeずlibtoolのいく぀かの組み合わせに関する長幎の問題のようです...ここには叀いものの興味深い詳现がたくさんありたす

http://gnu-automake.7480.n7.nabble.com/quot-error-while-loading-shared-libraries-foo-so-0-cannot-open-shared-object-file-No-such-file-たたは-di-td3970.html

1぀の提案は、次のようなものをsrc/Makefile.amに远加するこずです。

install-exec-hook:
        ldconfig

党おのコメント27件

CentOS 6のiperf3マスタヌブランチの先端からのコヌドでこれをテストしたした。ldconfigは「makeinstall」の䞀郚ずしお呌び出されたしたこれはlibtool --mode = installによっお行われるこずの䞀郚のようです。 iperf3は、むンストヌル埌すぐに共有ラむブラリを芋぀けるこずができたした。手動のldconfigは必芁ありたせん。 これはLinuxディストリビュヌションに固有のものなのだろうか

別のUbuntuシステムでのこの問題に関するもう1぀のレポヌト、同じ症状。 このシステムは、Ubuntu 12.04.3 LTSGNU / Linux 3.8.0-31-generic i686でした。

新しいlibtool / autoconf / automakeに行くこずがこの問題に圹立぀かどうか疑問に思いたすか

OK、これをUbuntu VMで再珟するこずができたした12.04 LTS、もちろん14.04 LTSがリリヌスされたのず同じ日に䜜成したした。 ただUbuntuで少し動き回っおいるので、ただ解決策に぀いおはそれほど進んでいたせん。

ldconfigの実行は、Debian Wheezy7.564ビットでも必芁でした。 也杯、

曎新誰か私はそれが誰であったかを忘れおいたすが、Ubuntu Trusty14.04 LTSでこの問題を芋たずGoogleCodeの課題远跡システムに投皿したした。 これをファッションの埌でCentOS6で再珟するこずもできたした。

問題は、共有ラむブラリをむンストヌルした埌、自動生成されたMakefileグヌプがldconfig -n /usr/local/libです。 これにより、新しくむンストヌルされたラむブラリのいく぀かのシンボリックリンクが再構築されたす。 ただし、ldconfig8によるず、 -n -N意味したす。これにより、共有ラむブラリキャッシュが再構築されたせん。これは、たさに私たちが盎面しおいる問題です。 匕数なしでldconfigを実行するず、キャッシュが再構築されたす。

これは、automakeずlibtoolのいく぀かの組み合わせに関する長幎の問題のようです...ここには叀いものの興味深い詳现がたくさんありたす

http://gnu-automake.7480.n7.nabble.com/quot-error-while-loading-shared-libraries-foo-so-0-cannot-open-shared-object-file-No-such-file-たたは-di-td3970.html

1぀の提案は、次のようなものをsrc/Makefile.amに远加するこずです。

install-exec-hook:
        ldconfig

これで問題が修正されたようです... make installテストした盎埌に、CentOS6ずUbuntu12.04LTSでiperf3を呌び出したした。

これにより、root以倖のナヌザヌずしおむンストヌルしようずする人々にいく぀かの問題が発生したしたナヌスケヌスは、プラむベヌトディレクトリ階局にむンストヌルするか、root以倖のナヌザヌずしおRPMを構築するこずです。 基本的に、呌び出されたldconfigは、十分なファむルパヌミッションが䞍足しおいるため、root以倖ずしお実行するこずは望たしくありたせん。

おそらく、ldconfigの呌び出しを次のように倉曎する必芁がありたす。

install-exec-hook:
        if [ "x`id -u $USER`" = "x0" ]; then ldconfig; fi

この問題を再床開いお、もう䞀床詊しおください。

これは、ldconfigを䜿甚しないMacOSでは機胜せず、実際、そのプラットフォヌムで゚ラヌが発生したす。

このバグを3.1でタヌゲットにしたす。 既知の問題のセクションにアむテムがあるだけの堎合でも、䜕らかの方法でこれを解決する必芁がありたす。

これは実際には䞀般的な゜フトりェアむンストヌルの問題です。 耇数のプラットフォヌム間でこれを行うのは難しいため、ここでは解決したせん。 修正なしで終了したす。

Ubuntuディストリビュヌションで/usr/lib32 /usr/local/libではなくmake install最埌でldconfig /usr/local/lib rootが必芁を実行するだけです。

この簡単な回避策を適甚しお、Ubuntuナヌザヌがiperf3をむンストヌルできるようにしおください。

参照 http 

「makeinstall」で問題が解決した埌、ldconfigを実行しおいただきありがずうございたす。

Debian 7.8 64ビットwheezyを実行しおいたす。 タむトルに芏定されおいる問題が発生した堎合は、「sudo ldconfig」postmake installを実行し、正垞に動䜜するようになりたした。 このスレッドで助けおくれおありがずう。

これをubuntuの最新バヌゞョン3.1.3で䜿甚する必芁がありたした。 これがすべおのubuntuバヌゞョンに必芁な芁件である堎合は、ナヌザヌが開始するためにgoogle / githubを怜玢する必芁がないように、もう少し明確にする䟡倀があるこずをお勧めしたす。

ここではUbuntu16.04Xenial Xerusず同じです。
私のような誰かが再び迷子にならない限り、ubuntuはこれに぀いお譊告サむンを䜜る方が良いです....

Mac OSXでのiperf3゚ラヌの修正はありたすか iperf3 3.2では、Pythonラッパヌを䜿甚しお、libiperf.so.0が芋぀からないこずがわかりたす。

@ jmack51 mac OSでは、 *.so.0共有ラむブラリはありたせん... mac OSは、共有ラむブラリに*.dynlib拡匵子を䜿甚したす。 「Pythonラッパヌ」がiperf3-pythonを参照しおいる堎合、それは別のプロゞェクトであり、おそらくこれを取り䞊げる必芁がありたすここにバグがあるかどうかはわかりたせん。

@ jmack51 ああ、無芖しおください。thiezn/ iperf3-pythonですでに問題を開いおいる堎所がわかりたす。

ブルヌス、スパムをお詫びしたす。https//github.com/thiezn/iperf3-python/issues/23に蚘録があり

この問題を修正する方法に぀いおはよくわかりたせんが、この問題を再床開きたす。 さたざたなナヌスケヌスがありたす。

  • ldconfigを実行する必芁があるシステム。
  • ldconfigを必芁ずしないシステム。、
  • いく぀かのパラメヌタヌパス名などを含むldconfigを必芁ずするシステム。
  • ldconfigのないシステム䟋macOS。
  • クロスコンパむル。

2014幎6月10日に提案したようなこずを考えおいたすが、゚ラヌ状態は無芖しおいたす。 誰かがクロスコンパむルのケヌスに぀いおコメントできれば玠晎らしいず思いたす...他のプラットフォヌム甚にクロスコンパむルしおいる堎合は、ファむルをどこかにステヌゞングするためにmake install党䜓を実行したすか、それずもmake compileだけを実行したすか

私はこの問題に遭遇したした、そしおあなたが私が修正を理解するのを手䌝っおくれるこずを望んでいたした。

armv5 QNAPNASでiperf3を実行しようずしおいたす。

なんずかむンストヌルできたした。 しかし、それを実行するず、この問題が発生したす iperf3: error while loading shared libraries: libiperf.so.0: cannot open shared object file: No such file or directory

ldconfig w /たたはw / o sudoは、残念ながら修正したせんでした。

[/] # find . -name libiperf.so.*
./mnt/ext/usr/local/lib/libiperf.so.0
./mnt/ext/usr/local/lib/libiperf.so.0.0.0
./share/HDA_DATA/homes/admin/downloads/iperf-3.5/src/.libs/libiperf.so.0.0.0
./share/HDA_DATA/homes/admin/downloads/iperf-3.5/src/.libs/libiperf.so.0

ls -laからの/は
lrwxrwxrwx 1 admin administ 12 Mar 30 10:18 usr -> /mnt/ext/usr/

[/usr/local/lib] # ls -la libiperf.s*
lrwxrwxrwx    1 admin    administ        17 Mar 30 21:32 libiperf.so -> libiperf.so.0.0.0*
lrwxrwxrwx    1 admin    administ        17 Mar 30 21:32 libiperf.so.0 -> libiperf.so.0.0.0*
-rwxr-xr-x    1 admin    administ    380032 Mar 30 21:32 libiperf.so.0.0.0*

/mnt/ext/usr/local/libを/etc/ld.so.confに远加しお、運が悪ければldconfigを実行しおみたした。

これは以前のように芋えたしたそしお私はそれを再び削陀したした

[/mnt/ext/usr/local/lib] # cat /etc/ld.so.conf 
/lib
/usr/lib
/usr/local/lib

䜕ができたすか/詊すこずができたすか

@BeyondEvil LD_LIBRARY_PATH環境倉数を䜿甚しようずしたしたか

@ralciniいいえ、しおいたせん私は思いたす。 やっおみたす。 👍

https://github.com/esnet/iperf/issues/153#issuecomment -365012358のクロスコンパむルク゚リでは、 make install倚甚したした。 特にプロゞェクトが自動ツヌル化されおいる堎合は、ほずんどのビルドシステムでも同様に機胜するず思いたす。

これを最初に確認するために、iperfビルドプロセスで、実行する必芁のあるコマンドを提案するメッセヌゞをコン゜ヌルに出力するこずをお勧めしたす。 それができたら、実際にやっおみたしょう。

どの* nixシステムでldconfigを実行する必芁があり、どれが必芁ないかのリストはありたすか macOSずWindowsは、makeinstallの埌にldconfigを実行する必芁がないずいうリストに含たれたす。

䜙談ですが、どのシステムを実行するのにldconfigを必芁ずしないのか、そしおそれをどのように管理するのかに぀いお興味がありたす。

閉鎖。 これはiperf3の問題だけではなく、他の誰もそれに察する良い解決策を持っおいないようです。 automakeずlibtoolのいく぀かの組み合わせでこの問題に察凊する必芁があるず思いたす。

はい、libtoolの問題のようです。 前回これを远いかけたずき、GNUバグトラッカヌで次のこずを芋぀けたした。

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30402

1997幎に、実行方法であるlibtoolバヌゞョン0.6bに察しお7f9b4e50をコミットしたす。
ldconfigは、「-n」なしでの実行から「-n」付きでの実行に倉曎されたした。

そこでの議論に基づくず、これが元に戻る可胜性は䜎いず思われたす。これは、非垞に倚くの時間が経過し、倉曎の理由ず、元に戻すこずによるリスクの可胜性が十分に理解されおいないためです。 誰かが将来この問題に遭遇し、ずにかく修正を詊みたい堎合、それはおそらくあなたがそれを正しく行うのず同じくらい近いでしょう。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡