在编译Marabou的时候要用到cmake,所以特地说一下
安装CMake
第一步cmake官网下载压缩包并解压,会发现里面有bin目录,说明里面直接就有可执行程序
第二步,直接把bin文件移动到某个指定的文件夹,并创建软链接
注: 文件路径是可以指定的, 一般选择在/opt 或 /usr 路径下, 这里选择/opt
mv cmake-3.12.2-Linux-x86_64 /opt/cmake-3.17.3
ln -sf /opt/cmake-3.12.2/bin/* /usr/bin/
看一下cmake版本,cmake --version
。如果弹出相关信息则安装成功
使用cmake命令之前要安装gcc、make等工具,因此安装软件包:build-essential
这里也有人说只用安装gcc-c++
这个包,因此你可以先试试只安装这个,如果不行,再安装上面那个。
接下来就可以愉快地在build文件夹下进行cmake ..
了
但是在安装boost时非常慢,我们这里提前下载好boost_1_68_0.tar.gz,并把download_boost.sh中的wget这行注释掉,这样就可以避免重复下载。直接解压。
解压完了以后,又遇到了一个小问题
-- Found PythonInterp: /usr/bin/python3 (found version "3.6.9")
CMake Error at tools/pybind11-2.3.0/tools/FindPythonLibsNew.cmake:96 (message):
Python config failure:
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: cannot import name 'sysconfig'
Call Stack (most recent call first):
tools/pybind11-2.3.0/tools/pybind11Tools.cmake:16 (find_package)
tools/pybind11-2.3.0/CMakeLists.txt:33 (include)
-- Configuring incomplete, errors occurred!
谷歌了一下,说是安装这个就好了,果不其然,好像成功了
sudo apt install python3-distutils
再cmake,然后就成功了!!
cmake ..
之后还有一步,就是cmake --build .
。
这次又遇到了船新的Bug,找不到什么Python.h
这错误就你吗离谱。
解决:
sudo apt install python3.6-dev // 你是什么版本就安装3.x