NS2之 glibc detected 事出有因

      今天自己在ns2中添加协议过程,出现段错误,想用gdb调试,上网google下,发现只需加入-g参数就可以了,学长提醒我,直接在./configure --enable-debug就可以在不直接修改Makefile的情况下进行调试支持,其实相当于这一步将-g加入了Makefile,但是还有错误,是“warning as error”,解决方法是,把 -Werror参数去掉,因为这个参数是提醒编译器,把warning当作error来看待。这都不是问题。最大的问题是“*** glibc detected *** /usr/local/bin/ns: realloc(): invalid next size: 0x08609350 ***”。这个问题大了,提醒的内容有限。我推测如下:

1.gcc版本太高,运行时库和ns2的不兼容

2.环境变量配置不正确

      第一个方案可以否定,一般情况下如果运行时库不兼容,在编译阶段就提示了。而我编译通过了,而环境变量配置我也一一对照了。我暂时放弃了,今天又开始打开,想在不同目录下对ns进行gdb调试,令人惊喜的是在ns-2.34下竟然有一次成功了,但直接ns命令依然是上面的错误。明白了,make install实际上是将bin下的ns等复制到/usr/local/bin等相关路径下了,但是我重新make后的ns没有覆盖掉以前的ns,而以前的ns路径又是环境变量中最先找的路径,导致ns和.o不匹配了,只要重新make install一下就OK了

你可能感兴趣的:(lib)