ubuntu下,用meson编译libevl的时候提示Directory does not contain a valid build tree

最近在PC上做Xenomai 4.
ubuntu 22.04
evl-v5.15.64
libevl-r38
meson 0.63.3
ninja 1.10.2.git.kitware.jobserver-1
Python 3.10.6
evl内核已经启动。但是编译libevl的时候遇到问题:

meson setup -Dbuildtype=release -Dprefix=/opt -Duapi=/home/XXX/linux-evl-v5.15.64-evl1-rebase /home/XXX/libevl_build  /home/XXX/libevl-r38 --reconfigure

结果给出如下提示:
Directory does not contain a valid build tree:
/home/libevl_build
对比evl官方的说明:

meson setup [--cross-file ]  -Dbuildtype= -Dprefix= -Duapi= $buildir $srcdir

猜测可能是meson缺少一些必要的设置。
另外,之前安装pip的时候,遇到如下warning:

WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv

这个warning暂时没管,不知道和libevl的编译出问题有没有关系。

这篇博文【Xenomai4 入门】对你应该帮助到你分析和解决问题,博主以实例的形式,详细讲解,每一步都讲的很细,尤其是编译libevl的准备前提:https://bbs.csdn.net/topics/606818194

img

自己解决了。
我一直是参照这两个说明来进行的:
https://bbs.csdn.net/topics/606818194
https://evlproject.org/core/build-steps/
到了这一步的时候遇到了这个问题,刚开始以为pip,meson,ninja设置或者配置不对,尤其是安装过程中还出现了上面提到的warning,现在看来没那么复杂。
天狼星那篇博文这条指令的结尾有:--reconfigure
不知道是不是版本不同的原因,evl官方的说明文档里面没有这个,直接去掉就好了。后续测试的时候还遇到了一个文件找不到的问题,其实就是lib安装目录不一样(可能也是版本不同原因),改一下LD_LIBRARY_PATH的设置就可以
测试过程中,延时有点大,我计划把一些DEBUG之类的功能关闭,再测试一下看看


参考这个链接