Details
Description
Hi,
I have been trying to build 3.1.2 C++ Mongo DB driver on top of mongo-c-driver-1.6.3 but it fails on make when trying to find include bson.h it seems to be something related to libbson linking headers/library.
I followed the steps from https://mongodb.github.io/mongo-cxx-driver/mongocxx-v3/installation/ but failed on step 5.
Here is what I have done so far:
Step 1: Install the latest version of the MongoDB C driver.
wget https://github.com/mongodb/mongo-c-driver/releases/download/1.6.3/mongo-c-driver-1.6.3.tar.gz
tar xzf mongo-c-driver-1.6.3.tar.gz
cd mongo-c-driver-1.6.3
./configure --disable-automatic-init-and-cleanup --prefix=/usr/local --libdir=/usr/lib64 --with-libbson=bundled
make
make install
Step 2: Choose a C++17 polyfill
-DBSONCXX_POLY_USE_MNMLSTC=1
Step 3: Download the latest version of the mongocxx driver.
cd ~
curl -OL https://github.com/mongodb/mongo-cxx-driver/archive/r3.1.2.tar.gz
tar -xzf r3.1.2.tar.gz
cd mongo-cxx-driver-r3.1.2/build
Step 4: Configure the driver
sudo cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local .. -DBSONCXX_POLY_USE_MNMLSTC=1 -DLIBMONGOC_DIR=/usr/lib64 -DLIBBSON_DIR=/usr/lib64
-- The CXX compiler identification is GNU 5.4.0
|
-- Check for working CXX compiler: /usr/bin/c++ |
-- Check for working CXX compiler: /usr/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 5.4.0
|
-- Check for working C compiler: /usr/bin/cc |
-- Check for working C compiler: /usr/bin/cc -- works |
-- Detecting C compiler ABI info
|
-- Detecting C compiler ABI info - done |
-- Detecting C compile features
|
-- Detecting C compile features - done |
-- Found LIBBSON: bson-1.0
|
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
|
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
|
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
|
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
|
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
|
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
|
-- Found LIBMONGOC: mongoc-1.0
|
-- Configuring done |
-- Generating done |
-- Build files have been written to: $HOME/mongo-cxx-driver-r3.1.2/build |
Step 5: Build and install the driver
sudo make EP_mnmlstc_core
Scanning dependencies of target EP_mnmlstc_core
|
[ 0%] Creating directories for 'EP_mnmlstc_core' |
[ 50%] Performing download step (git clone) for 'EP_mnmlstc_core' |
-- EP_mnmlstc_core download command succeeded. See also $HOME/mongo-cxx-driver-r3.1.2/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core-stamp/EP_mnmlstc_core-download-*.log |
[ 50%] No patch step for 'EP_mnmlstc_core' |
[ 50%] No update step for 'EP_mnmlstc_core' |
[100%] Performing configure step for 'EP_mnmlstc_core' |
-- EP_mnmlstc_core configure command succeeded. See also $HOME/mongo-cxx-driver-r3.1.2/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core-stamp/EP_mnmlstc_core-configure-*.log |
[100%] Performing build step for 'EP_mnmlstc_core' |
-- EP_mnmlstc_core build command succeeded. See also $HOME/mongo-cxx-driver-r3.1.2/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core-stamp/EP_mnmlstc_core-build-*.log |
[100%] Performing install step for 'EP_mnmlstc_core' |
-- EP_mnmlstc_core install command succeeded. See also$HOME/mongo-cxx-driver-r3.1.2/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core-stamp/EP_mnmlstc_core-install-*.log |
[100%] Performing fix-includes step for 'EP_mnmlstc_core' |
[100%] Completed 'EP_mnmlstc_core' |
[100%] Built target EP_mnmlstc_core
|
sudo make
[ 2%] Built target EP_mnmlstc_core
|
Scanning dependencies of target bsoncxx_static
|
[ 2%] Building CXX object src/bsoncxx/CMakeFiles/bsoncxx_static.dir/array/element.cpp.o |
[ 2%] Building CXX object src/bsoncxx/CMakeFiles/bsoncxx_static.dir/array/value.cpp.o |
[ 3%] Building CXX object src/bsoncxx/CMakeFiles/bsoncxx_static.dir/array/view.cpp.o |
$HOME/mongo-cxx-driver-r3.1.2/src/bsoncxx/array/view.cpp:21:18: fatal error: bson.h: No such file or directory |
compilation terminated.
|
src/bsoncxx/CMakeFiles/bsoncxx_static.dir/build.make:110: recipe for target 'src/bsoncxx/CMakeFiles/bsoncxx_static.dir/array/view.cpp.o' failed |
make[2]: *** [src/bsoncxx/CMakeFiles/bsoncxx_static.dir/array/view.cpp.o] Error 1 |
CMakeFiles/Makefile2:437: recipe for target 'src/bsoncxx/CMakeFiles/bsoncxx_static.dir/all' failed |
make[1]: *** [src/bsoncxx/CMakeFiles/bsoncxx_static.dir/all] Error 2 |
Makefile:138: recipe for target 'all' failed |
make: *** [all] Error 2 |
What should I do to point bson library to be aware of where should it go to find the header bson.h?