티스토리 뷰



Bandwidth 측정 tool인 iperf compile시에 아래와 같은 오류를 만날 때가 있습니다,
사실.. 포스팅 할 내용도 아니지만.. 혹시라도 검색의 힘을 빌리는 개발자가 있다면..
약간의 도움이라도 주고자 포스팅...!

오류 내용은 아래와 같습니다.

[root@app32 iperf-2.0.4]$ make
make  all-recursive
make[1]: Entering directory `/root/app/iperf/iperf-2.0.4'
Making all in compat
make[2]: Entering directory `/root/app/iperf/iperf-2.0.4/compat'
make[2]: `all'를 위해 할 일이 없습니다
make[2]: Leaving directory `/root/app/iperf/iperf-2.0.4/compat'
Making all in doc
make[2]: Entering directory `/root/app/iperf/iperf-2.0.4/doc'
make[2]: `all'를 위해 할 일이 없습니다
make[2]: Leaving directory `/root/app/iperf/iperf-2.0.4/doc'
Making all in include
make[2]: Entering directory `/root/app/iperf/iperf-2.0.4/include'
make[2]: `all'를 위해 할 일이 없습니다
make[2]: Leaving directory `/root/app/iperf/iperf-2.0.4/include'
Making all in src
make[2]: Entering directory `/root/app/iperf/iperf-2.0.4/src'
mips64-octeon-linux-gnu-g++ -mabi=n32 -Wall -O2    -o iperf -O2  -pthread  -DHAVE_CONFIG_H Client.o Extractor.o Launch.o List.o Listener.o Locale.o PerfSocket.o ReportCSV.o ReportDefault.o Reporter.o Server.o Settings.o SocketAddr.o gnu_getopt.o gnu_getopt_long.o main.o service.o sockets.o stdio.o tcp_window_size.o ../compat/libcompat.a
ReportCSV.o: In function `CSV_peer':
ReportCSV.c:(.text+0x94): undefined reference to `rpl_malloc'
Reporter.o: In function `ReportServerUDP':
Reporter.c:(.text+0x103c): undefined reference to `rpl_malloc'
Reporter.o: In function `ReportSettings':
Reporter.c:(.text+0x1300): undefined reference to `rpl_malloc'
Reporter.o: In function `InitReport':
Reporter.c:(.text+0x1914): undefined reference to `rpl_malloc'
Reporter.c:(.text+0x1b30): undefined reference to `rpl_malloc'
Reporter.o:Reporter.c:(.text+0x1da8): more undefined references to `rpl_malloc' follow
collect2: ld returned 1 exit status
make[2]: *** [iperf] 오류 1
make[2]: Leaving directory `/root/app/iperf/iperf-2.0.4/src'
make[1]: *** [all-recursive] 오류 1
make[1]: Leaving directory `/root/app/iperf/iperf-2.0.4'
make: *** [all] 오류 2
[root@app32 iperf-2.0.4]$

 
관련된 내용을 수정하기 위해 바로 코드를 살펴봅니다, (config.h.in)

/* Define to rpl_malloc if the replacement function should be used. */
#undef malloc


내부적으로 rpl_malloc은 malloc과 연계성을 갖고 있는데,
위와 같이 malloc을 undef 시켜버리기 때문에 compile 시에 오류가 출력됩니다.

해당 라인(#undef malloc) 주석 처리하고 re-compile하게 되면
정상적으로 동작하는것을 확인할 수 있습니다.

댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday