NS3配置python-binding报错undefined reference to `ffi_type_pointer

问题与分析

在通过如下指令配置NS3的python绑定时

./ns3 configure --enable-python-binding
./ns3 build

出现错误,build终止,并出现如下图种的错误信息:
undefined reference to `ffi_
分析问题原因(经高人指导),是缺少libffi库,编译选项里面需要给这些函数的链接 -L路径 -l库名,有一些函数找不到。可以先看看生成的makefile,里面有没有-lffi,如果有的话,再查查动态库的版本。

经检查,NS3的makefile里面没有ffi相关的关键字,但是后半句给问题的解决带来了启发。

解决

*非原创,出处见文末参考文献

  1. 进入conda虚拟环境下的lib文件夹中,例如我的路径为:(myconda) root@wJYB2k:~/miniconda3/envs/myconda/lib
  2. 启动终端,输入命令ls -l,如图 libffi.so.7链接至libffi.so.8.1.2,这就是出错的原因地方在这里插入图片描述
  3. 将 libffi.so.7改名备份,建立正确的链接

mv libffi.so.7 libffi.so.7.bak
sudo ln -s /lib/x86_64-linux-gnu/libffi.so.7.1.0 libffi.so.7
sudo ldconfig // 执行这行命令后出现了一些意外的输出,如下图,不理解但是好在没有影响问题的解决 1

在这里插入图片描述
4. 回到ns3文件夹下,重新进行绑定操作

./ns3 configure --enable-python-binding
./ns3 build

  1. 运行示例程序

./ns3 run first.py //通讯顺利进行,但是在通信进行前出现了一些意外的输出,如下图2

在这里插入图片描述

遗留问题

见上文的1、2,如果有解决方案请告知

参考文献

参考:
[1]: ns3配置教程
[2]: [catkin_make]报错:/lib/x86_64-linux-gnu/libp11-kit.so.0: undefined reference to `ffi_**‘
[3]: Conda虚拟环境下libp11-kit.so.0: undefined symbol: ffi_type_pointer…问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值