Search code examples
c++mongodbmongo-cxx-driver

Mongodb C++ compilation issue


I am trying to compile mongodb driver for c++ and following instructions given in url : Mongocxx

I am getting below errors :

-- The CXX compiler identification is GNU 4.8.5
-- Check for working CXX compiler: /bin/c++
-- Check for working CXX compiler: /bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The C compiler identification is GNU 4.8.5
-- Check for working C compiler: /bin/cc
-- Check for working C compiler: /bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Checking for module 'libbson-1.0>=1.5.0'
-- 

CMake Error at /usr/share/cmake3/Modules/FindPkgConfig.cmake:424 (message):
A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake3/Modules/FindPkgConfig.cmake:597 (_pkg_check_modules_internal)
 cmake/FindLibBSON.cmake:33 (pkg_check_modules)
 src/bsoncxx/CMakeLists.txt:67 (find_package)


-- Configuring incomplete, errors occurred!
    See also "/data/2/nirmal/mongo_cpp/mongo-cxx-
    driver/build/CMakeFiles/CMakeOutput.log".

I checked libbson is already installed in /usr/local/bin . Unable to figure the root cause. Kindly assist.


Solution

  • If you are building version 3.1.X or 3.0.x you have to specify libbson of your libmongoc (mongodb c driver) installation.

    "Users building mongocxx versions 3.1.x and 3.0.x should specify the libmongoc installation directory by using the -DLIBMONGOC_DIR and -DLIBBSON_DIR options to cmake. See the following example, which assumes that both libmongoc and libbson are installed into /your/cdriver/prefix:"

    if you are building on a linux system try something like this:

    cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local .. -DBSONCXX_POLY_USE_MNMLSTC=1 -DLIBMONGOC_DIR=/usr -DLIBBSON_DIR=/usr/lib64

    More detailed information can be found https://mongodb.github.io/mongo-cxx-driver/mongocxx-v3/installation/