ENV ==== export CC=clang export CXX=clang++ export CFLAGS="-fPIC -pthread" export CXXFLAGS="-stdlib=libc++ -std=c++14 $CFLAGS" export LDFLAGS="-lc++abi -lpthread" export CMAKE_C_FLAGS=$CFLAGS export CMAKE_CXX_FLAGS=$CXXFLAGS export CMAKE_CXX_LINK_FLAGS=$LDFLAGS Mongo C library =============== git clone https://github.com/mongodb/mongo-c-driver.git mongo-c-driver-opessl cd mongo-c-driver-opessl git checkout 2055382 PKG_CONFIG_LIBDIR=/usr/local/custom/openssl/lib/pkgconfig ./autogen.sh --prefix=/usr/local/custom/mongodb/ \ --disable-shared --enable-static --enable-rdtscp --disable-sasl --enable-ssl=openssl --with-libbson=bundled \ --disable-automatic-init-and-cleanup make -j4 sudo make install Output ------ libbson 1.5.0-dev was configured with the following options: Build configuration: Enable debugging (slow) : no Enable extra alignment (required for 1.0 ABI) : yes 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 *** IMPORTANT *** This is an unstable version of libmongoc. It is for test purposes only. Please, DO NOT use it in a production environment. It will probably crash and you will lose your data. Additionally, the API/ABI may change during the course of development. Thanks, The libmongoc team. *** END OF WARNING *** libmongoc 1.5.0-dev was configured with the following options: Build configuration: Enable debugging (slow) : no Compile with debug symbols (slow) : no Enable GCC build optimization : yes Enable automatic init and cleanup : no Code coverage support : no Cross Compiling : no Fast counters : yes Shared memory performance counters : yes SASL : no SSL : openssl Libbson : bundled Documentation: man : no HTML : no ... $ PKG_CONFIG_LIBDIR=/usr/local/custom/mongodb/lib/pkgconfig pkg-config --cflags --libs libmongoc-1.0 -I/usr/local/custom/mongodb/include/libmongoc-1.0 -I/usr/local/custom/mongodb/include/libbson-1.0 -L/usr/local/custom/mongodb/lib -L/usr/local/custom/openssl/lib -L/usr/local/custom/mongodb/lib -lmongoc-1.0 -lssl -lcrypto -lbson-1.0 Mongo C++ library ================== wget https://github.com/mongodb/mongo-cxx-driver/archive/r3.1.0.tar.gz -O mongo-cxx-driver-r3.1.0.tar.gz tar -xf mongo-cxx-driver-r3.1.0.tar.gz cd mongo-cxx-driver-r3.1.0 cd build PKG_CONFIG_LIBDIR=/usr/local/custom/mongodb/lib/pkgconfig cmake -DCMAKE_INSTALL_PREFIX=/usr/local/custom/mongodb \ -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DBSONCXX_POLY_USE_BOOST=ON -DBSONCXX_POLY_USE_MNMLSTC=OFF \ -DBoost_INCLUDE_DIR=/usr/local/custom/include .. make VERBOSE=1 Output ------ ... [ 60%] Linking CXX shared library libmongocxx.dylib cd /Users/jwang/temp/source_build/mongo-cxx-driver-r3.1.0/build/src/mongocxx && /opt/local/bin/cmake -E cmake_link_script CMakeFiles/mongocxx.dir/link.txt --verbose=1 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -stdlib=libc++ -std=c++14 -fPIC -pthread -O3 -DNDEBUG -dynamiclib -Wl,-headerpad_max_install_names -lc++abi -lpthread -current_version 3.1.0 -o libmongocxx.3.1.0.dylib -install_name @rpath/libmongocxx._noabi.dylib CMakeFiles/mongocxx.dir/bulk_write.cpp.o CMakeFiles/mongocxx.dir/client.cpp.o CMakeFiles/mongocxx.dir/collection.cpp.o CMakeFiles/mongocxx.dir/cursor.cpp.o CMakeFiles/mongocxx.dir/database.cpp.o CMakeFiles/mongocxx.dir/exception/error_code.cpp.o CMakeFiles/mongocxx.dir/exception/server_error_code.cpp.o CMakeFiles/mongocxx.dir/exception/operation_exception.cpp.o CMakeFiles/mongocxx.dir/hint.cpp.o CMakeFiles/mongocxx.dir/insert_many_builder.cpp.o CMakeFiles/mongocxx.dir/instance.cpp.o CMakeFiles/mongocxx.dir/logger.cpp.o CMakeFiles/mongocxx.dir/model/delete_many.cpp.o CMakeFiles/mongocxx.dir/model/delete_one.cpp.o CMakeFiles/mongocxx.dir/model/insert_one.cpp.o CMakeFiles/mongocxx.dir/model/replace_one.cpp.o CMakeFiles/mongocxx.dir/model/update_many.cpp.o CMakeFiles/mongocxx.dir/model/update_one.cpp.o CMakeFiles/mongocxx.dir/model/write.cpp.o CMakeFiles/mongocxx.dir/options/aggregate.cpp.o CMakeFiles/mongocxx.dir/options/bulk_write.cpp.o CMakeFiles/mongocxx.dir/options/client.cpp.o CMakeFiles/mongocxx.dir/options/count.cpp.o CMakeFiles/mongocxx.dir/options/create_collection.cpp.o CMakeFiles/mongocxx.dir/options/create_view.cpp.o CMakeFiles/mongocxx.dir/options/delete.cpp.o CMakeFiles/mongocxx.dir/options/distinct.cpp.o CMakeFiles/mongocxx.dir/options/find.cpp.o CMakeFiles/mongocxx.dir/options/find_one_and_delete.cpp.o CMakeFiles/mongocxx.dir/options/find_one_and_replace.cpp.o CMakeFiles/mongocxx.dir/options/find_one_and_update.cpp.o CMakeFiles/mongocxx.dir/options/index.cpp.o CMakeFiles/mongocxx.dir/options/insert.cpp.o CMakeFiles/mongocxx.dir/options/modify_collection.cpp.o CMakeFiles/mongocxx.dir/options/pool.cpp.o CMakeFiles/mongocxx.dir/options/private/rewriter.cpp.o CMakeFiles/mongocxx.dir/options/ssl.cpp.o CMakeFiles/mongocxx.dir/options/update.cpp.o CMakeFiles/mongocxx.dir/pipeline.cpp.o CMakeFiles/mongocxx.dir/pool.cpp.o CMakeFiles/mongocxx.dir/private/libbson.cpp.o CMakeFiles/mongocxx.dir/private/libmongoc.cpp.o CMakeFiles/mongocxx.dir/read_concern.cpp.o CMakeFiles/mongocxx.dir/read_preference.cpp.o CMakeFiles/mongocxx.dir/result/bulk_write.cpp.o CMakeFiles/mongocxx.dir/result/delete.cpp.o CMakeFiles/mongocxx.dir/result/insert_many.cpp.o CMakeFiles/mongocxx.dir/result/insert_one.cpp.o CMakeFiles/mongocxx.dir/result/replace_one.cpp.o CMakeFiles/mongocxx.dir/result/update.cpp.o CMakeFiles/mongocxx.dir/uri.cpp.o CMakeFiles/mongocxx.dir/validation_criteria.cpp.o CMakeFiles/mongocxx.dir/write_concern.cpp.o -L/usr/local/custom/mongodb/lib -L/usr/local/custom/openssl/lib -Wl,-rpath,/usr/local/custom/mongodb/lib -Wl,-rpath,/usr/local/custom/openssl/lib -Wl,-rpath,/Users/jwang/temp/source_build/mongo-cxx-driver-r3.1.0/build/src/bsoncxx ../bsoncxx/libbsoncxx.3.1.0.dylib -lmongoc-1.0 -lssl -lcrypto -lbson-1.0 -lbson-1.0 clang: warning: argument unused during compilation: '-pthread' cd /Users/jwang/temp/source_build/mongo-cxx-driver-r3.1.0/build/src/mongocxx && /opt/local/bin/cmake -E cmake_symlink_library libmongocxx.3.1.0.dylib libmongocxx._noabi.dylib libmongocxx.dylib ... [100%] Built target test_driver