我已经在我的 ubuntu 上使用 ns2
和 nam
很长时间了。现在我必须对它应用一个补丁(OSPF
)。我一直在寻找如何在 linux 中应用补丁(因为我是新手),我得到的只是:
1) $ tar xvf ns-allinone-2.35.tar.gz
2) $ cd ns-allinone-2.35/
3) $ ln -s ns-2.35/ ns-2.34
... Then the patch will work, except for one line. (commom/packet.h).
4) $ patch -p0 < 10-ospf4ns2.34-base.patch
http://sourceforge.net/projects/ospf4ns/
5) Replace commom/packet.h with the attached "packet.h" : Edited by hand.
6) export CC=gcc44 CXX=g++44 && ./install
我解压缩了tar文件,将.patch
文件复制到名为10-ospf4ns2.34-base.patch
的ns-allinone-2.35
文件夹中,转到终端中的目录,使用ln -s ns-2.35/ ns-2.34
,然后使用行4
进行修补。之后,我收到以下消息:
The next patch would create the file ns-2.34/classifier/classifier-mtopology.cc,
which already exists! Assume -R? [n] y
patching file ns-2.34/classifier/classifier-mtopology.cc
The next patch would create the file ns-2.34/classifier/classifier-mtopology.h,
which already exists! Assume -R? [n] y
patching file ns-2.34/classifier/classifier-mtopology.h
can't find file to patch at input line 92
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- ns-2.34.old/common/agent.cc 2009-06-14 18:35:45.000000000 +0100
|+++ ns-2.34/common/agent.cc 2010-02-26 23:34:33.161063590 +0000
--------------------------
File to patch:
在这之后,我不知道该怎么办。我应该修补什么文件?ns-2.34
没有classifier-mtopology.h
.之后,我应该用指定的新packet.h
替换哪个packet.h
?因为有几个common
文件夹。任何帮助将不胜感激,因为我是 Linux 的新手。
看起来您之前已经应用了补丁(至少部分应用),并且您不在正确的目录中。
重新开始,您也可以使用以下说明避免符号链接:
-
在一个新的目录中提取ns-allinone-2.35.tar.gz。
-
CD NS-Allinone-2.35/NS-2.35
-
使用以下命令应用修补程序:
补丁 -P1 <10-OSPF4NS2.34-base.patch