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-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: