INSTALL

Quick Start

To build CVC3, do the following in the root directory of the CVC3 distribution:

   ./configure
   make

If this fails, read the next section for more information.

A successful make creates a library libcvc3 in the lib directory and an executable cvc3 in the bin directory (these are actually links to the actual files which are stored in architecture and configuration-dependent subdirectories).

By default, make creates optimized code, static libraries, and a static executable. To build the "debug" version (much slower but more error checking) use:

   ./configure --with-build=debug

To build shared libraries (and thus a much smaller executable), use:

  ./configure --enable-dynamic

Be sure to set LD_LIBRARY_PATH to <cvc3dir>/lib when using shared libraries.

Alternatively, these and other options can be changed by editing the Makefile.local file after running configure. However, be aware that re-running configure will overwrite any changes you have made to Makefile.local.

The subdirectory test contains an example program using the library libcvc3. To try it out, do the following:

   cd test
   make
   bin/test

Advanced Configuration

The configure script checks for the components needed to build CVC3. If for some reason, the configure script is missing or doesn't run on your platform, you can recreate it from configure.ac by running autoconf.

As the configure script runs, if something is not found, it complains. configure looks for components in standard locations and also uses several environment variables that you can set to help it find things. In particular, you can set CPPFLAGS to -IincludeDir if you have headers in a nonstandard directory and LDFLAGS to -LlibDir if you have libraries in a nonstandard directory. Run ./configure --help for a list of all such environment variables.

GMP

One of the components CVC3 depends on is the GNU Multiple Precision (GMP) library. If you do not have GMP installed, we recommend that you do so:

1. Download the GMP source code from http://swox.com/gmp/

2. Unpack the sources, and from the root-directory of the GMP source code, run

   ./configure 
   make

On some Solaris machines, you may need to configure GMP with

   ./configure ABI=32

to make the resulting GMP library compatible with the CVC3 libraries. The reason for this is that the default ABI that gcc chooses in CVC3 compilation is not necessarily the default ABI that the GMP configure script selects, and one of them may need to be adjusted.

3. Now, either install GMP system-wide (make install), or supply the appropriate values for CPPFLAGS and LDFLAGS to the CVC3 configure script.

If for some reason, you do not want to use GMP, you can configure CVC3 to use native arithmetic by running:

   ./configure --with-arith=native

If you compile CVC3 with native arithmetic, it is possible that CVC3 may fail as the result of arithmetic overflow. If an overflow occurs, you will get an error message and CVC3 will abort.

Other Configuration Options

Other configuration options include where to install the results of "make install" (see below), what type of build to use (optimized, debug, gprof, or gcov), and whether to use static or dynamic libraries. For help on these options, type

   ./configure --help

configure creates the file Makefile.local which stores all of the configuration information. If you want to customize your build without rerunning configure, or if you want to customize it in a way that configure does not allow, you can do it by editing Makefile.local. For example, you can build a debug, gprof version by editing Makefile.local and setting OPTIMIZED to 0 and GPROF to 1 (by default, gprof runs with an optimized executable). Note that for most configuration options, the objects, libraries, and executables are stored in a configuration-dependent directory, with only symbolic links being stored in the main bin and lib directories. This allows you to easily maintain multiple configurations and multiple platforms using the same source tree.

Additional make options:

To rebuild dependencies, type:

   make depend

To remove just the executable or libraries in the current configuration, type:

   make spotty

To remove in addition all object files and makefile dependencies for the current configuration, type:

   make clean

To remove all files that are not part of the distribution (including all object, library, ane executables built for any configuration or platform), type:

   make distclean

To build a tarball distribution of the currenct source tree, type:

   make dist

Installing CVC3

To install CVC3 system-wide, (assuming you have already run autoconf and configure) run:

   make install

Installation depends on two configuration options: prefix and exec_prefix. By default, both are set to /usr/local, but these can be overridden by specifying the correct arguments to configure or by editing Makefile.local.

Installation copies all necessary header files to <prefix>/include/cvc3. It installs the library libcvc3 in <exec_prefix>/lib and the executable cvc3 in <exec_prefix>/bin. By default, a shared library and executable are installed. If you want to install static versions, configure for a static build as described above.

Documentation

To build HTML documentation, run

   make doc

Then open doc/html/index.html in your favorite browser.

Getting help

If you find a problem with the instructions in this installation guide, please send email to cvc-bugs@cs.nyu.edu.


Generated on Tue Jul 3 14:35:21 2007 for CVC3 by  doxygen 1.5.1