ubuntu ns-3编译

在Ubuntu 14.04上,使用ns-3的build.py编译遇到权限问题,部分模块未成功编译。通过运行`./wafclean`尝试清除缓存,但遇到'permission denied'错误。问题根源在于.waf临时文件的权限。删除.waf缓存文件后,尝试以root权限解决权限问题,最终成功编译。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ubuntu 14.04 


在官网上下载https://www.nsnam.org/ns-3-24/后照着相关书籍和官方tutorial安装有关依赖后开始编译,首先使用build.py编译成功,除了三个模块以外,但这不影响使用,除非将来会用到这些模块

Tutorial中还可以使用waf工具进行编译 首先建议清除第一次编译留下来的配置使用 ./wafclean 命令 最后出现了

### 安装NS-3网络模拟器 #### 准备工作 为了确保顺利安装NS-3,在Ubuntu环境下需先更新系统并安装必要的依赖包。这一步骤至关重要,因为缺少某些库可能导致编译失败。 ```bash sudo apt update && sudo apt upgrade -y sudo apt install build-essential autoconf automake libxmu-dev g++ python3 python3-setuptools git-core cmake p7zip-full qtbase5-dev qtchooser qt5-qmake qtbase5-dev-tools gir1.2-goocanvas-2.0 python3-gi python3-gi-cairo python3-pip gdb valgrind wireshark uncrustify doxygen graphviz imagemagick texlive texinfo latexmk dvipng pylint python3-tk perl tcpdump sqlite3 ethtool nmap iperf lsof ssh openssh-server screen ccache curl wget rsync pbuilder debootstrap pkg-config cppcheck sloccount lcov bison flex ruby r-base gnuplot-nox octave libboost-all-dev openmpi-bin openmpi-common openmpi-doc libopenmpi-dev libc6-dev-i386 linux-libc-dev htop ncurses-term tcl8.6 tk8.6 tcl8.6-dev tk8.6-dev expect dpkg-dev dctrl-tools nano vim emacs ed diffutils lrzsz libxml2-utils dos2unix bridge-utils ebtables iptables arping telnet netcat-traditional socat tcptraceroute dnsutils bind9-host traceroute whois sipcalc mtr-tiny ntpdate augeas-lenses apparmor-profiles apport-symptoms apt-listchanges aspell aspell-en at bc blt bubblewrap bzr check chntpw cups-client dash db-util debhelper debian-keyring desktop-file-utils dh-autoreconf dh-strip-nondeterminism diffstat distro-info docbook-xml docbook-xsl dopewars dpkg dpkg-repack dvd+rw-tools eject exim4 exim4-daemon-light extlinux fakeroot fastjar fdisk file findutils finger fish fonts-dejavu-core fuse ftp gcc gettext ghc html2text httpie info initramfs-tools initscripts intltool-debian iproute2 iptstate jq kbd keychain krb5-locales less lintian live-build logrotate lsb-release lynx lzma lzop man-db mawk mc mercurial minicom mkbootimg mobile-broadband-provider-info modemmanager moreutils mount multiarch-support mutt mysql-client nano ncdu nfs-common nikto nload nmon npm nscd nss-mdns opam openssl passwd patch pciutils perlmagick pigz pinentry-curses pollinate povray procmail proftpd-basic psensor pv pyflakes python-is-python3 quilt radare2 reptyr rlwrap rpm rsync rsyslog sbuild scite screen scrub sed sensible-utils sgml-data shared-mime-info siege slurm-llnl snmp software-properties-common squashfs-tools strace subversion sysbench systemtap tar tasksel tcl-expect tcllib tcsh tcpflow tcpreplay tcpslice time tmux tofrodos toilet tree u-boot-tools ubuntu-minimal unzip usbmux util-linux uuid-runtime vagrant virt-manager wamerican wbritish wdiff whiptail wipe wolframscript wpasupplicant xauth xmlstarlet xorriso xvfb xxd xz-utils yasm zip zlibc zlib1g-dev ``` 上述命令涵盖了大部分官方文档所提及的依赖项[^1]。 #### 下载NS-3源码 通过`download.py`脚本可以方便地获取特定版本的NS-3源代码及其配套工具链。这里以ns-3.37为例: ```bash cd ~/ git clone https://github.com/nsnam/ns-3-allinone.git cd ns-3-allinone ./download.py --version=ns-3.37 ``` 此过程会自动完成所需资源的拉取操作[^4]。 #### 编译构建 进入解压后的目录执行如下指令启动编译流程: ```bash cd ~/ns-3-allinone/ns-3.37 ./waf configure --enable-examples --enable-tests ./waf build ``` 如果一切正常,则表示已经成功完成了NS-3环境搭建的工作。 #### 验证安装成果 最后可以通过运行内置测试案例验证当前部署情况是否良好: ```bash ./test.py ``` 当所有测试均能顺利完成时即证明整个安装环节无误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值