@lomaxfrog λ iperf3 λ°μ΄λλ¦¬κ° κ³΅μ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ°ΎκΈ° μν΄ make install ν ldconfigλ₯Ό μλμΌλ‘ νΈμΆν΄μΌνλ Ubuntu Linux μμ€ν μμ λ¬Έμ κ° λ°μνμ΅λλ€. μ΄κ²μ iperf 3.0.2μμμμ΅λλ€.
μ΄ λ¬Έμ λμ΄ κ²½μ°μ μνν΄μΌνλ λ¨κ³λ₯Ό μ‘°μ¬νλ κ²μ λλ€. λ§μ Makefile νλͺ©μ΄ μλ μμ±λλ―λ‘ μ½κ° κΉλ€λ‘μΈ μ μμ΅λλ€.
λ°©κΈ CentOS 6μ iperf3 λ§μ€ν° λΈλμΉ νμμ μ½λλ‘ μ΄κ²μ ν μ€νΈνμ΅λλ€. ldconfigλ "make install"μ μΌλΆλ‘ νΈμΆλμμ΅λλ€. iperf3λ μ€μΉ μ§ν 곡μ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ°Ύμ μ μμμΌλ©° μλ ldconfigκ° νμνμ§ μμμ΅λλ€. μ΄κ²μ΄ Linux λ°°ν¬νμ νΉμ ν κ²μΈμ§ κΆκΈν©λλ€.
λ€λ₯Έ μ°λΆν¬ μμ€ν μμμ΄ λ¬Έμ μ λν λ λ€λ₯Έλ³΄κ³ , λμΌν μ¦μ. μ΄ μμ€ν μ 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κ° λμ¨ λ°λ‘ κ·Έ λ μ ꡬμΆνμ΅λλ€)μμ μ¬ν ν μμμμ΅λλ€. μ°λΆν¬μμ μ¬μ ν μ½κ°μ λ¬Έμ κ° μμΌλ―λ‘ μμ§ ν΄κ²°μ± μΌλ‘ κ·Έλ κ² λ©λ¦¬ κ°μ§ λͺ»νμ΅λλ€.
Debian Wheezy (7.5) 64 λΉνΈμμλ ldconfigλ₯Ό μ€νν΄μΌνμ΅λλ€. 건배,
μ λ°μ΄νΈ : λκ΅°κ° (λκ΅°μ§ μμ΄ λ²λ Έμ΅λλ€)κ° Ubuntu Trusty (14.04 LTS)μμμ΄ λ¬Έμ λ₯Ό λ³Έ Google μ½λ λ¬Έμ μΆμ κΈ°μ κ²μνμ΅λλ€. λλ λν μ΄κ²μ CentOS 6μμ (ν¨μ μ΄ν) μ¬ν ν μμμμ΅λλ€.
λ¬Έμ λ 곡μ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ€μΉ ν ν μλ μμ± λ Makefile goopμ΄ ldconfig -n /usr/local/lib
μ€ννλ€λ κ²μ
λλ€. μ΄λ κ²νλ©΄ μλ‘ μ€μΉλ λΌμ΄λΈλ¬λ¦¬μ λν μΌλΆ μ¬λ³Όλ¦ λ§ν¬κ° λ€μ λΉλλ©λλ€. κ·Έλ¬λ ldconfig (8)μ λ°λ₯΄λ©΄ -n
-N
μλ―Ένλ©°, μ΄λ‘ μΈν΄ 곡μ λΌμ΄λΈλ¬λ¦¬ μΊμκ° λ€μ λΉλλμ§ μμ΅λλ€. μ΄λ μ νν μ°λ¦¬κ°λ³΄κ³ μλ λ¬Έμ μ
λλ€. μΈμμμ΄ ldconfig
λ₯Ό μ€ννλ©΄ μΊμκ° λ€μ μμ±λ©λλ€.
μ΄κ²μ automakeμ libtoolμ μ‘°ν©μ λν μ€λ λ¬Έμ μΈ κ² κ°μ΅λλ€.
ν κ°μ§ μ μμ src/Makefile.am
μ λ€μκ³Ό κ°μ΄ μΆκ°νλ κ²μ
λλ€.
install-exec-hook:
ldconfig
μ΄κ²μ λ¬Έμ λ₯Ό ν΄κ²° ν κ² κ°μ΅λλ€ ... make install
ν
μ€νΈ ν ν CentOS 6 λ° Ubuntu 12.04 LTSμμ iperf3 νΈμΆμ΄ λ°λ‘ μ΄μ΄μ‘μ΅λλ€.
μ΄κ²μ λΉ λ£¨νΈ μ¬μ©μλ‘ μ€μΉνλ €λ μ¬λλ€μκ² λͺ κ°μ§ λ¬Έμ λ₯Ό μΌμΌμΌ°μ΅λλ€ (μ¬μ© μ¬λ‘λ κ°μΈ λλ ν 리 κ³μΈ΅μ μ€μΉνκ±°λ λΉ λ£¨νΈ μ¬μ©μλ‘ RPMμ λΉλνλ κ²μ λλ€). κΈ°λ³Έμ μΌλ‘ νΈμΆ λ ldconfigλ μΆ©λΆν νμΌ κΆνμ΄ μκΈ° λλ¬Έμ 루νΈκ° μλ μ¬μ©μλ‘ μ€νλλ κ²μ μνμ§ μμ΅λλ€.
μλ§λ 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
(λ£¨νΈ νμ)λ₯Ό μ€ννλ©΄λ©λλ€.
Ubuntu μ¬μ©μκ° iperf3λ₯Ό μ€μΉν μ μλλ‘μ΄ λΉ λ₯Έ ν΄κ²° λ°©λ²μ μ μ©νμμμ€.
μ°Έμ‘° : http://stackoverflow.com/questions/4743233/is-usr-local-lib-searched-for-shared-libraries
"make install"ν ldconfigλ₯Ό μ€ννμ¬ λ¬Έμ λ₯Ό ν΄κ²°ν΄ μ£Όμ μ κ°μ¬ν©λλ€.
Debian 7.8 64Bit (wheezy) μ€ν. μ λͺ©μ λͺ μλλλ‘ λ¬Έμ κ° λ°μνλ©΄ μ€μΉ ν 'sudo ldconfig'λ₯Ό μ€ννμ¬ μ΄μ μ μμ μΌλ‘ μλν©λλ€. μ΄ μ€λ λμ λμμ κ°μ¬λ립λλ€.
μ°λΆν¬μ ν¨κ» μ΅μ λ²μ (3.1.3)μμ μ΄κ²μ μ¬μ©ν΄μΌνμ΅λλ€. μ΄κ²μ΄ λͺ¨λ μ°λΆν¬ λ²μ μ νμν μꡬ μ¬νμ΄λΌλ©΄ μ¬μ©μκ° Google / githubλ₯Ό κ²μ ν νμκ° μλλ‘ μ’ λ λͺ ννκ² λ§λλ κ²μ΄ μ’μ΅λλ€.
Ubuntu 16.04 (Xenial Xerus)μμλ λ§μ°¬κ°μ§μ
λλ€.
μ°λΆν¬λ λ κ°μ λκ΅°κ°κ° λ€μ κΈΈμ μμ§ μλ ν μ΄κ²μ λν κ²½κ³ μ νΈλ₯Ό λ§λλ κ²μ΄ μ’μ΅λλ€ ....
λꡬλ μ§ Mac OSXμ iperf3 μ€λ₯μ λν μμ μ¬νμ΄ μμ΅λκΉ? iperf3 3.2μμ Python λνΌλ₯Ό μ¬μ©νλ©΄ libiperf.so.0μ μ°Ύμ μ μμ΅λλ€.
@ jmack51 : Mac OSμλ *.so.0
곡μ λΌμ΄λΈλ¬λ¦¬κ° μμ΅λλ€ ... mac OSλ 곡μ λΌμ΄λΈλ¬λ¦¬μ *.dynlib
νμ₯μ μ¬μ©ν©λλ€. "νμ΄μ¬ λνΌ"κ° iperf3-pythonμ μ§μΉνλ κ²½μ°, κ·Έκ²μ λ³λμ νλ‘μ νΈμ΄κ³ μλ§μ΄ νλ‘μ νΈλ₯Ό κ°μ ΈμμΌ ν κ²μ
λλ€ (μ¬κΈ°μ λ²κ·Έκ° μλμ§ νμ€νμ§ μμ΅λλ€).
@ jmack51 : μ, 무μνμμμ€. thiezn / iperf3-pythonμμ μ΄λ―Έ λ¬Έμ λ₯Ό μ΄μλ κ³³μ λ΄ λλ€.
μ€νΈμ λν΄ μ£μ‘ν©λλ€. https://github.com/thiezn/iperf3-python/issues/23 μ κΈ°λ‘μ λν΄ κ°μ¬ν©λλ€.
μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ λ°©λ²μ λν μ’μ μμ΄λμ΄κ° μλλΌλμ΄ λ¬Έμ λ₯Ό λ€μ μ΄κ² μ΅λλ€. λ€μν μ¬μ© μ¬λ‘κ° μμ΅λλ€.
λλ 2014 λ
6 μ 10 μΌμ μ μν κ²κ³Ό κ°μ κ²μ μκ°νκ³ μμ§λ§ μ€λ₯ 쑰건μ 무μν©λλ€. λκ΅°κ°κ° ν¬λ‘μ€ μ»΄νμΌ μ¬λ‘μ λν΄ μΈκΈ ν μ μλ€λ©΄ μ’μ κ²μ
λλ€ ... λ€λ₯Έ νλ«νΌμ μν΄ ν¬λ‘μ€ μ»΄νμΌνλ κ²½μ° μ 체 make install
λ₯Ό μννμ¬ νμΌμ μ΄λκ°μ μ€ν
μ΄μ§νκ±°λ make compile
?
λλμ΄ λ¬Έμ μ λΆλͺ νκ³ λΉμ μ΄ λ΄κ° ν΄κ²°μ± μ μ°Ύλ λ° λμμ μ€ μ μκΈ°λ₯Ό λ°λΌκ³ μμλ€.
armv5 QNAP NASμμ iperf3λ₯Ό μ€ννλ €κ³ ν©λλ€.
λλ κ·Έκ²μ μ€μΉνλ€. νμ§λ§ μ€ννλ©΄ λ€μ λ¬Έμ κ° λ°μν©λλ€. iperf3: error while loading shared libraries: libiperf.so.0: cannot open shared object file: No such file or directory
ldconfig
(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
νκ³ _then_ 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 λΉλ νλ‘μΈμ€κ° μ€νλμ΄μΌ ν λͺ λ Ήμ μ μνλ λ©μμ§λ₯Ό μ½μμ λ£μ μ μλ€κ³ μ μν©λλ€. μΌλ¨ μ°λ¦¬κ° κ·Έκ²μ κ°μ§κ³ μ€μ λ‘ κ·Έκ²μνλ κ²μΌλ‘ λμ΄κ°μμμ€.
ldconfigλ₯Ό μ€ννλ λ° νμν (* nix) μμ€ν κ³Ό κ·Έλ μ§ μμ μμ€ν λͺ©λ‘μ΄ μμ΅λκΉ? macOS λ° Windowsλ μ€μΉ ν ldconfigλ₯Ό μ€νν νμκ°μλ λͺ©λ‘μ ν¬ν¨λ©λλ€.
μ μ³λκ³ , μ΄λ€ μμ€ν μ μ€ννλ λ° ldconfigκ° νμνμ§ μκ³ μ΄λ»κ² κ΄λ¦¬λλμ§ κΆκΈν©λλ€.
νμ. μ΄κ²μ μ μ μΌλ‘ iperf3 λ¬Έμ κ° μλλ©° λ€λ₯Έ λꡬλ μ΄μ λν μ’μ ν΄κ²°μ± μ κ°μ§κ³ μμ§ μμ κ² κ°μ΅λλ€. (λλ automakeμ libtoolμ μΌλΆ μ‘°ν©μ΄μ΄ λ¬Έμ λ₯Ό λ€λ£¨μ΄μΌνλ€κ³ κ°μ ν©λλ€.)
μ, libtool λ¬Έμ μ²λΌ 보μ λλ€. λ§μ§λ§μΌλ‘ μ΄κ²μ μΆμ νμ λ GNU λ²κ·Έ μΆμ κΈ°μμ λ€μμ λ°κ²¬νμ΅λλ€.
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30402
1997 λ μ libtool λ²μ ββ0.6bμ λν΄ 7f9b4e50μ 컀λ°ν©λλ€.
ldconfigκ° "-n"μμ΄ μ€νμμ "-n"μΌλ‘ μ€νμΌλ‘ λ³κ²½λμμ΅λλ€.
ν λ‘ μ λ°λ₯΄λ©΄ λ무 λ§μ μκ°μ΄ μ§λ¬κ³ λ³κ²½μ κ·Όκ±°μ λ³κ²½μΌλ‘ μΈν μν κ°λ₯μ±μ΄ μ λλ‘ μ΄ν΄λμ§ μμκΈ° λλ¬Έμ μ΄κ²μ΄ λλ릴 κ² κ°μ§ μμ΅λλ€. λκ΅°κ° λ―Έλμμ΄ λ¬Έμ λ₯Ό λ°κ²¬νκ³ μ΄μ¨λ μμ μ μλνκ³ μΆλ€λ©΄ μ¬λ°λ₯΄κ² μν ν μμμ κ²μ λλ€.
κ°μ₯ μ μ©ν λκΈ
μ λ°μ΄νΈ : λκ΅°κ° (λκ΅°μ§ μμ΄ λ²λ Έμ΅λλ€)κ° Ubuntu Trusty (14.04 LTS)μμμ΄ λ¬Έμ λ₯Ό λ³Έ Google μ½λ λ¬Έμ μΆμ κΈ°μ κ²μνμ΅λλ€. λλ λν μ΄κ²μ CentOS 6μμ (ν¨μ μ΄ν) μ¬ν ν μμμμ΅λλ€.
λ¬Έμ λ 곡μ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ€μΉ ν ν μλ μμ± λ Makefile goopμ΄
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- or-di-td3970.html
ν κ°μ§ μ μμ
src/Makefile.am
μ λ€μκ³Ό κ°μ΄ μΆκ°νλ κ²μ λλ€.