srsLTE的ctest出现错误,benchmark_radio_multi_rf失败的解决办法

发布时间 2023-11-13 11:22:44作者: S_ong
首先使用cd build 和 ctest --rerun-failed --output-on-failure,单独运行出错的内容。

在build/Testing/Temporary中LastTest.log和LastTestsFailed.log写明了错误原因,如下

Error: allocating rx buffer
Error: initiating ringbuffer

 这个问题是max locked memory太小导致的。使用命令ulimit -a可以查看max locked memory设置。

解决办法是

  1. 进入/etc/security。vim打开“limits.conf”  命令是`sudo vim limits.conf`。
  2. 在文件的末尾添加以下内容:
    * hard memlock unlimited
    * soft memlock unlimited
    
  3. 保存并关闭文件。关闭时使用命令 :wq!
  4. 重启系统以使更改生效。
  5. 重启后,使用命令ulimit -a可以查看max locked memory设置。此时 max locked memory已经是 unlimited了
  6. 最后在build里运行ctest --rerun-failed --output-on-failure
  7. 100% tests passed