You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Ubuntu 22.04中nam与ns2模拟器不兼容无法启动的问题

解决Ubuntu 22.04更新后NS2与NAM不兼容的问题

方案一:降级NAM至兼容版本

Ubuntu 22.04更新后的默认NAM版本大概率和NS2存在兼容性冲突,手动降级到旧版是最直接的解决方式:

  • 先卸载当前安装的NAM:
    sudo apt remove --purge nam
    sudo apt autoremove
    
  • 下载适配Ubuntu 20.04的NAM deb包(推荐版本nam_1.15-7build1_amd64.deb,该版本和NS2.35等主流版本兼容)
  • 安装下载的旧版包:
    sudo dpkg -i nam_1.15-7build1_amd64.deb
    
  • 若出现依赖错误,执行以下命令修复:
    sudo apt -f install
    
  • 锁定NAM版本,避免后续系统更新再次替换:
    sudo apt-mark hold nam
    

方案二:补全NAM图形依赖

系统更新可能误删了NAM运行所需的图形库,尝试安装缺失的依赖:

sudo apt install libx11-6 libxmu6 libxmu-dev libxt6 libxt-dev libpng16-16 libpng-dev

安装完成后重新运行ns sampleprog.tcl测试。

方案三:手动指定NAM路径运行

如果系统中同时存在多个NAM版本,可在TCL脚本中直接指定兼容版的路径,或者在终端运行时指定:

  • 修改TCL脚本开头,添加NAM路径指定:
    set nam_exec "/usr/bin/nam" ;# 替换为实际旧版NAM的安装路径
    exec $nam_exec &
    
  • 或者直接在终端用指定路径运行脚本:
    ns -nam /usr/bin/nam sampleprog.tcl
    

方案四:源码编译兼容版NS2与NAM

如果上述方法都无效,可自行编译适配Ubuntu 22.04的NS2和NAM:

  • 先安装编译依赖:
    sudo apt install build-essential autoconf automake libx11-dev libxmu-dev libxt-dev libpng-dev
    
  • 下载NS2.35的源码包(ns-allinone-2.35.tar.gz),解压后进入目录:
    tar xzf ns-allinone-2.35.tar.gz
    cd ns-allinone-2.35
    
  • 单独编译NAM并指定安装路径:
    cd nam-1.15
    ./configure --prefix=/usr/local/nam-compat
    make
    sudo make install
    
  • 将编译好的NAM路径加入环境变量:
    echo 'export PATH=/usr/local/nam-compat/bin:$PATH' >> ~/.bashrc
    source ~/.bashrc
    
  • 重新运行脚本验证效果。

内容的提问来源于stack exchange,提问作者Chinmay Naik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 09:20:23