SDN控制器之旅(一)——NOX环境搭建

看了师兄的博客http://blog.csdn.net/gulansheng/article/details/42710861,想试验一下,于是想自己搭建一个NOX出来,做一做博客里面的实验,结果···确实很繁琐
虚拟机环境 ubantu 12.04
先从github上下了一个NOX,参照里面有个install说明安装(因为当时没找到wiki地址),有如下指令:

./boot.sh
mkdir build/
cd build/
../configure
make -j

后来才知道WIKI地址是:https://github.com/noxrepo/nox-classic/wiki (现在说后悔也没用,心虽然很痛)然后按照如上五条挨着做,但是道路曲折
第一次 ./boot.sh
问题:缺少maketools(我是装的ubantu 12.04裸机,估计什么工具都没有,读者可能并没有这个问题,可忽略)
解决:sudo apt-get install autoconf

第二次 ./boot.sh
问题:Can’t exec “libtoolize”: 没有那个文件或目录 at /usr/bin/autoreconf line 196.
Libtool library used but `LIBTOOL’ is undefined
解决:可能没有装aclocal
查看aclocal的路径 aclocal –print-ac-dir
在/usr/share/aclocal中未找到libtool.m4 ,网上给出的都是“将相应的*.m4”文件放进去这类模糊的说法
find .-name libtool.m4
并没找到
sudo apt-get install libtool
再次查找有了 libtool.m4

第三次 ./boot.sh
You should add the contents of m4/libtool.m4' toaclocal.m4’
类似的信息,但是没有提示错误,应该是安装好了

接着运行三条:
mkdir build/
cd build/
(这两条是不会有问题的- -)
../configure
问题:configure: error: no support for C++0x
解决:初步判断是没有g++,安装一下试试(真是裸机)
sudo apt-get install g++
成功是成功了,然后又有了新的问题–
问题:configure: error: cannot find the OpenSSL library

checking for openssl/ssl.h in /usr/local/ssl… no
checking for openssl/ssl.h in /usr/lib/ssl… no
checking for openssl/ssl.h in /usr/ssl… no
checking for openssl/ssl.h in /usr/pkg… no
checking for openssl/ssl.h in /usr/local… no
checking for openssl/ssl.h in /usr… no

解决:估计是没有这个.h文件,刚开始想下载最新的openssl来装,但是没找到安装的教程,作为一个Linux菜鸟,我还是选择继续搜索类似的问题,终于找到如下方案:
解决:
sudo apt-get install openssl
sudo apt-get install libssl-dev
更新了当前的openssl,并且加入了可引用的lib环境,也就是说之前没有的ssl.h之类的文件有了。
现在回到上一步,再次configure一下

相似的遭遇–:
问题:
ecking for tbb/tbb.h in /usr… no
checking for tbb/tbb.h in /usr/local… no
checking for tbb/tbb.h in /opt… no
checking for tbb/tbb.h in /opt/local… no

解决:
link1:https://launchpad.net/ubuntu/+source/tbb/4.3~20150316-0ubuntu1
link2:http://blog.csdn.net/stormbjm/article/details/13612401
按照上面的教程 执行到make时,先提示
问题:g++ -O2 -DNDEBUG -o square square.cpp gen_input.cpp -ltbb -lrt
square.cpp:25:26: 致命错误: tbb/pipeline.h:没有那个文件或目录
解决:将上层文件夹中的tbb文件夹考到square文件夹中,解决,继续

问题:g++ -O2 -DNDEBUG -o square square.cpp gen_input.cpp -ltbb -lrt
/usr/bin/ld: cannot find -ltbb

解决:sudo apt-get install libtbb-dev
g++ -O2 -DNDEBUG -o square square.cpp gen_input.cpp -ltbb -lrt
./square 0 input.txt output.txt
serial run time = 1.34199
parallel run time = 1.14308
elapsed time : 3.37606 seconds
得到link2中的结果

现在把tbb安装好了,回到上一级继续configure
成功了!下一步

make -j

问题:
../../src/include/vlog.hh:32:33: fatal error: boost/noncopyable.hpp: No such file or directory
../../src/include/network_oarchive.hh:5:36: fatal error: boost/asio/streambuf.hpp: No such file or directory
../../src/include/network_iarchive.hh:5:36: fatal error: boost/asio/streambuf.hpp: No such file or directory
../../src/include/vlog.hh:32:33: fatal error: boost/noncopyable.hpp: No such file or directory
fault.cc:30:28: fatal error: boost/format.hpp: No such file or directory
compilation terminated.
connection.cc:23:30: fatal error: boost/asio/ssl.hpp: No such file or directory
compilation terminated.

解决:
缺少boost库
安装步骤:http://blog.csdn.net/yhrun/article/details/8099630
下载:
http://sourceforge.net/projects/boost/files/boost/1.57.0/boost_1_57_0.tar.gz/download
安装会花费较长时间,安装完成后回到make

第二次make -j
没什么问题,但是由于笔者笔记本跑虚拟机,跑了不知多久,等有结果再来更新,至此笔者已经算配好了环境,如果make -j无响应,接下来的实验将考虑重新装一个集成好环境的来做。
总结:关于SDN控制器,搭环境这一块确实很繁琐,一个NOX,如果像笔者这般对LINUX不熟的话,搭个环境就把自己的好几天给搭进去了,当然跟电脑的性能也有关系,本来配置不好的笔记本再开虚拟机,笔者也是很拼的- -

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值