deb http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu/ maverick main universe restricted multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu/ maverick main universe restricted multiverse
deb http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu/ maverick-security universe main multiverse restricted
deb-src http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu/ maverick-security universe main multiverse restricted
deb http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu/ maverick-updates universe main multiverse restricted
deb http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu/ maverick-proposed universe main multiverse restricted
deb-src http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu/ maverick-proposed universe main multiverse restricted
deb http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu/ maverick-backports universe main multiverse restricted
deb-src http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu/ maverick-backports universe main multiverse restricted
deb-src http://mirrors.ustc.edu.cn/ubuntu-old-releases/ubuntu/ maverick-updates universe main multiverse restricted
git clone git://gitosis.stanford.edu/mnox.git
3.这步比较费时
sudo apt-get install automake m4 libtool openssl libssl-dev libboost-dev python-simplejson
sudo apt-get install libboost-filesystem-dev libxerces-c2-dev python-dev libboost-thread1.40.0
sudo apt-get install libboost-serialization-dev libsqlite3-dev libreadline-dev python-sphinx
sudo apt-get install libboost-test1.40-dev libboost-all-dev libxml2-dev swig libboost-system-dev
4.
cd mnox/ ./boot.sh ./configure --with-python=yes cd src/ make
make出错
解决方案:
安装MPLS-TE示例 - martin2350的专栏 - 博客频道 - CSDN.NET
http://blog.csdn.net/martin2350/article/details/8125945
~/mnox/src/lib
sudo gedit async_io.cc
#include
后还是出现错误还是在需要的地方添加上
#include以下地方:
cd ~/mnox/src/include/netinet++
#include
sudo gedit ethernetaddr.hh
sudo gedit datapathid.hh
cd ~/mnox/src/include
sudo gedit cnode.hh
string.cc:33: error: ‘vsnprintf’ was not declared in this scope
sudo gedit string.hh
cd ~/mnox/src/lib
ssl-config.cc:126: error: ‘uint32_t’ was not declared in this scope
#include
threads/impl.cc:1306: error: ‘rename’ was not declared in this scope
cd ~/mnox/src/lib/threads
#include
sudo gedit impl.cc
sudo gedit native.ccsudo gedit signals.cc
cd ~/mnox/src/lib
sudo gedit netlink.cc
pyrt.cc:182: error: ‘PySwigObject’ was not declared in this scope
下载补丁文件pyname_patch.py 到mnox/src文件夹下
执行
find -name *.cc | xargs python pyname_patch.py find -name *.hh | xargs python pyname_patch.py
pyrt.cc:182: error: ‘PySwigObject’ was not declared in this scope
find -name pyrt.cc|xargs python pyname_patch.py
find -name pycontext.cc|xargs python pyname_patch.py
find -name pyglue.cc|xargs python pyname_patch.py
find -name oxidereactor.cc|xargs python pyname_patch.py
find -name simple_cc_py_proxy.cc|xargs python pyname_patch.py
find -name pyagg_util.cc|xargs python pyname_patch.py
find -name pyaggutil_wrap.cc|xargs python pyname_patch.py
find -name pyflow_util.cc|xargs python pyname_patch.py
find -name pyflowutil_wrap.cc|xargs python pyname_patch.py
find -name pyname_manager.cc|xargs python pyname_patch.py
find -name pyauth.cc|xargs python pyname_patch.py
find -name apdb_proxy.cc|xargs python pyname_patch.py
find -name pyauth_wrap.cc|xargs python pyname_patch.py
find -name pyrouting.cc|xargs python pyname_patch.py
find -name pynat_enforcer.cc|xargs python pyname_patch.py
find -name user_event_log_proxy.cc|xargs python pyname_patch.py
find -name pystorage.cc|xargs python pyname_patch.py
find -name pytransactional-storage.cc|xargs python pyname_patch.py
find -name pytopology.cc|xargs python pyname_patch.py
find -name pylinkevent_wrap.cc|xargs python pyname_patch.py
find -name pydirmanager.cc|xargs python pyname_patch.py
find -name pydirmanager_wrap.cc|xargs python pyname_patch.py
find -name pynetinfo_mod_event_wrap.cc|xargs python pyname_patch.py
find -name bindings_storage_proxy.cc|xargs python pyname_patch.py
find -name cswitchstats_proxy.cc|xargs python pyname_patch.py
find -name lavi_proxy.cc|xargs python pyname_patch.py
find -name apdb_proxy.cc|xargs python pyname_patch.py
After that:
nox_main.cc:164: error: ‘umask’ was not declared in this scope
cd ~/mnox/src
#include
mnox is OK!只是编译通过
运行出现如下问题:
./nox_core -v -i ptcp mpls
00001|nox|DBG:Starting nox_core (/home/m/mnox/src/.libs/lt-nox_core)
00002|kernel|DBG:Assigned a new UUID for the container: c6912f6c15becdbe
00003|nox|ERR:Cannot change the state of 'python' to INSTALLED:
'python' ran into an error:
Unable to construct a Python component:
Traceback (most recent call last):
File "./nox/coreapps/pyrt/pyoxidereactor.py", line 327, in instance
return pyoxidereactor(ctxt)
File "./nox/coreapps/pyrt/pyoxidereactor.py", line 102, in __init__
signal.signal(signal.SIGCHLD, self._handleSigchld)
AttributeError: 'pyoxidereactor' object has no attribute '_handleSigchld'
修改./nox/coreapps/pyrt/pyoxidereactor.py文件的第102行如下,注意对齐:
# signal.signal(signal.SIGCHLD, self._handleSigchld)
signal.signal(signal.SIGCHLD, lambda : self.callLater(0,reapAllProcesses))
ok now!二:安装mininet
git clone git://github.com/mininet/mininet
cd mininet/
git tag
git checkout -b 1.0.0 1.0.0
cd ..
~/mininet/util$ ./install.sh -n
sudo: aptitude: command not found
sudo apt-get install aptitude
./install.sh -n(安装耗时)
sudo mn
Cannot find required executable ovs-dpctl.
Please make sure that Open vSwitch (openvswitch.org) is installed and available in your $PATH:
(/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin)
三:安装 movs
cd ~ git clone git://gitosis.stanford.edu/movs.git cd movs ./boot.sh ./configure make sudo make installchange git://openflowswitch.org/mininet.git by editing the file ~/mininet/.git/config
~/mininet/.git$ sudo gedit config
url = git://openflowswitch.org/mininet.git
cd ~/mininet git fetch git checkout lantz/userovs sudo make install四:安装GUI
git clone git://gitosis.stanford.edu/envi-mpls.git
cd envi-mpls/gui/ make
~/envi-mpls/gui$ make
/bin/sh: ant: not found
sudo apt-get install ant(要下载很多东西,安装过程较长,网速给力的情况下可以很快)
再make
:~/envi-mpls/gui$ make
Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk/lib/tools.jar
Buildfile: /home/m/envi-mpls/gui/build.xml
init:
[mkdir] Created dir: /home/m/envi-mpls/gui/bin
[copy] Copying 16 files to /home/m/envi-mpls/gui/bin
[mkdir] Created dir: /home/m/envi-mpls/gui/bin/images
[copy] Copying 14 files to /home/m/envi-mpls/gui/bin/images
[unzip] Expanding: /home/m/envi-mpls/gui/lib/jcommon-1.0.15.jar into /home/m/envi-mpls/gui/bin
[unzip] Expanding: /home/m/envi-mpls/gui/lib/jfreechart-1.0.12.jar into /home/m/envi-mpls/gui/bin
[unzip] Expanding: /home/m/envi-mpls/gui/lib/jung2-layout-min.jar into /home/m/envi-mpls/gui/bin
[unzip] Expanding: /home/m/envi-mpls/gui/lib/jyaml-1.3.dgu.jar into /home/m/envi-mpls/gui/bin
[delete] Deleting directory /home/m/envi-mpls/gui/bin/META-INF
build:
[javac] /home/m/envi-mpls/gui/build.xml:40: warning: 'includeantruntime' was
not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
[javac] Compiling 124 source files to /home/m/envi-mpls/gui/bin
BUILD FAILED
/home/m/envi-mpls/gui/build.xml:40: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/lib/jvm/java-6-openjdk/jre"
Total time: 0 seconds
make: *** [jar] Error 1
BUILD FAILED
/home/m/envi-mpls/gui/build.xml:40: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK.
It is currently set to "/usr/lib/jvm/java-6-openjdk/jre"
Total time: 0 seconds
make: *** [jar] Error 1
sudo apt-get install openjdk-6-jdkexport JAVA_HOME="/usr/lib/jvm/java-6-openjdk"
bash: /usr/lib/jvm/java-6-openjdk: is a directory(已醉)没加”“
修改过环境变量后/etc/profile文件后还是
java -jar bin/openflow_gui.jar 127.0.0.1
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007fa12da58de0, pid=2284, tid=140330234332944
#
# JRE version: 6.0_20-b20
# Java VM: OpenJDK 64-Bit Server VM (19.0-b09 mixed mode linux-amd64 compressed oops)
# Derivative: IcedTea6 1.9.13
# Distribution: Ubuntu 10.10, package 6b20-1.9.13-0ubuntu1~10.10.1
# Problematic frame:
# C [ld-linux-x86-64.so.2+0x15de0]
#
# An error report file with more information is saved as:
# /home/mpls/envi-mpls/gui/hs_err_pid2284.log
#
# If you would like to submit a bug report, please include
# instructions how to reproduce the bug and visit:
# https://bugs.launchpad.net/ubuntu/+source/openjdk-6/
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Aborted
~/envi-mpls/gui$ java -d32 -jar bin/openflow_gui.jar 127.0.0.1
This Java instance does not support a 32-bit JVM.
Please install the desired version.
切换成sun JDK之后是这样:
sudo update-alternatives --config java
java -d32 -jar bin/openflow_gui.jar 127.0.0.1
Running a 32-bit JVM is not supported on this platform64bit和32bit的问题
错误依旧存在
安装java version "1.8.0_45"32bit
此错误解决