感谢知乎up主帮助:
以下总结了上述文章的过程,并且结合本人配置时踩过的坑,形成了下面配置的详细过程。
所用的配置版本如下:
gcc/g++/c++==7.3.1
cmake==3.10.0
make==4.3
首先下载:
boost=1.70.0:
官网Boost C++ Libraries,按照下面步骤下载即可。
cd /usr/local
wget https://boostorg.jfrog.io/artifactory/main/release/1.70.0/source/boost_1_70_0.tar.gz
tar -zxvf boost_1_70_0.tar.gz
cd boost_1_70_0
./bootstrap.sh
./b2 install --with=all
如果需要重新下载boost,一定要把之前下载的boost删除彻底,否则在cmake时会识别到之前的版本,需要将/usr/local/lib中和/usr/local/include中有关boost的全部删除。lib中cmake文件夹中也有boost的一部分文件。
pybind11:
参照Ubuntu pybind11教程_ubuntu 编译pybind11 源码-优快云博客
Doxygen:
yum install doxygen
一、GitHub - berkeley-abc/abc: ABC: System for Sequential Logic Synthesis and Formal Verification
编译abc,注意要用编译前的abc运行make ABC_USE_NO_READLINE=1 ABC_USE_PIC=1 libabc.a
unzip abc-master.zip
cd abc-master
make ABC_USE_NO_READLINE=1 ABC_USE_PIC=1 libabc.a
这里采用的git上给的方法,如果该方法失败,可以参考知乎up的做法。
二、修改AbcInterface.h中的两行代码
cd abc_py-master/src/interface
vim AbcInterface.h
将这两行代码中的abc_src改成如下形式:
三、修改CMakeLists.txt
1、修改CMakeList.txt第123行,改为:
set(CMAKE_CXX_FLAGS "-DLIN64 -DSIZEOF_VOID_P=8 -DSIZEOF_LONG=8 -DSIZEOF_INT=4 -std=c++14 -Wall -march=native -fopenmp -fPIC")
2、添加ABC_DIR和PYBIND11_DIR的路径:
根据自己的绝对路径进行修改。
四、进行编译
在abc_py项目中:
mkdir build
cd build
cmake ..
make
cd ../../
pip install abc_py-master/
我没有改项目名称的习惯,所以这里就是默认的项目名称abc_py-master,如果修改了名称pip的时候也进行修改即可。
安装成功。
第一次记录,后续有问题可以私信,祝大家学习顺利!