heitzmann / gdstk

Gdstk (GDSII Tool Kit) is a C++/Python library for creation and manipulation of GDSII and OASIS files.
https://heitzmann.github.io/gdstk/
Boost Software License 1.0
325 stars 78 forks source link

pip install fails on "Could NOT find Qhull" #261

Open nmz787-intel opened 1 week ago

nmz787-intel commented 1 week ago

latest release (0.9.53) is failing to install, while just-prior release worked (0.9.52).

  Building wheel for gdstk (pyproject.toml): started
  Building wheel for gdstk (pyproject.toml): finished with status 'error'
  error: subprocess-exited-with-error

  × Building wheel for gdstk (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [28 lines of output]
      *** scikit-build-core 0.9.8 using CMake 3.30.0 (wheel)
      *** Configuring CMake...
      loading initial cache file build/cp39-cp39-linux_x86_64/CMakeInit.txt
      -- The CXX compiler identification is GNU 8.2.0
      -- The C compiler identification is GNU 8.2.0
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/pkgs/gcc/8.2.0/bin/g++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /usr/pkgs/gcc/8.2.0/bin/gcc - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Found ZLIB: /usr/lib64/libz.so (found suitable version "1.2.11", minimum required is "1.2.7")
      CMake Error at /tmp/pip-build-env-msgx5xg0/normal/lib/python3.9/site-packages/cmake/data/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
        Could NOT find Qhull (missing: QHULL_LIBRARY QHULL_INCLUDE_DIR) (Required
        is at least version "8")
      Call Stack (most recent call first):
        /tmp/pip-build-env-msgx5xg0/normal/lib/python3.9/site-packages/cmake/data/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
        cmake_modules/FindQhull.cmake:170 (find_package_handle_standard_args)
        src/CMakeLists.txt:23 (find_package)

      -- Configuring incomplete, errors occurred!

      *** CMake configuration failed
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for gdstk
heitzmann commented 1 week ago

This is a problem with CMake not finding qhull in your system, but there were no changes to that between release. This is probably related to some qhull installation change on the host.

nmz787-intel commented 1 week ago

hmm, forcing my pip requirements.txt list to use 0.9.52 allows pip to proceed successfully. Is there any possibility some qhull files didn't get packaged and uploaded to pypi?

heitzmann commented 1 week ago

Very strange. The only qhull-related installation file is in cmake_modules, but that is present in the source distribution in pypi.