歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu 9.10 安裝NS2-2.33中ld: final link failed: Nonrepresentable section on output錯誤的處理

Ubuntu 9.10 安裝NS2-2.33中ld: final link failed: Nonrepresentable section on output錯誤的處理

日期:2017/2/28 16:38:22   编辑:Linux教程

在最近的一次NS2-2.33安裝過程中,出現了點問題,就是說一開始在Ubuntu 9.04下安裝,順利結束,後來升級部分軟件(我使用的免費光盤安裝的Ubuntu)後,重新安裝NS2竟然不能編譯了。老是出現類似問題:

/home/gang/ns-allinone-2.33/otcl-1.13/otcl.c:2284: undefined reference to `__stack_chk_fail_local'ld: libotcl.so: hidden symbol `__stack_chk_fail_local' isn't definedld: final link failed: Nonrepresentable section on outputmake: *** [libotcl.so] 錯誤 1otcl-1.13 make failed! Exiting ...這個問題出現得很郁悶,想了好久也沒頭緒。終於在一篇NsNam bug報告中,發現問題所在。原來是ld的問題,在gcc 4.0版本以前是用ld -share來生成共享庫,但是到了4.0以及以上版本,這個命令改為了gcc -share。好了,問題找到了,就知道該怎麼處理了。

進入otcl-1.13目錄,找到configure.in.因為我用的是ubuntu,所以只改Linux平台部分就得,
將77行,
SHLIB_LD="ld -shared"
改為
SHLIB_LD="gcc -shared"
同時修改configure 第5518行
SHLIB_LD="ld -shared"
改為
SHLIB_LD="gcc -shared"
重新./install
好了,沒有問題了。

Copyright © Linux教程網 All Rights Reserved