关于wsl下安装ns3的一些问题

看这里:最简单的方法就是使用wsl2(需要win11),因为微软的wsl实际上是维护了一个将linux命令转换为windows命令的庞大接口库,所以在底层会有一些不兼容。而wsl2则与linux完全相同,可以理解为一个docker。
wsl里面似乎无法运行ns3的可视化模块,visualizer和netanim好像都不行。

vscode首次启动wsl server失败

根据vscode-remote-release仓库的issue#1856
在这里插入图片描述

wsl中调用gdb出现cannot insert breakpoint

在wsl仓库的issue里面
在这里插入图片描述

不能启动visualizer

运行./ns3 run scratch/first.cc --vis报错,错误代码如下

assert failed. cond="uid != 0", msg="Assert in TypeId::LookupByName:
ns3::VisualSimulatorImpl not found", file=../src/core/model/type-
id.cc, line=388
Command ['/home/fabian/repos/ns-allinone-3.12.1/ns-3.12.1/build/debug/
examples/wireless/wifi-adhoc', '--
SimulatorImplementationType=ns3::VisualSimulatorImpl'] terminated with
signal SIGSEGV. Run it under a debugger to get more information (./waf
--run <program> --command-template="gdb --args %s <args>").

如果你确定自己已经装了visualizer库,那么问题就源于 ldd <program> 没有将 ns3-visualizer 列为程序链接到的库,即使 waf (waf -v) 或是ns3.py 使用的链接命令将 -lns3-visualizer 列为要链接的库。
这个似乎是系统底层的问题。
解决方法

python

在python程序中的所有import语句之后加上import ns.visualizer即可。

C/C++

确保使用在visualizer库中定义的一些符号即可。例如

gjc@gjc-laptop:ns-3-dev$ hg diff examples/wireless/wifi-ap.cc 
diff -r 159633363724 examples/wireless/wifi-ap.cc
--- a/examples/wireless/wifi-ap.cc	Mon Oct 31 12:13:18 2011 +0000
+++ b/examples/wireless/wifi-ap.cc	Mon Nov 07 11:27:03 2011 +0000
@@ -26,6 +26,7 @@
 #include "ns3/config-store-module.h"
 #include "ns3/wifi-module.h"
 #include "ns3/athstats-helper.h"
+#include "ns3/pyviz.h"
 
 #include <iostream>
 
@@ -116,6 +117,8 @@
 
 int main (int argc, char *argv[])
 {
+  { PyViz v; }
+    
   CommandLine cmd;
   cmd.AddValue ("verbose", "Print trace information if true", g_verbose);
  • 但是要注意linux的连接器ld有可能忽略那些实际上没有使用的链接库(比如说gcc的O3选项),这可能导致未知问题,所以不要优化程序。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值