Scroll to navigation

BSON_INSTALLING(3) Libbson BSON_INSTALLING(3)

NAME

bson_installing - Installing libbson

The following guide will step you through the process of downloading, building, and installing the current release of libbson.

SUPPORTED PLATFORMS

The MongoDB C Driver is continuously tested on variety of platforms including:

  • Archlinux
  • Debian 8.1
  • macOS 10.10
  • Microsoft Windows Server 2008
  • RHEL 5.5, 6.2, 7.0, 7.1, 7.2
  • Ubuntu 12.04, 16.04
  • Clang 3.5, 3.7, 3.8
  • GCC 4.6, 4.8, 4.9, 5.3
  • MinGW-W64
  • Visual Studio 2010, 2013, 2015
  • x86, x86_64, ARM (aarch64), Power8 (ppc64le), zSeries (s390x)

INSTALL WITH A PACKAGE MANAGER

The libbson package is available on recent versions of Debian and Ubuntu.

$ apt-get install libbson-1.0


On Fedora, a libbson package is available in the default repositories and can be installed with:

$ dnf install libbson


On recent Red Hat systems, such as CentOS and RHEL 7, a libbson package is available in the EPEL repository. To check version available, see https://apps.fedoraproject.org/packages/libbson. The package can be installed with:

$ yum install libbson


BUILDING ON UNIX

Building from a release tarball

Unless you intend on contributing to libbson, you will want to build from a release tarball.

The most recent release of libbson is 1.9.5 and can be downloaded here. The following snippet will download and extract the current release of the driver.

$ wget https://github.com/mongodb/libbson/releases/download/1.9.5/libbson-1.9.5.tar.gz
$ tar -xzf libbson-1.9.5.tar.gz
$ cd libbson-1.9.5/
$ ./configure


For a list of all configure options, run ./configure --help.

If configure completed successfully, you'll see something like the following describing your build configuration.

libbson 1.9.5 was configured with the following options:
Build configuration:

Enable debugging (slow) : no
Enable extra alignment (required for 1.0 ABI) : no
Compile with debug symbols (slow) : no
Enable GCC build optimization : yes
Code coverage support : no
Cross Compiling : no
Big endian : no
Link Time Optimization (experimental) : no Documentation:
man : no
HTML : no


We can now build libbson with the venerable make program.

$ make
$ sudo make install


Building from git

To build an unreleased version of libbson from git requires additional dependencies.

RedHat / Fedora:

$ sudo yum install git gcc automake autoconf libtool


Debian / Ubuntu:

$ sudo apt-get install git gcc automake autoconf libtool


FreeBSD:

$ su -c 'pkg install git gcc automake autoconf libtool'


Once you have the dependencies installed, clone the repository and build the current master or a particular release tag:

$ git clone https://github.com/mongodb/libbson.git
$ cd libbson
$ git checkout x.y.z  # To build a particular release
$ ./autogen.sh
$ make
$ sudo make install


Generating the documentation

Install Sphinx, then:

$ ./configure --enable-html-docs --enable-man-pages
$ make man html


BUILDING ON MAC OS X

Install the XCode Command Line Tools:

$ xcode-select --install


The pkg-config utility is also required. First install Homebrew according to its instructions, then:

$ brew install pkgconfig


Download the latest release tarball

$ curl -LO https://github.com/mongodb/libbson/releases/download/1.9.5/libbson-1.9.5.tar.gz
$ tar xzf libbson-1.9.5.tar.gz
$ cd libbson-1.9.5


Build and install libbson:

$ ./configure
$ make
$ sudo make install


BUILDING ON WINDOWS

Building on Windows requires Windows Vista or newer and Visual Studio 2010 or newer. Additionally, cmake is required to generate Visual Studio project files.

Let's start by generating Visual Studio project files for libbson. The following assumes we are compiling for 64-bit Windows using Visual Studio 2010 Express which can be freely downloaded from Microsoft.

> cd libbson-1.9.5
> cmake -G "Visual Studio 14 2015 Win64" \

"-DCMAKE_INSTALL_PREFIX=C:\libbson" > msbuild.exe ALL_BUILD.vcxproj > msbuild.exe INSTALL.vcxproj


You should now see libbson installed in C:\libbson. By default, this will create a debug build of libbson. To enable release build additional argument needs to be provided to both cmake and msbuild.exe:

> cd libbson-1.9.5
> cmake -G "Visual Studio 14 2015 Win64" \

"-DCMAKE_INSTALL_PREFIX=C:\libbson" \
"-DCMAKE_BUILD_TYPE=Release" > msbuild.exe /p:Configuration=Release ALL_BUILD.vcxproj > msbuild.exe /p:Configuration=Release INSTALL.vcxproj


You can disable building the tests with:

> cmake -G "Visual Studio 14 2015 Win64" \

"-DCMAKE_INSTALL_PREFIX=C:\libbson" \
"-DENABLE_TESTS:BOOL=OFF"


AUTHOR

MongoDB, Inc

COPYRIGHT

2018, MongoDB, Inc

May 1, 2018 1.9.5