Skip this step if you are building from a WiredTiger release package, and proceed with Building WiredTiger.
To build from the WiredTiger GitHub repository requires git, autoconf, automake, libtool and related tools. The standard options for those tools can be specified when configuring and building WiredTiger.
First, clone the repository:
Second, run autogen.sh
to create the configure
script:
Now proceed with Building WiredTiger.
To build the WiredTiger software on a POSIX system, change directory to the top-level directory, then configure and build the software:
To rebuild from scratch, discard any previous configuration by cleaning out the build area:
To see additional configuration options, run:
WiredTiger uses autoconf automake, and libtool to create the configure script and Makefiles. The standard options for those tools can be specified when configuring and building WiredTiger.
The WiredTiger software consists of a library and a single standalone utility.
WiredTiger's distribution follows the GNU Coding Standards installation guidelines, and by default WiredTiger builds and installs four versions of the library in /usr/local/lib
. For example:
WiredTiger uses libtool to build the libraries. By default, both shared and static libraries are built. To build only static libraries, configure WiredTiger using the –disable-shared
argument. To build only shared libraries, configure using WiredTiger using the –disable-static
argument.
In addition, WiredTiger installs a standalone utility program named wt
. By default, this utility is installed in /usr/local/bin/wt
.
To install WiredTiger:
To uninstall WiredTiger:
To install WiredTiger's libraries or binaries into alternate locations, use the configuration or installation options described in the GNU coding standards documentation. For example, to install the libraries and binaries into a different location:
The WiredTiger software supports some additional configuration options:
–enable-attach
–enable-diagnostic
–enable-java
–enable-leveldb
[=basho, hyper, rocksdb]basho
to build a version of the LevelDB API compatible with Basho's Riak product, specify hyper
to build a version of the LevelDB API compatible with the HyperDex product, and specify rocksdb
to build a version of the LevelDB API compatible with applications using Facebook's RocksDB engine. See Building and installing the LevelDB compatibility API for more information.–enable-lz4
–enable-python
–enable-snappy
–enable-verbose
verbose
configuration string to wiredtiger_open.–enable-zlib
–enable-zstd
lz4
, snappy
, zlib
and zstd
.pthread
(the default, which configures WiredTiger to use POSIX 1003.1c pthread mutexes), pthread_adaptive
(which configures WiredTiger to use POSIX 1003.1c pthread mutexes configured to be adaptive (where that functionality is available), or gcc
(which configures WiredTiger to use gcc-based spinlocks).To change the compiler or loader behavior during the build, use the CC
, CFLAGS
, LDFLAGS
, or LIBS
environment variables:
CC
CFLAGS
LDFLAGS
LIBS
For example, to specify a different compiler:
By default, WiredTiger builds with the -O3
compiler optimization flag unless the –enable-debug
configuration option is specified, in which case the -g
compiler flag is used instead. For example, to specify a different level of optimization:
To specify a different set of include files:
To specify an additional library: