http://www.unixdo.com/Unix_Linux/2041.html 【试验可行】
备份好原来系统里的源列表
sudo gedit /etc/apt/sources.list
复制中科大Ubuntu 10.10源列表到你的列表中,然后保存列表。
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
sudo apt-get update 更新源列表信息
在运行“sudo apt-get update ”时查看一下错误信息,把不能连接的源删除再重新运行“sudo apt-get update ”。
sudo apt-get upgrade 升级
用ubuntu自带的更新管理器升级也可以
git clone git://gitosis.stanford.edu/mnox.git
3.这步比较费时
sudo apt-get install automake m4 libtool openssl libssl-dev libboost-dev python-simplejson4.sudo apt-get install libboost-filesystem-dev libxerces-c2-dev python-dev libboost-thread1.40.0sudo apt-get install libboost-serialization-dev libsqlite3-dev libreadline-dev python-sphinxsudo apt-get install libboost-test1.40-dev libboost-all-dev libxml2-dev swig libboost-system-dev
cd mnox/ ./boot.sh ./configure --with-python=yes cd src/ makemake出错
解决方案:
安装MPLS-TE示例 - martin2350的专栏 - 博客频道 - youkuaiyun.com
http://blog.youkuaiyun.com/martin2350/article/details/8125945
~/mnox/src/lib
sudo gedit async_io.cc
#include <cstdio>
后还是出现错误还是在需要的地方添加上#include <cstdio>以下地方:cd ~/mnox/src/include/netinet++#include <cstdio>sudo gedit ethernetaddr.hhsudo gedit datapathid.hhcd ~/mnox/src/includesudo gedit cnode.hhstring.cc:33: error: ‘vsnprintf’ was not declared in this scopesudo gedit string.hhcd ~/mnox/src/libssl-config.cc:126: error: ‘uint32_t’ was not declared in this scopesudo gedit signals.cc#include <stdint.h>threads/impl.cc:1306: error: ‘rename’ was not declared in this scopecd ~/mnox/src/lib/threads#include <cstdio>sudo gedit impl.ccsudo gedit native.cccd ~/mnox/src/libsudo gedit netlink.ccpyrt.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.pypyrt.cc:182: error: ‘PySwigObject’ was not declared in this scopefind -name pyrt.cc|xargs python pyname_patch.pyfind -name pycontext.cc|xargs python pyname_patch.pyfind -name pyglue.cc|xargs python pyname_patch.pyfind -name oxidereactor.cc|xargs python pyname_patch.pyfind -name simple_cc_py_proxy.cc|xargs python pyname_patch.pyfind -name pyagg_util.cc|xargs python pyname_patch.pyfind -name pyaggutil_wrap.cc|xargs python pyname_patch.pyfind -name pyflow_util.cc|xargs python pyname_patch.pyfind -name pyflowutil_wrap.cc|xargs python pyname_patch.pyfind -name pyname_manager.cc|xargs python pyname_patch.pyfind -name pyauth.cc|xargs python pyname_patch.pyfind -name apdb_proxy.cc|xargs python pyname_patch.pyfind -name pyauth_wrap.cc|xargs python pyname_patch.pyfind -name pyrouting.cc|xargs python pyname_patch.pyfind -name pynat_enforcer.cc|xargs python pyname_patch.pyfind -name user_event_log_proxy.cc|xargs python pyname_patch.pyfind -name pystorage.cc|xargs python pyname_patch.pyfind -name pytransactional-storage.cc|xargs python pyname_patch.pyfind -name pytopology.cc|xargs python pyname_patch.pyfind -name pylinkevent_wrap.cc|xargs python pyname_patch.pyfind -name pydirmanager.cc|xargs python pyname_patch.pyfind -name pydirmanager_wrap.cc|xargs python pyname_patch.pyfind -name pynetinfo_mod_event_wrap.cc|xargs python pyname_patch.pyfind -name bindings_storage_proxy.cc|xargs python pyname_patch.pyfind -name cswitchstats_proxy.cc|xargs python pyname_patch.pyfind -name lavi_proxy.cc|xargs python pyname_patch.pyfind -name apdb_proxy.cc|xargs python pyname_patch.pyAfter that:nox_main.cc:164: error: ‘umask’ was not declared in this scopecd ~/mnox/src#include<sys/stat.h>mnox is OK!只是编译通过运行出现如下问题:./nox_core -v -i ptcp mpls00001|nox|DBG:Starting nox_core (/home/m/mnox/src/.libs/lt-nox_core)00002|kernel|DBG:Assigned a new UUID for the container: c6912f6c15becdbe00003|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 instancereturn 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!二:安装mininetgit clone git://github.com/mininet/mininetcd mininet/git taggit checkout -b 1.0.0 1.0.0cd ..~/mininet/util$ ./install.sh -nsudo: aptitude: command not foundsudo apt-get install aptitude./install.sh -n(安装耗时)sudo mnCannot 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)三:安装movscd ~ 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 configurl = git://openflowswitch.org/mininet.gitcd ~/mininet git fetch git checkout lantz/userovs sudo make install四:安装GUIgit clone git://gitosis.stanford.edu/envi-mpls.gitcd envi-mpls/gui/ make~/envi-mpls/gui$ make/bin/sh: ant: not foundsudo apt-get install ant(要下载很多东西,安装过程较长,网速给力的情况下可以很快)再make:~/envi-mpls/gui$ makeUnable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk/lib/tools.jarBuildfile: /home/m/envi-mpls/gui/build.xmlinit:[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-INFbuild:[javac] /home/m/envi-mpls/gui/build.xml:40: warning: 'includeantruntime' wasnot set, defaulting to build.sysclasspath=last; set to false for repeatable builds[javac] Compiling 124 source files to /home/m/envi-mpls/gui/binBUILD 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 secondsmake: *** [jar] Error 1BUILD 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 secondsmake: *** [jar] Error 1sudo 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.1This Java instance does not support a 32-bit JVM.Please install the desired version.切换成sun JDK之后是这样:sudo update-alternatives --config javajava -d32 -jar bin/openflow_gui.jar 127.0.0.1Running a 32-bit JVM is not supported on this platform64bit和32bit的问题错误依旧存在安装java version "1.8.0_45"32bit此错误解决
本文详细介绍了如何在Ubuntu 10.10环境下安装mnox和mininet,并提供了解决安装过程中遇到的问题的方法,包括配置更新源、安装依赖包、编译和配置mnox以及解决GUI安装中的问题。

被折叠的 条评论
为什么被折叠?



