The below CMake error was encountered in the building wiredtiger step while "pip install wiredtiger" version 11.2.0 Python package on macOS.
The issue was initially reported with the below environment:
- Python version: 3.9.8
- MacBook M3 (arm64)
and then reproduced in another environment:
- Python version: 3.12.2
- MacBook M1 (arm64)
$ pip install wiredtiger Collecting wiredtiger Using cached wiredtiger-11.2.0.tar.gz (9.6 MB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Collecting cmake (from wiredtiger) Using cached cmake-3.30.3-py3-none-macosx_11_0_universal2.macosx_11_0_arm64.macosx_10_10_x86_64.whl.metadata (6.4 kB) Collecting ninja (from wiredtiger) Using cached ninja-1.11.1.1-py2.py3-none-macosx_10_9_universal2.macosx_10_9_x86_64.macosx_11_0_arm64.macosx_11_0_universal2.whl.metadata (5.3 kB) Downloading cmake-3.30.3-py3-none-macosx_11_0_universal2.macosx_11_0_arm64.macosx_10_10_x86_64.whl (47.9 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.9/47.9 MB 3.1 MB/s eta 0:00:00 Using cached ninja-1.11.1.1-py2.py3-none-macosx_10_9_universal2.macosx_10_9_x86_64.macosx_11_0_arm64.macosx_11_0_universal2.whl (270 kB) Building wheels for collected packages: wiredtiger Building wheel for wiredtiger (pyproject.toml) ... error error: subprocess-exited-with-error × Building wheel for wiredtiger (pyproject.toml) did not run successfully. │ exit code: 1 ╰─> [91 lines of output] setup.py: snappy: missing setup.py: Note: a suitable version of snappy can be found at https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz It can be installed via: yum install snappy snappy-develor via: apt-get install libsnappy-dev setup.py: after installing it, set CMAKE_LIBRARY_PATH setup.py: zstd: missing setup.py: Need to install zstd It can be installed via: apt-get install libzstd-dev setup.py: after installing it, set CMAKE_LIBRARY_PATH running bdist_wheel running build running build_py creating build creating build/lib.macosx-14.0-arm64-cpython-312 creating build/lib.macosx-14.0-arm64-cpython-312/wiredtiger copying ./fpacking.py -> build/lib.macosx-14.0-arm64-cpython-312/wiredtiger copying ./__init__.py -> build/lib.macosx-14.0-arm64-cpython-312/wiredtiger copying ./packutil.py -> build/lib.macosx-14.0-arm64-cpython-312/wiredtiger copying ./packing.py -> build/lib.macosx-14.0-arm64-cpython-312/wiredtiger copying ./intpacking.py -> build/lib.macosx-14.0-arm64-cpython-312/wiredtiger running egg_info writing wiredtiger.egg-info/PKG-INFO writing dependency_links to wiredtiger.egg-info/dependency_links.txt writing requirements to wiredtiger.egg-info/requires.txt writing top-level names to wiredtiger.egg-info/top_level.txt reading manifest file 'wiredtiger.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'wiredtiger.egg-info/SOURCES.txt' copying ./setup.py -> build/lib.macosx-14.0-arm64-cpython-312/wiredtiger running build_ext wiredtiger configure -- The C compiler identification is AppleClang 15.0.0.15000309 -- The CXX compiler identification is AppleClang 15.0.0.15000309 -- The ASM compiler identification is Clang with GNU-like command-line -- Found assembler: /Library/Developer/CommandLineTools/usr/bin/cc -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Performing Test HAVE_BUILD_MODE_C_FLAGS -- Performing Test HAVE_BUILD_MODE_C_FLAGS - Success -- Performing Test HAVE_BUILD_MODE_CXX_FLAGS -- Performing Test HAVE_BUILD_MODE_CXX_FLAGS - Success -- Performing Test HAVE_BUILD_MODE_C_FLAGS -- Performing Test HAVE_BUILD_MODE_C_FLAGS - Success -- Performing Test HAVE_BUILD_MODE_CXX_FLAGS -- Performing Test HAVE_BUILD_MODE_CXX_FLAGS - Success -- Performing Test HAVE_BUILD_MODE_C_FLAGS -- Performing Test HAVE_BUILD_MODE_C_FLAGS - Failed -- Performing Test HAVE_BUILD_MODE_C_FLAGS -- Performing Test HAVE_BUILD_MODE_C_FLAGS - Success -- Performing Test HAVE_BUILD_MODE_CXX_FLAGS -- Performing Test HAVE_BUILD_MODE_CXX_FLAGS - Success -- Performing Test HAVE_BUILD_MODE_C_FLAGS -- Performing Test HAVE_BUILD_MODE_C_FLAGS - Success -- Performing Test HAVE_BUILD_MODE_CXX_FLAGS -- Performing Test HAVE_BUILD_MODE_CXX_FLAGS - Success -- Performing Test has_moutline_atomics -- Performing Test has_moutline_atomics - Failed -- Looking for arm_neon.h -- Looking for arm_neon.h - not found -- Looking for sys/types.h -- Looking for sys/types.h - not found -- Looking for stdint.h -- Looking for stdint.h - not found -- Looking for stddef.h -- Looking for stddef.h - not found -- Check size of size_t -- Check size of size_t - failed CMake Error at cmake/helpers.cmake:575 (if): if given arguments: "EQUAL" "" Unknown arguments specified Call Stack (most recent call first): cmake/configs/auto.cmake:6 (assert_type_size) CMakeLists.txt:48 (include) -- Configuring incomplete, errors occurred! See also "/private/var/folders/nv/pnv1b11d3yg5f_5xtmz5znc80000gp/T/pip-install-piisde21/wiredtiger_bbaaa3c9be9b4522a9603e1a2407f3e0/cmake_pip_build/CMakeFiles/CMakeOutput.log". See also "/private/var/folders/nv/pnv1b11d3yg5f_5xtmz5znc80000gp/T/pip-install-piisde21/wiredtiger_bbaaa3c9be9b4522a9603e1a2407f3e0/cmake_pip_build/CMakeFiles/CMakeError.log". setup.py: build command failed: "sh" "-c" "cmake -B cmake_pip_build -G Ninja -DENABLE_STATIC=1 -DENABLE_SHARED=0 -DWITH_PIC=1 -DCMAKE_C_FLAGS="${CFLAGS:-}" -DENABLE_PYTHON=1 -DHAVE_BUILTIN_EXTENSION_SNAPPY=1 -DHAVE_BUILTIN_EXTENSION_ZLIB=1 -DHAVE_BUILTIN_EXTENSION_ZSTD=1" running: "sh" "-c" "cmake -B cmake_pip_build -G Ninja -DENABLE_STATIC=1 -DENABLE_SHARED=0 -DWITH_PIC=1 -DCMAKE_C_FLAGS="${CFLAGS:-}" -DENABLE_PYTHON=1 -DHAVE_BUILTIN_EXTENSION_SNAPPY=1 -DHAVE_BUILTIN_EXTENSION_ZLIB=1 -DHAVE_BUILTIN_EXTENSION_ZSTD=1" [end of output] note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for wiredtiger Failed to build wiredtiger ERROR: Could not build wheels for wiredtiger, which is required to install pyproject.toml-based projects [notice] A new release of pip is available: 24.0 -> 24.2 [notice] To update, run: pip install --upgrade pip
It's worth noting this issue was not seen on the Intel MacBook (x86).