Difficulty installing mongo-c-driver and mongo-cxx-driver

Hello, I’m new to MongoDB, and I’m trying to install the C++ drivers to use for educational purposes. I’m trying to build the C drivers from mongo-c-driver.1.23.5, so that I can then build the C++ drivers on top I’m having issues doing both. I’m on Windows 10, 64-bit AMD with GNU 13.1.0, which I installed using MSYS2. By default, running cmake builds files for Ninja. Here is what I’ve tried so far.

  1. Generating the build files. I’ve followed the instructions on the website, basically just running the commands as they are presented. I downloaded the necessary files, which reside in the MSYS2 directory (relative path ~/mongo-c-driver-1.23.5/cmake-build; absolute path C:\msys64\home\Mingtendo\mongo-c-driver-1.23.5). If it matters, the terminal I’m using is C:\msys64\usr\bin\bash.exe. I extract the files from the tar into the directory on the website and prepare the build with cmake -DENABLE_AUTOMATIC_INIT_AND_CLEANUP=OFF The output is below:
-- Building for: Ninja
-- The C compiler identification is GNU 13.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/msys64/mingw64/bin/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Looking for a CXX compiler
-- Looking for a CXX compiler - C:/msys64/mingw64/bin/c++.exe
-- The CXX compiler identification is GNU 13.1.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/msys64/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- No CMAKE_BUILD_TYPE selected, defaulting to RelWithDebInfo
-- Performing Test HAVE_LLD_LINKER_SUPPORT
-- Performing Test HAVE_LLD_LINKER_SUPPORT - Failed
file VERSION_CURRENT contained BUILD_VERSION 1.23.5
-- Build and install static libraries
  -- Using bundled libbson
libbson version (from VERSION_CURRENT file): 1.23.5
-- Looking for snprintf
-- Looking for snprintf - found
-- Performing Test BSON_HAVE_TIMESPEC
-- Performing Test BSON_HAVE_TIMESPEC - Success
--     struct timespec found
-- Looking for gmtime_r
-- Looking for gmtime_r - not found
-- Looking for rand_r
-- Looking for rand_r - not found
-- Looking for strings.h
-- Looking for strings.h - found
-- Looking for strlcpy
-- Looking for strlcpy - not found
-- Looking for stdbool.h
-- Looking for stdbool.h - found
-- Looking for clock_gettime
-- Looking for clock_gettime - found
-- Looking for strnlen
-- Looking for strnlen - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
libmongoc version (from VERSION_CURRENT file): 1.23.5
-- Searching for zlib CMake packages
-- Found ZLIB: C:/msys64/mingw64/lib/libz.dll.a (found version "1.2.13")  
--   zlib found version "1.2.13"
--   zlib include path "C:/msys64/mingw64/include"
--   zlib libraries "C:/msys64/mingw64/lib/libz.dll.a"
-- Looking for include file unistd.h
-- Looking for include file unistd.h - found
-- Looking for include file stdarg.h
-- Looking for include file stdarg.h - found
-- Searching for compression library zstd
-- Found PkgConfig: C:/msys64/mingw64/bin/pkg-config.exe (found version "1.8.0") 
-- Checking for module 'libzstd'
--   Found libzstd, version 1.5.5
--   Found zstd version 1.5.5 in 
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of socklen_t
-- Check size of socklen_t - done
-- Looking for sched_getcpu
-- Looking for sched_getcpu - not found
-- Searching for compression library header snappy-c.h
--   Not found (specify -DCMAKE_INCLUDE_PATH=/path/to/snappy/include for Snappy compression)
-- No ICU library found, SASLPrep disabled for SCRAM-SHA-256 authentication.
-- If ICU is installed in a non-standard directory, define ICU_ROOT as the ICU installation path.
Searching for libmongocrypt
-- libmongocrypt not found. Configuring without Client-Side Field Level Encryption support.
-- Performing Test MONGOC_HAVE_SS_FAMILY
-- Performing Test MONGOC_HAVE_SS_FAMILY - Failed
-- Compiling against Secure Channel
-- Compiling against Windows SSPI
-- Building with MONGODB-AWS auth support
-- Build files generated for:
--      build system: Ninja
-- Configuring done (14.4s)
-- Generating done (0.4s)
-- Build files have been written to: C:/msys64/home/Mingtendo/mongo-c-driver-1.23.5/cmake-build

The last line looks like what I’m supposed to get, so despite some of the include files not being found I just push on. (Side note: I do have Visual Studio 17 2022 installed, and its generators for cmake via MSYS2, but attempting to build and install both C and C++ drivers didn’t seem to work either).

  1. Building the C drivers and installation. To do the build, I run sudo cmake --build . --target install. Before when I tried to do so, I would get an error that said I had insufficient privileges or something, so I installed win-sudo to get elevate the command.
$ sudo cmake --build . --target install
Failed to create ConsoleBuf!
setActiveInputCodepage failed!
Failed to create ConsoleBuf!
setActiveInputCodepage failed!
[1/505] Building C object src/libbson/CMakeFiles/bson_shared.dir/src/bson/bson-error.c.obj
[2/505] Building C object src/libbson/CMakeFiles/bson_shared.dir/src/bson/bson-md5.c.obj
[3/505] Building C object src/libbson/CMakeFiles/bson_shared.dir/src/bson/bson-clock.c.obj
[4/505] Building C object src/libbson/CMakeFiles/bson_shared.dir/src/bson/bson-memory.c.obj
[5/505] Building C object src/libbson/CMakeFiles/bson_shared.dir/__/common/common-thread.c.obj

-- 500 more lines of building files --

[504/505] Install the project...
-- Install configuration: "RelWithDebInfo"
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/share/mongo-c-driver/COPYING
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/share/mongo-c-driver/NEWS
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/share/mongo-c-driver/README.rst
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/share/mongo-c-driver/THIRD_PARTY_NOTICES
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/libbson-1.0.dll.a
-- Installing: C:/Program Files (x86)/mongo-c-driver/bin/libbson-1.0.dll
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/libbson-static-1.0.a
-- Installing: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-config.h
-- Installing: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-version.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bcon.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-atomic.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-clock.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-cmp.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-compat.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-context.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-decimal128.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-endian.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-error.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-iter.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-json.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-keys.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-macros.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-md5.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-memory.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-oid.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-prelude.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-reader.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-string.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-types.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-utf8.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-value.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-version-functions.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson/bson-writer.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libbson-1.0/bson.h
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/pkgconfig/libbson-1.0.pc
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/pkgconfig/libbson-static-1.0.pc
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/bson-1.0/bson-targets.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/bson-1.0/bson-targets-relwithdebinfo.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/bson-1.0/bson-1.0-config.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/bson-1.0/bson-1.0-config-version.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/libbson-1.0/libbson-1.0-config.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/libbson-1.0/libbson-1.0-config-version.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/libbson-static-1.0/libbson-static-1.0-config.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/libbson-static-1.0/libbson-static-1.0-config-version.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/libmongoc-1.0.dll.a
-- Installing: C:/Program Files (x86)/mongo-c-driver/bin/libmongoc-1.0.dll
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/libmongoc-static-1.0.a
-- Installing: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-config.h
-- Installing: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-version.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-apm.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-bulk-operation.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-change-stream.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-client.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-client-pool.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-client-side-encryption.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-collection.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-cursor.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-database.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-error.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-flags.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-find-and-modify.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-gridfs.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-gridfs-bucket.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-gridfs-file.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-gridfs-file-page.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-gridfs-file-list.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-handshake.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-host-list.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-init.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-index.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-iovec.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-log.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-macros.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-matcher.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-opcode.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-optional.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-prelude.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-read-concern.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-read-prefs.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-server-api.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-server-description.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-client-session.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-socket.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-stream-tls-libressl.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-stream-tls-openssl.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-stream.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-stream-buffered.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-stream-file.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-stream-gridfs.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-stream-socket.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-topology-description.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-uri.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-version-functions.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-write-concern.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-rand.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-stream-tls.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc/mongoc-ssl.h
-- Up-to-date: C:/Program Files (x86)/mongo-c-driver/include/libmongoc-1.0/mongoc.h
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/pkgconfig/libmongoc-1.0.pc
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/pkgconfig/libmongoc-static-1.0.pc
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/pkgconfig/libmongoc-ssl-1.0.pc
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/mongoc-1.0/mongoc-targets.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/mongoc-1.0/mongoc-targets-relwithdebinfo.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/mongoc-1.0/mongoc-1.0-config.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/mongoc-1.0/mongoc-1.0-config-version.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/libmongoc-1.0/libmongoc-1.0-config.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/libmongoc-1.0/libmongoc-1.0-config-version.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/libmongoc-static-1.0/libmongoc-static-1.0-config.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/libmongoc-static-1.0/libmongoc-static-1.0-config-version.cmake
-- Installing: C:/Program Files (x86)/mongo-c-driver/lib/cmake/libmongoc-static-1.0/libmongoc-static-1.0-config-version.cmake
CMake Warning (dev) at generate_uninstall/cmake_install.cmake:55:
  Syntax Warning in cmake code at column 36

  Argument not separated from preceding token by whitespace.
Call Stack (most recent call first):
  cmake_install.cmake:57 (include)
This warning is for project developers.  Use -Wno-dev to suppress it.

mongo-c-driver was unexpected at this time.
-- Installing: C:/Program Files (x86)/mongo-c-driver/share/mongo-c-driver/uninstall.cmd

I wind up with this. I’m not sure what this means, but it doesn’t sound good. Nevertheless, when I check that directory, it does seem like all the files are there, in my C: drive. So to me it seems to have worked. I’m not sure if this is where things went wrong, but it could be. The guide doesn’t tell me what sort of output to expect for a successful build.

  1. Configuring the C++ drivers. At this point, I go back to mongocxx.org’s website, to build the C++ drivers. I install Boost from their website, and then I download the latest version of the mongocxx driver following the instructions on the page. I download them to C:\msys64\home\Mingtendo, just like the mongo-c drivers. I extract them to the same subdirectory as noted in the guide. But the guide only shows you how to build with Visual Studio, so I just try to adapt the examples to my situation. Here’s what happened:
$ cmake -DBOOST_ROOT='C:\boost_1_82_0' -DCMAKE_PREFIX_PATH='C:/Program Files (x86)/mongo-c-driver/' -DCMAKE_INSTALL_PREFIX='C:\Program Files\mongo-cxx-driver' ..
-- No build type selected, default is Release
-- Auto-configuring bsoncxx to use MNMLSTC for polyfills since C++17 is inactive
bsoncxx version: 3.7.2
found libbson version 1.23.5
mongocxx version: 3.7.2
found libmongoc version 1.23.5
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Build files generated for:
--      build system: Ninja
-- Configuring done (1.4s)
-- Generating done (0.5s)
CMake Warning (dev):
  Policy CMP0058 is not set: Ninja requires custom command byproducts to be
  explicit.  Run "cmake --help-policy CMP0058" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.

  This project specifies custom command DEPENDS on files in the build tree
  that are not specified as the OUTPUT or BYPRODUCTS of any
  add_custom_command or add_custom_target:

   .gitignore
   VERSION_CURRENT

  For compatibility with versions of CMake that did not have the BYPRODUCTS
  option, CMake is generating phony rules for such files to convince 'ninja'
  to build.

  Project authors should add the missing BYPRODUCTS or OUTPUT options to the
  custom commands that produce these files.
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Build files have been written to: C:/msys64/home/Mingtendo/mongo-cxx-driver-r3.7.2/build

This seems to have gone well, so time to install it.

  1. Installing the C++ driver. This is where things go haywire for me. I follow Step 5 on the page and run cmake --build . --target install to build and install the C++ driver:
$ cmake --build . --target install
[1/390] Performing install step for 'EP_mnmlstc_core'
FAILED: src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core-stamp/EP_mnmlstc_core-install C:/msys64/home/Mingtendo/mongo-cxx-driver-r3.7.2/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core-stamp/EP_mnmlstc_core-install        
cmd.exe /C "cd /D C:\msys64\home\Mingtendo\mongo-cxx-driver-r3.7.2\build\src\bsoncxx\third_party\EP_mnmlstc_core-prefix\src\EP_mnmlstc_core-build && C:\msys64\mingw64\bin\cmake.exe -P C:/msys64/home/Mingtendo/mongo-cxx-driver-r3.7.2/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core-stamp/EP_mnmlstc_core-install-Release.cmake && C:\msys64\mingw64\bin\cmake.exe -E touch C:/msys64/home/Mingtendo/mongo-cxx-driver-r3.7.2/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core-stamp/EP_mnmlstc_core-install"
CMake Error at C:/msys64/home/Mingtendo/mongo-cxx-driver-r3.7.2/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core-stamp/EP_mnmlstc_core-install-Release.cmake:49 (message):
  Command failed: 1

   'C:/msys64/mingw64/bin/cmake.exe' '--build' '.' '--target' 'install'

  See also

    C:/msys64/home/Mingtendo/mongo-cxx-driver-r3.7.2/build/src/bsoncxx/third_party/EP_mnmlstc_core-prefix/src/EP_mnmlstc_core-stamp/EP_mnmlstc_core-install-*.log


ninja: build stopped: subcommand failed.

It fails spectacularly, but fortunately there’s a log file, so I check it out:

$ cat EP_mnmlstc_core-install-*.log
CMake Error at cmake_install.cmake:41 (file):
  file cannot create directory: C:/Program
  Files/mongo-cxx-driver/include/bsoncxx/v_noabi/bsoncxx/third_party/mnmlstc/share/cmake/core.
  Maybe need administrative privileges.


[0/1] Install the project...
-- Install configuration: "Release"
FAILED: CMakeFiles/install.util
cmd.exe /C "cd /D C:\msys64\home\Mingtendo\mongo-cxx-driver-r3.7.2\build\src\bsoncxx\third_party\EP_mnmlstc_core-prefix\src\EP_mnmlstc_core-build && C:\msys64\mingw64\bin\cmake.exe -P cmake_install.cmake"
ninja: build stopped: subcommand failed.

So I run the command again, this time using sudo (reminder, I’m on Windows 10, I have win-sudo installed):

$ sudo cmake --build . --target install
Failed to create ConsoleBuf!
setActiveInputCodepage failed!
Failed to create ConsoleBuf!
setActiveInputCodepage failed!
[1/390] Performing install step for 'EP_mnmlstc_core'
[2/390] Performing fix-includes step for 'EP_mnmlstc_core'
[3/390] Completed 'EP_mnmlstc_core'
[4/390] Building CXX object src/bsoncxx/CMakeFiles/bsoncxx_shared.dir/private/itoa.cpp.obj
[5/390] Building CXX object src/bsoncxx/CMakeFiles/bsoncxx_testing.dir/private/itoa.cpp.obj

-- 385 more lines of building and linking files --

[389/390] Install the project...
-- Install configuration: "Release"
-- Installing: C:/Program Files/mongo-cxx-driver/share/mongo-cxx-driver/LICENSE
-- Installing: C:/Program Files/mongo-cxx-driver/share/mongo-cxx-driver/README.md
-- Installing: C:/Program Files/mongo-cxx-driver/share/mongo-cxx-driver/THIRD-PARTY-NOTICES
-- Up-to-date: C:/Program Files/mongo-cxx-driver/include/bsoncxx/v_noabi/bsoncxx
-- Installing: C:/Program Files/mongo-cxx-driver/include/bsoncxx/v_noabi/bsoncxx/array
-- Installing: C:/Program Files/mongo-cxx-driver/include/bsoncxx/v_noabi/bsoncxx/array/element.hpp
-- Installing: C:/Program Files/mongo-cxx-driver/include/bsoncxx/v_noabi/bsoncxx/array/value.hpp
-- Installing: C:/Program Files/mongo-cxx-driver/include/bsoncxx/v_noabi/bsoncxx/array/view.hpp

-- Couple hundred more lines of installing stuff --

-- Installing: C:/Program Files/mongo-cxx-driver/include/mongocxx/v_noabi/mongocxx/write_type.hpp
-- Installing: C:/Program Files/mongo-cxx-driver/include/mongocxx/v_noabi/mongocxx/config/export.hpp
-- Installing: C:/Program Files/mongo-cxx-driver/lib/cmake/libmongocxx-3.7.2/libmongocxx-config.cmake
-- Installing: C:/Program Files/mongo-cxx-driver/lib/cmake/libmongocxx-3.7.2/libmongocxx-config-version.cmake
-- Installing: C:/Program Files/mongo-cxx-driver/lib/libmongocxx.dll.a
-- Installing: C:/Program Files/mongo-cxx-driver/bin/libmongocxx.dll
-- Installing: C:/Program Files/mongo-cxx-driver/lib/cmake/mongocxx-3.7.2/mongocxx_targets.cmake
-- Installing: C:/Program Files/mongo-cxx-driver/lib/cmake/mongocxx-3.7.2/mongocxx_targets-release.cmake
-- Installing: C:/Program Files/mongo-cxx-driver/lib/cmake/mongocxx-3.7.2/mongocxx-config-version.cmake
-- Installing: C:/Program Files/mongo-cxx-driver/lib/cmake/mongocxx-3.7.2/mongocxx-config.cmake
-- Installing: C:/Program Files/mongo-cxx-driver/include/mongocxx/v_noabi/mongocxx/config/config.hpp
-- Installing: C:/Program Files/mongo-cxx-driver/include/mongocxx/v_noabi/mongocxx/config/version.hpp
-- Installing: C:/Program Files/mongo-cxx-driver/lib/pkgconfig/libmongocxx.pc
******  B A T C H   R E C U R S I O N  exceeds STACK limits ******
Recursion Count=289, Stack Usage=90 percent
******       B A T C H   PROCESSING IS   A B O R T E D      ******
-- Installing: C:/Program Files/mongo-cxx-driver/share/mongo-cxx-driver/uninstall.cmd

It says the batch processing is aborted, but when I check the destination folder, C:\Program Files\mongo-cxx-driver, it seems to be filled with the necessary .h/.hpp/.cpp files. So I run it again, maybe that will help?

$ sudo cmake --build . --target install
Failed to create ConsoleBuf!
setActiveInputCodepage failed!
Failed to create ConsoleBuf!
setActiveInputCodepage failed!
[0/1] Install the project...
-- Install configuration: "Release"
-- Up-to-date: C:/Program Files/mongo-cxx-driver/share/mongo-cxx-driver/LICENSE
-- Up-to-date: C:/Program Files/mongo-cxx-driver/share/mongo-cxx-driver/README.md
-- Up-to-date: C:/Program Files/mongo-cxx-driver/share/mongo-cxx-driver/THIRD-PARTY-NOTICES
-- Up-to-date: C:/Program Files/mongo-cxx-driver/include/bsoncxx/v_noabi/bsoncxx
-- Up-to-date: C:/Program Files/mongo-cxx-driver/include/bsoncxx/v_noabi/bsoncxx/array
-- Up-to-date: C:/Program Files/mongo-cxx-driver/include/bsoncxx/v_noabi/bsoncxx/array/element.hpp
-- Up-to-date: C:/Program Files/mongo-cxx-driver/include/bsoncxx/v_noabi/bsoncxx/array/value.hpp
-- Up-to-date: C:/Program Files/mongo-cxx-driver/include/bsoncxx/v_noabi/bsoncxx/array/view.hpp
-- Up-to-date: C:/Program Files/mongo-cxx-driver/include/bsoncxx/v_noabi/bsoncxx/array/view_or_value.hpp

-- Ditto for 200+ lines --

-- Up-to-date: C:/Program Files/mongo-cxx-driver/include/mongocxx/v_noabi/mongocxx/write_concern.hpp
-- Up-to-date: C:/Program Files/mongo-cxx-driver/include/mongocxx/v_noabi/mongocxx/write_type.hpp
-- Up-to-date: C:/Program Files/mongo-cxx-driver/include/mongocxx/v_noabi/mongocxx/config/export.hpp
-- Up-to-date: C:/Program Files/mongo-cxx-driver/lib/cmake/libmongocxx-3.7.2/libmongocxx-config.cmake
-- Up-to-date: C:/Program Files/mongo-cxx-driver/lib/cmake/libmongocxx-3.7.2/libmongocxx-config-version.cmake
-- Up-to-date: C:/Program Files/mongo-cxx-driver/lib/libmongocxx.dll.a
-- Up-to-date: C:/Program Files/mongo-cxx-driver/bin/libmongocxx.dll
-- Up-to-date: C:/Program Files/mongo-cxx-driver/lib/cmake/mongocxx-3.7.2/mongocxx_targets.cmake
-- Up-to-date: C:/Program Files/mongo-cxx-driver/lib/cmake/mongocxx-3.7.2/mongocxx_targets-release.cmake
-- Up-to-date: C:/Program Files/mongo-cxx-driver/lib/cmake/mongocxx-3.7.2/mongocxx-config-version.cmake
-- Up-to-date: C:/Program Files/mongo-cxx-driver/lib/cmake/mongocxx-3.7.2/mongocxx-config.cmake
-- Up-to-date: C:/Program Files/mongo-cxx-driver/include/mongocxx/v_noabi/mongocxx/config/config.hpp
-- Up-to-date: C:/Program Files/mongo-cxx-driver/include/mongocxx/v_noabi/mongocxx/config/version.hpp
-- Up-to-date: C:/Program Files/mongo-cxx-driver/lib/pkgconfig/libmongocxx.pc
******  B A T C H   R E C U R S I O N  exceeds STACK limits ******
Recursion Count=288, Stack Usage=90 percent
******       B A T C H   PROCESSING IS   A B O R T E D      ******
-- Installing: C:/Program Files/mongo-cxx-driver/share/mongo-cxx-driver/uninstall.cmd

At this point I’m not sure what to do. Is my driver installed or not? Is it safe to use? I have no idea, because the guide doesn’t tell me what I should expect as an output for a successful operation. Any help would be much appreciated, and I apologize if this post was too long, since I’m not sure where things went wrong.

If you find the library installed at the given path (C:/Program Files/mongo-cxx-driver) as per your log, ie. include, bin and lib folders - it means the driver has been installed.
You can also look at this tutorial for reference - Getting Started with MongoDB and C++ | MongoDB

2 Likes

This was exactly the sort of thing I was looking for to help me, but it didn’t seem to pop up in my Google searches anywhere. My steps shown here were basically hacked together from various pages of information on the drivers and how to install them from compile. Thanks so much! This page should be more visible and easier to find.

This topic was automatically closed 5 days after the last reply. New replies are no longer allowed.