oai gnb 在docker 中编译的时候出现 nasmesh compilation failed的解决方法

出现这个问题,首先要检查一下你的宿主机器的kernel是否是lowlatency版本的:

				unmae -r
				4.4.0-145-lowlatency
				

如果不是的话,请转换成相应的lowlatency(至于内核是多少无所谓)这里给个方法:

				sudo apt-get update
				sudo apt-get install linux-image-3.19.0-61-lowlatency linux-headers-3.19.0-61-lowlatency

这里把你想要安装的kernel换成对应的版本即可。做完这一步,然后在你的docker run的时候,加上相应的-v参数,一定要加-v /lib/modules:/lib/modules参数。下面是我自己的run的时候加的参数:

				sudo docker run  -t -i --privileged -e "USER=root" -h="root" --name="oai5g_gnb" --cap-add=ALL -v /dev/bus/usb:/dev/bus/usb  -v /lib/modules:/lib/modules ubuntu:16.04 /bin/bash

这里说下-e "USER=root"的原因,因为在编译gnb的时候,如果不加一个环境变量USER的话,就会报错,所以在这里run的时候加一个。然后-v /lib/modules:/lib/modules不加的话,那么docker容器中没有相应的/lib/modules路径,这个没有的话,会出现nasmesh complitation failed。即使有这个路径还不行。这个时候,因为宿主机器已经是lowlatency版本了。所以你的docker 容器也是相应的lowlatency版本。但是这个时候,你的版本中没有相应的
在这里插入图片描述build(或者说有build但是你cd的话进不去)。这个时候,你先确定下有没有这个:

				dpkg --list | grep 4.4.0-145-lowlatency | grep headers
				ii  linux-headers-4.4.0-145-lowlatency         4.4.0-145.171

如果没有的话,

				sudo apt-get install --yes linux-headers-your-version
	比方说我的内核版本是4.4.0-145-lowtatency,那我对应的命令是
				sudo apt-get install --yes linux-headers-4.4.0-145-lowtatency

这样的话,你的/lib/modules就有相应的内核的东西了。这样的话就不会出现nasmesh complitation failed了。希望你也能编译gnb成功。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值