【教程】Ubuntu安装cryptominisat教程

最近做毕设,要用到Sat Solver求解器,关于Sat Sovler的中文资料甚少,自己摸索总结了一下,特此记录。

主要说明一下软件的安装,使用非常简单。sat solver有多种实现,例如,minisat,cryptominisat,sat4j等等,以cryptominisat为例。

硬件平台:VmVare11,Ubuntu12.04 LTS Desktop。
安装软件为cryptominisat-2.9.11,可从Github下载。

首先查看cryptominisat-2.9.11的INSTALL文件。

-----------
Libraries needed
-----------
You will need the following libraries to compile the sources:
* libz

-----------------
Building the source
-----------------
There are two ways to build the source. With cmake or with autotools.
I personally use cmake.

------------------
Building using autotools
------------------
$ mkdir build
$ cd build
$ ../configure
$ make

Use like: ./cryptominisat satfile.cnf

If you got your source from the GIT/SVN, then you should do the following
before doing the above::
* Install automake, autoconf, libtool
* Issue 'make -f Makefile.cvs' in the root dir

---------

我们只说明autotools的安装方式,至于cmake安装方式,以后再补上。

准备工作:

我们看到,需要的库有libz.所以需要先安装这个库。
我们可以自行搜索 Linux zlib安装,zlib中就包含了libz。安装非常简单 。./configure && make&&make install即可。

autotools安装,即使用 ./configure && make&&make install 完成安装。需要以下组件:
1.确保有工具automake,autoconf,libtool。
可用automake –version,automake –libtool查看,没有的话执行

sudo apt-get install automake
sudo apt-get install libtool

即可,不用安装autoconf的原因是automake包含了autoconf.

2.确保有make工具。可用make –version查看,没有的话执行

sudo apt-get install make

3.要有一个编译器,可以使用gcc,执行

sudo apt-get install gcc

4.要安装此软件包build-essential,作用看文章最后,执行

sudo apt-get install build-essential

具体安装步骤:

1.作者说如果是从Github或者SVN下载的源码,需要先在根目录执行
make -f Makefile.cvs
这样会生成configure文件,才能进行下一步。
(注意:根目录是指cd到cryptominisat2.9.11这个目录即可)

2.执行

mkdir build 
cd build

实际上build目录已经存在,不需要这一步。

3.在根目录下执行configure文件。

./configure

4.执行

make

完成安装。
使用方式README里写的很清楚,用
./cryptominisat cnf文件名即可。

可能碰到的问题:

1.编译错误,提示没有找到编译器。这说明没有任何的编译器,可以使用gcc,执行

sudo apt-get install gcc

2.已经安装了zlib,可是编译错误,提示未找到zlib。
在linux操作系统上面开发程序, 光有了gcc 是不行的
它还需要一个 build-essential软件包
作用是提供编译程序必须软件包的列表信息

也就是说 编译程序有了这个软件包
它才知道 头文件在哪 才知道库函数在哪
还会下载依赖的软件包 最后才组成一个开发环境
当然 build-essential包 安装时 需要的依赖包 有些你用不上

软件包: build-essential 安装方法:

sudo apt-get install build-essential

你可能感兴趣的:(原创)