Closed d-leroy closed 1 year ago
Hi, I tried it again on the new GraalVM community version (22.1.0), and got a different error message:
Building wheels for collected packages: cmake
Created temporary directory: /tmp/pip-wheel-qbudyufc
Destination directory: /tmp/pip-wheel-qbudyufc
Running command /home/leroyd/venv-graalvm/bin/graalpython /home/leroyd/venv-graalvm/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py build_wheel /tmp/tmp9i_r0ghh
--------------------------------------------------------------------------------
-- Trying "Ninja" generator
--------------------------------
---------------------------
----------------------
-----------------
------------
-------
--
Not searching for unused variables given on the command line.
-- The C compiler identification is Clang 12.0.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/leroyd/venv-graalvm/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- The CXX compiler identification is Clang 12.0.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/leroyd/venv-graalvm/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/pip-install-wsd4r886/cmake/_cmake_test_compile/build
--
-------
------------
-----------------
----------------------
---------------------------
--------------------------------
-- Trying "Ninja" generator - success
--------------------------------------------------------------------------------
Traceback (most recent call last):
File "/home/leroyd/venv-graalvm/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 280, in <module '_in_process.py'>
main()
File "/home/leroyd/venv-graalvm/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 263, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/home/leroyd/venv-graalvm/lib/python3.8/site-packages/pip/_vendor/pep517/_in_process.py", line 204, in build_wheel
return _build_backend().build_wheel(wheel_directory, config_settings,
File "/tmp/pip-build-env-4gkcdsou/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 244, in build_wheel
return self._build_with_temp_dir(['bdist_wheel'], '.whl',
File "/tmp/pip-build-env-4gkcdsou/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 229, in _build_with_temp_dir
self.run_setup()
File "/tmp/pip-build-env-4gkcdsou/overlay/lib/python3.8/site-packages/setuptools/build_meta.py", line 174, in run_setup
exec(compile(code, __file__, 'exec'), locals())
File "/tmp/pip-install-wsd4r886/cmake/setup.py", line 32, in <module 'setup.py'>
setup(
File "/tmp/pip-build-env-4gkcdsou/overlay/lib/python3.8/site-packages/skbuild/setuptools_wrap.py", line 637, in setup
env = cmkr.configure(
File "/tmp/pip-build-env-4gkcdsou/overlay/lib/python3.8/site-packages/skbuild/cmaker.py", line 273, in configure
("-DPYTHON_INCLUDE_DIR:PATH=" + python_include_dir),
TypeError: can only concatenate str (not "NoneType") to str
Building wheel for cmake (PEP 517) ... error
ERROR: Failed building wheel for cmake
After looking at cmaker.py, it seems skbuild is looking for the 'INCLUDEPY' variable in sysconfig but the only variable defined on my installation pointing to the include directory of Python is 'CONFINCLUDEPY'.
Is there maybe a workaround to force a value in sysconfig for 'INCLUDEPY'?
Hi, I already have a PR that adds the missing sysconfig variables, but unfortunately it's not enough to make the cmake build succeed. It now fails because some C++ binary links against our C++ standard library, but cannot find it at runtime.
I couldn't get cmake built with our toolchain, so I added a patch that makes it download prebuilt cmake. Now it should install fine.
As the title says,
pip install cmake
in an activated graalpython venv fails with the following output: