最近需要对C++环境下的贝叶斯优化库进行部署,经过查找对比,我们发现limbo比较好用。在不同环境下安装时,我们发现一些问题,趁着现在还记得,记录一下以备后续使用。
- 问题:
和limbo官方库中issue中相关问题(https://github.com/resibots/limbo/issues/315)一样,我们在安装时也遇到了同样的问题。 - 环境:
我们的系统为Ubuntu20。 - 解决方案:
根据对报错error的查看,我们发现是问题根源在TBB库(貌似是个多线程库)。经过查找资料,出于非必要不更改C++代码的前提,我们判断是TBB库版本的问题。为此,我们首先定位了TBB库在ubuntu中的名称,为libtbb-dev。同时,我们发现还存在一个名为libtbb2-dev的库。由于libtbb-dev升级后有些代码存在更改,libtbb2-dev这个库是对libtbb-dev的补充。我们首先尝试安装libtbb2-dev,然后对limbo进行编译,发现此时问题消失。问题确实是TBB库更新后出现的。 - 总结
- TBB对应的libtbb-dev库存在更新不连续的问题,如果碰到TBB问题,最好安装libtbb-dev 2020版本(具体可以查看apt)。
- 可以尝试安装libtbb2-dev来补充高版本libtbb-dev存在的问题。
- 上述两个方案都可以解决此次遇到的问题。