After a little back and forth with a MongoDB engineer on their message board, I think we have figured out the issue that causing the linker/runtime errors. It seems that the Cinder application and my build of the driver don’t agree on which version of the libstdc++ to use. You can see the flag in the build output below that specifies the CXX ABI:
[ 50%] Building CXX object CMakeFiles/mongo_test.dir/main.cpp.o
/usr/bin/c++ -DFT2_BUILD_LIBRARY -DFT_DEBUG_LEVEL_TRACE -D_GLFW_X11 -D_GLFW_GLX -D_GLFW_USE_OPENGL -D_UNIX -D_GLIBCXX_USE_CXX11_ABI=0 -I/code/ai_core_backend_v2/AIBackend/mongo_test/../3rd_party/Cinder/include -I/usr/local/include/mongocxx/v_noabi -I/usr/local/include/libmongoc-1.0 -I/usr/local/include/bsoncxx/v_noabi -I/usr/local/include/libbson-1.0 -isystem /code/ai_core_backend_v2/AIBackend/3rd_party/Cinder/include -O3 -DNDEBUG -std=c++14 -std=gnu++11 -o CMakeFiles/mongo_test.dir/main.cpp.o -c /code/ai_core_backend_v2/AIBackend/mongo_test/main.cpp
Other posts have mentioned this flag causing them issues. I tried changing its value to 1 in the various Cinder CMake files and recompiling the Cinder libraries. The libs and my Mongo test app both successfully compiled, but I saw std library related runtime errors with any Cinder app I tried to run. I rebuilt the Cinder libs with the default CXX ABI thinking that I would try changing just the USE_CXX11_ABI flag being passed when building main.cpp.o (pasted above). However, I can’t seem to figure out how to do this.