歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

在 Ubuntu 11.04中安裝ns-2.33出現的錯誤及其解決方法

在Ubuntu 11.04中安裝ns-2.33,以前在Ubuntu-10.10安裝ns-2.33沒有遇到過這種錯誤,後來升級了一下Ubuntu的版本,就會出現以下錯誤。

 

可參考以下網址上說的解決方法:

http://www.linuxidc.com/Linux/2011-06/36779p3.htm

 

1.錯誤一:安裝NS2.33過程中出現如下的錯誤:

 

tools/ranvar.cc: In member function ‘virtual double GammaRandomVariable::value()’:

tools/ranvar.cc:219:70: error: cannot call constructor ‘GammaRandomVariable::GammaRandomVariable’ directly

tools/ranvar.cc:219:70: error:  for a function-style cast, remove the redundant ‘::GammaRandomVariable’

make: *** [tools/ranvar.o]錯誤1

Ns make failed!

See http://www.isi.edu/nsnam/ns/ns-problems.html for problems

 

這是由於gcc版本提高後對類內部函數調用的簡化造成的不兼容,解決方法如下:

 

在ns-allinone-2.33/ ns-2.33/tools文件夾下,找到報錯提示中的ranvar.cc文件,打開找到對應的219行刪除::GaammaRandomVariable,保存,

即:將219行的

return GammaRandomVariable::GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);

改為:

return GammaRandomVariable(1.0 + alpha_, beta_).value() * pow (u, 1.0 / alpha_);

 

-----------------------------------------------------------------------------------------------------------------------------------------------

2.錯誤二:重新在ns目錄下鍵入$ ./install安裝,再次出現同類問題時,

如:

mobile/nakagami.cc: In member function ‘virtual double Nakagami::Pr(PacketStamp*, PacketStamp*, WirelessPhy*)’:

mobile/nakagami.cc:183:73: error: cannot call constructor ‘ErlangRandomVariable::ErlangRandomVariable’ directly

mobile/nakagami.cc:183:73: error:  for a function-style cast, remove the redundant ‘::ErlangRandomVariable’

mobile/nakagami.cc:185:67: error: cannot call constructor ‘GammaRandomVariable::GammaRandomVariable’ directly

mobile/nakagami.cc:185:67: error:  for a function-style cast, remove the redundant ‘::GammaRandomVariable’

make: *** [mobile/nakagami.o]錯誤1

Ns make failed!

See http://www.isi.edu/nsnam/ns/ns-problems.html for problems

 

解決方法:

在ns-allinone-2.33/ ns-2.33/ mobile文件夾下,找到報錯提示中的nakagami.cc文件,打開找到對應的183行刪除::ErlangRandomVariable,保存,

即:將183行的

resultPower = ErlangRandomVariable::ErlangRandomVariable(Pr/m, int_m).value();

改為:

resultPower = ErlangRandomVariable(Pr/m, int_m).value();

在ns-allinone-2.33/ ns-2.33/ mobile文件夾下,找到報錯提示中的nakagami.cc文件,打開找到對應的185行刪除::GammaRandomVariable,保存,

即:將185行的

resultPower = GammaRandomVariable::GammaRandomVariable(m, Pr/m).value();

改為:

resultPower = GammaRandomVariable(m, Pr/m).value();

 

重新在ns目錄下鍵入$ ./install安裝,再次出現同類問題時,仿照此次解決方法,找到對應的文件和行數,修改即可。直到安裝成功。

Copyright © Linux教程網 All Rights Reserved