This section explains how to build and install the WiredTiger software.
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:
git clone git://github.com/wiredtiger/wiredtiger.git
Second, run the build_posix/reconf
script:
cd wiredtiger sh build_posix/reconf
This creates the configure
script, and you can now proceed with Building WiredTiger.
To build the WiredTiger software on a POSIX-like system, change directory to the top-level directory, then configure and build the software:
./configure && make
To rebuild from scratch, discard any previous configuration by cleaning out the build area:
make realclean
To see additional configuration options, run:
./configure --help
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:
file /usr/local/lib/libwiredtiger*
/usr/local/lib/libwiredtiger-1.0.0.so: ELF 64-bit LSB shared object, x86-64, version 1 (FreeBSD), dynamically linked, not stripped
/usr/local/lib/libwiredtiger.a: current ar archive
/usr/local/lib/libwiredtiger.la: libtool library file
/usr/local/lib/libwiredtiger.so: symbolic link to `libwiredtiger-1.0.0.so'
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:
make install
To uninstall WiredTiger:
make uninstall
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:
./configure --prefix=/c/wiredtiger
The WiredTiger software supports some additional configuration options:
--enable-attach
--enable-bzip2
--enable-debug
-g
flag. DO NOT configure this option in production environments.--enable-diagnostic
--enable-python
--enable-snappy
--enable-verbose
verbose
configuration string to wiredtiger_open.pthread_mutex
(the default, which configures WiredTiger to use POSIX 1003.1c pthread mutexes for serialization) or gcc
(which configures WiredTiger to use gcc-based spinlocks for serialization).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:
env CC=mygcc ./configure
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:
env CFLAGS=-Os ./configure
To specify a different set of include files:
env CFLAGS=-I/usr/local/include ./configure
To specify an additional library:
env LIBS="-lrtf -lmin" LDFLAGS=-L/usr/local/lib ./configure