Pip install: asks for LLVMConfig.cmake

“pip install numba” fails on my Intel MacBook Air 2020, macOS 15.7.3, Python 3.14.0 (installed via Homebrew), using venv. It first complained about cmake, which I installed with Homebrew. Now it fails with:

‘Could not find a package configuration file provided by “LLVM” with any ofthe following names:’

  LLVMConfig.cmake
  llvm-config.cmake

My understanding is that “pip install numba” should be self-contained with dependencies. Could be remnants from Conda on my system, which I used before, but I doubt it. Full log below. What is wrong and how do I fix it?

Best,

Frans

(.pyglobalvenv) ~ % pip install numba
Collecting numba
Using cached numba-0.63.1-cp314-cp314-macosx_15_0_x86_64.whl
Collecting llvmlite<0.47,>=0.46.0dev0 (from numba)
Using cached llvmlite-0.46.0.tar.gz (193 kB)
Installing build dependencies … done
Getting requirements to build wheel … done
Preparing metadata (pyproject.toml) … done
Requirement already satisfied: numpy<2.4,>=1.22 in ./.pyglobalvenv/lib/python3.14/site-packages (from numba) (2.3.5)
Building wheels for collected packages: llvmlite
Building wheel for llvmlite (pyproject.toml) … error
error: subprocess-exited-with-error

× Building wheel for llvmlite (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [46 lines of output]
running bdist_wheel
/Users/fenglich/.pyglobalvenv/bin/python3.14 /private/var/folders/t1/ryvzybfd0m9311g89r75m2_80000gn/T/pip-install-qk00ljpv/llvmlite_3b52e320cadf48b0bb127bbf9e99aa95/ffi/build.py
– The C compiler identification is AppleClang 17.0.0.17000603
– The CXX compiler identification is AppleClang 17.0.0.17000603
– Detecting C compiler ABI info
– Detecting C compiler ABI info - done
– Check for working C compiler: /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: /usr/bin/c++ - skipped
– Detecting CXX compile features
– Detecting CXX compile features - done
CMake Error at CMakeLists.txt:21 (find_package):
Could not find a package configuration file provided by “LLVM” with any of
the following names:

      LLVMConfig.cmake
      llvm-config.cmake
  
    Add the installation prefix of "LLVM" to CMAKE_PREFIX_PATH or set
    "LLVM_DIR" to a directory containing one of the above files.  If "LLVM"
    provides a separate development package or SDK, be sure it has been
    installed.
  
  
  -- Configuring incomplete, errors occurred!
  Running: cmake -G Unix Makefiles /private/var/folders/t1/ryvzybfd0m9311g89r75m2_80000gn/T/pip-install-qk00ljpv/llvmlite_3b52e320cadf48b0bb127bbf9e99aa95/ffi
  Traceback (most recent call last):
    File "/private/var/folders/t1/ryvzybfd0m9311g89r75m2_80000gn/T/pip-install-qk00ljpv/llvmlite_3b52e320cadf48b0bb127bbf9e99aa95/ffi/build.py", line 209, in <module>
      main()
      ~~~~^^
    File "/private/var/folders/t1/ryvzybfd0m9311g89r75m2_80000gn/T/pip-install-qk00ljpv/llvmlite_3b52e320cadf48b0bb127bbf9e99aa95/ffi/build.py", line 203, in main
      main_posix('.dylib')
      ~~~~~~~~~~^^^^^^^^^^
    File "/private/var/folders/t1/ryvzybfd0m9311g89r75m2_80000gn/T/pip-install-qk00ljpv/llvmlite_3b52e320cadf48b0bb127bbf9e99aa95/ffi/build.py", line 189, in main_posix
      try_cmake(here_dir, build_dir, generator)
      ~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/private/var/folders/t1/ryvzybfd0m9311g89r75m2_80000gn/T/pip-install-qk00ljpv/llvmlite_3b52e320cadf48b0bb127bbf9e99aa95/ffi/build.py", line 127, in try_cmake
      subprocess.check_call(args)
      ~~~~~~~~~~~~~~~~~~~~~^^^^^^
    File "/usr/local/Cellar/python@3.14/3.14.0_1/Frameworks/Python.framework/Versions/3.14/lib/python3.14/subprocess.py", line 419, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['cmake', '-G', 'Unix Makefiles', '/private/var/folders/t1/ryvzybfd0m9311g89r75m2_80000gn/T/pip-install-qk00ljpv/llvmlite_3b52e320cadf48b0bb127bbf9e99aa95/ffi']' returned non-zero exit status 1.
  error: command '/Users/fenglich/.pyglobalvenv/bin/python3.14' failed with exit code 1
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for llvmlite
Failed to build llvmlite
error: failed-wheel-build-for-install

× Failed to build installable wheels for some pyproject.toml based projects
╰─> llvmlite
(.pyglobalvenv) ~ %

A workaround is to first run: pip install llvmlite==0.46.0b1. I think the package should do version check of Python and flag the mismatch, which it doesn’t seem to do.

Thank you for asking about this. The Intel x86_64/osx-64 platform – which I believe your hardware is – is no longer supported. A list of supported platforms can be found here:

(Although I did just notice that osx-64 is actually not listed in that document, that is an omission which should be fixed.)

Support was removed with 0.63.0, it was mentioned in the release notes:

So, your options are probably at least (there may be more options, like using conda-forge and other potential solutions):

@Frans I had another look at this today, and I think the best (most hassle free) method to get Numba 0.63.1 installed on your MacBook Air would be to use conda-forge:

From what I can tell Numba 0.63.1 for osx-64 and Python 3.14 was uploaded yesterday.

Does that help?

I have made a PR to update the support Tier documentation to include osx-64 in the Tier 2 listing:

And lastly, in case you were wondering why you end up getting this cryptic error message pointing at CMake and LLVM, this is because no pre-compiled binary wheel for osx-64 for 3.14 for 0.63.1 is available on PyPi. What pip does instead is download the source tarball and attempt to compile it locally on your system instead. This can be misleading, because what you actually want is a binary package and what you get is a failed installation from source.

1 Like

I did wonder about that :smiley:

1 Like

I’m fine without Anaconda currently, sticking to pip/pypi. I solved it by downgrading the libraries, llvmlite 0.45.1 and numba 0.62.1. My Intel MacBook Air 2020 is of course slow on demanding work loads, but works otherwise fine. It’s a pity the various supports are withdrawn. Thanks for the suggestions.

Yeah, this was unfortunately due a dilema caused by GitHub announcing there discontinuation of the osx-64 platform support for GitHub actions. If we don’t have a CI system to test and build packages we are forced to discontinue the support for that platform ourselves.Unfortunately, we did take action and removed the platform support only to then discover that GitHub reversed their decision and decided to continue to support for another year. Sadly, we didn’t have the resources to add support back in. All-in-all this was rather unfortunate.

Thank you for following up though and happy to hear you managed to find a solution that works for you.