Skip to content

Failed to build cuvec #47

Open
Open
@OliJimbo

Description

@OliJimbo

Hi folks,

I've been trying to install AMYPAD and NiftyPET packages - both of which have cuvec as a dependency.

I'm using Ubuntu 22:04LTE with an NVIDIA GTX 1660.

Whenever installing cuvec is attempted I get the following error:

Building wheel for cuvec (pyproject.toml): started
        Building wheel for cuvec (pyproject.toml): finished with status 'error'
        error: subprocess-exited-with-error
      
        × Building wheel for cuvec (pyproject.toml) did not run successfully.
        │ exit code: 1
        ╰─> [28 lines of output]
            pip_system_certs: ERROR: could not register module: No module named 'wrapt'
            *** scikit-build-core 0.10.7 using CMake 3.31.4 (wheel)
            *** Configuring CMake...
            loading initial cache file /tmp/tmpocwmrgay/build/CMakeInit.txt

It seems to be failing at importing wrapt? But wrapt is definitely installed on this system (and the VE that it is running in).

I can build cuvec manually using cmake and install using make install:

This program built for x86_64-pc-linux-gnu
Report bugs to <bug-make@gnu.org>
(base) hackerman@hackerman-WS-C621E-SAGE-Series:~/.../cuvec$ make install -B
[ 16%] Building CUDA object CMakeFiles/cuvec_cpython.dir/src/cpython.cu.o
[ 33%] Linking CUDA shared library libcuvec_cpython.so
[ 33%] Built target cuvec_cpython
[ 50%] Building CUDA object src/example_cpython/CMakeFiles/example_cpython.dir/example_mod.cu.o
[ 66%] Linking CUDA shared module libexample_cpython.so
[ 66%] Built target example_cpython
[ 83%] Building CUDA object src/example_swig/CMakeFiles/example_swig.dir/example_swig.cu.o
[100%] Linking CUDA shared module libexample_swig.so
[100%] Built target example_swig

so it seems to be an issue with the pip installation pipeline.

pip install . --verbose
Using pip 25.0 from /home/hackerman/miniconda3/lib/python3.12/site-packages/pip (python 3.12)
Processing /home/hackerman/CuVec
  Running command pip subprocess to install build dependencies
  Using pip 25.0 from /home/hackerman/miniconda3/lib/python3.12/site-packages/pip (python 3.12)
  Collecting setuptools_scm>=7
    Obtaining dependency information for setuptools_scm>=7 from https://files.pythonhosted.org/packages/a0/b9/1906bfeb30f2fc13bb39bf7ddb8749784c05faadbd18a21cf141ba37bff2/setuptools_scm-8.1.0-py3-none-any.whl.metadata
    Downloading setuptools_scm-8.1.0-py3-none-any.whl.metadata (6.6 kB)
  Collecting scikit-build-core>=0.5 (from scikit-build-core[pyproject]>=0.5)
    Obtaining dependency information for scikit-build-core>=0.5 from https://files.pythonhosted.org/packages/88/fe/90476c4f6a1b2f922efa00d26e876dd40c7279e28ec18f08f0851ad21ba6/scikit_build_core-0.10.7-py3-none-any.whl.metadata
    Downloading scikit_build_core-0.10.7-py3-none-any.whl.metadata (21 kB)
  Collecting swig>=4
    Obtaining dependency information for swig>=4 from https://files.pythonhosted.org/packages/11/56/b3503019d00b2cd8bb8e770cc7ac8108a1dfba8d38fc4d16c4259d7ea914/swig-4.3.0-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata
    Downloading swig-4.3.0-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (3.5 kB)
  Collecting pybind11
    Obtaining dependency information for pybind11 from https://files.pythonhosted.org/packages/13/2f/0f24b288e2ce56f51c920137620b4434a38fd80583dbbe24fc2a1656c388/pybind11-2.13.6-py3-none-any.whl.metadata
    Downloading pybind11-2.13.6-py3-none-any.whl.metadata (9.5 kB)
  Collecting packaging>=20 (from setuptools_scm>=7)
    Obtaining dependency information for packaging>=20 from https://files.pythonhosted.org/packages/88/ef/eb23f262cca3c0c4eb7ab1933c3b1f03d021f2c48f54763065b6f0e321be/packaging-24.2-py3-none-any.whl.metadata
    Downloading packaging-24.2-py3-none-any.whl.metadata (3.2 kB)
  Collecting setuptools (from setuptools_scm>=7)
    Obtaining dependency information for setuptools from https://files.pythonhosted.org/packages/69/8a/b9dc7678803429e4a3bc9ba462fa3dd9066824d3c607490235c6a796be5a/setuptools-75.8.0-py3-none-any.whl.metadata
    Downloading setuptools-75.8.0-py3-none-any.whl.metadata (6.7 kB)
  Collecting pathspec>=0.10.1 (from scikit-build-core>=0.5->scikit-build-core[pyproject]>=0.5)
    Obtaining dependency information for pathspec>=0.10.1 from https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl.metadata
    Downloading pathspec-0.12.1-py3-none-any.whl.metadata (21 kB)
  Downloading setuptools_scm-8.1.0-py3-none-any.whl (43 kB)
  Downloading scikit_build_core-0.10.7-py3-none-any.whl (165 kB)
  Downloading swig-4.3.0-py2.py3-none-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.9/1.9 MB 40.0 MB/s eta 0:00:00
  Downloading pybind11-2.13.6-py3-none-any.whl (243 kB)
  Downloading packaging-24.2-py3-none-any.whl (65 kB)
  Downloading pathspec-0.12.1-py3-none-any.whl (31 kB)
  Downloading setuptools-75.8.0-py3-none-any.whl (1.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 23.8 MB/s eta 0:00:00
  Installing collected packages: swig, setuptools, pybind11, pathspec, packaging, setuptools_scm, scikit-build-core
    Creating /tmp/pip-build-env-b3cu9dfq/overlay/bin
    changing mode of /tmp/pip-build-env-b3cu9dfq/overlay/bin/swig to 775
    changing mode of /tmp/pip-build-env-b3cu9dfq/overlay/bin/swig4.0 to 775
    changing mode of /tmp/pip-build-env-b3cu9dfq/overlay/bin/pybind11-config to 775
  ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
  amypet 1.6.0 requires nimpa, which is not installed.
  Successfully installed packaging-24.2 pathspec-0.12.1 pybind11-2.13.6 scikit-build-core-0.10.7 setuptools-75.8.0 setuptools_scm-8.1.0 swig-4.3.0
  Installing build dependencies ... done
  Running command Getting requirements to build wheel
  Could not determine CMake version via --version, got "pip_system_certs: ERROR: could not register module: No module named 'wrapt'\n" 'Traceback (most recent call last):\n  File "/home/hackerman/miniconda3/bin/cmake", line 5, in <module>\n    from cmake import cmake\nModuleNotFoundError: No module named \'cmake\'\n'
  pip_system_certs: ERROR: could not register module: No module named 'wrapt'
  Getting requirements to build wheel ... done
  Running command pip subprocess to install backend dependencies
  Using pip 25.0 from /home/hackerman/miniconda3/lib/python3.12/site-packages/pip (python 3.12)
  Collecting cmake>=3.24
    Obtaining dependency information for cmake>=3.24 from https://files.pythonhosted.org/packages/e5/9e/2594d7fa8b263296497bf044469b4ab4797c51675ea629f9672011cdfe09/cmake-3.31.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
    Downloading cmake-3.31.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.5 kB)
  Downloading cmake-3.31.4-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (27.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 27.8/27.8 MB 63.7 MB/s eta 0:00:00
  Installing collected packages: cmake
    Creating /tmp/pip-build-env-b3cu9dfq/normal/bin
    changing mode of /tmp/pip-build-env-b3cu9dfq/normal/bin/ccmake to 775
    changing mode of /tmp/pip-build-env-b3cu9dfq/normal/bin/cmake to 775
    changing mode of /tmp/pip-build-env-b3cu9dfq/normal/bin/cpack to 775
    changing mode of /tmp/pip-build-env-b3cu9dfq/normal/bin/ctest to 775
  Successfully installed cmake-3.31.4
  Installing backend dependencies ... done
  Running command Preparing metadata (pyproject.toml)
  pip_system_certs: ERROR: could not register module: No module named 'wrapt'
  *** scikit-build-core 0.10.7 using CMake 3.31.4 (metadata_wheel)
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy in /home/hackerman/miniconda3/lib/python3.12/site-packages (from cuvec==6.0.1.dev5+g01a42d4) (1.26.4)
Building wheels for collected packages: cuvec
  Running command Building wheel for cuvec (pyproject.toml)
  pip_system_certs: ERROR: could not register module: No module named 'wrapt'
  *** scikit-build-core 0.10.7 using CMake 3.31.4 (wheel)
  *** Configuring CMake...
  loading initial cache file /tmp/tmpfo5iqwqr/build/CMakeInit.txt
  -- The C compiler identification is GNU 11.4.0
  -- The CXX compiler identification is GNU 11.4.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/gcc - 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/g++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  CMake Error at /tmp/pip-build-env-b3cu9dfq/normal/lib/python3.12/site-packages/cmake/data/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
    Could NOT find Python (missing: Interpreter Development.Module) (found
    version "3.12.8")
  Call Stack (most recent call first):
    /tmp/pip-build-env-b3cu9dfq/normal/lib/python3.12/site-packages/cmake/data/share/cmake-3.31/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
    /tmp/pip-build-env-b3cu9dfq/normal/lib/python3.12/site-packages/cmake/data/share/cmake-3.31/Modules/FindPython.cmake:673 (find_package_handle_standard_args)
    CMakeLists.txt:16 (find_package)


  -- Configuring incomplete, errors occurred!

  *** CMake configuration failed
  error: subprocess-exited-with-error
  
  × Building wheel for cuvec (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> See above for output.
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: /home/hackerman/miniconda3/bin/python /home/hackerman/miniconda3/lib/python3.12/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /tmp/tmp6q4evkjb
  cwd: /home/hackerman/CuVec
  Building wheel for cuvec (pyproject.toml) ... error
  ERROR: Failed building wheel for cuvec
Failed to build cuvec
ERROR: Failed to build installable wheels for some pyproject.toml based projects (cuvec)

Can anyone see where I might be going wrong here?

Many thanks!

Oli

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions