Skip to content

wheel installation failed during make install

When installing dune modules, you typically specify where to install everything, e.g., by -DCMAKE_INSTALL_PREFIX=<path>. This path seems to be ignored during some wheel installation in the python bindings setup. I get the error/warning:

Installing wheel for python package at /opt/sources/dune/dune-geometry/build-cmake/python/. into /usr/local/share/dune/wheelhouse...
CMake Warning at /opt/sources/dune/dune-common/cmake/modules/DuneExecuteProcess.cmake:76 (message):
  wheel installation failed - ignored

  Run
  command:/opt/sources/dune/dune-common/build-cmake/dune-env/bin/python;-m;pip;wheel;-w;/usr/local/share/dune/wheelhouse;--no-deps;/opt/sources/dune/dune-geometry/build-cmake/python/.


  Return code: 2

  Output:

  ERROR: Exception:

  Traceback (most recent call last):

    File "/opt/sources/dune/dune-common/build-cmake/dune-env/lib/python3.10/site-packages/pip/_internal/cli/base_command.py", line 165, in exc_logging_wrapper
      status = run_func(*args)
    File "/opt/sources/dune/dune-common/build-cmake/dune-env/lib/python3.10/site-packages/pip/_internal/cli/req_command.py", line 205, in wrapper
      return func(self, options, args)
    File "/opt/sources/dune/dune-common/build-cmake/dune-env/lib/python3.10/site-packages/pip/_internal/commands/wheel.py", line 111, in run
      ensure_dir(options.wheel_dir)
    File "/opt/sources/dune/dune-common/build-cmake/dune-env/lib/python3.10/site-packages/pip/_internal/utils/misc.py", line 101, in ensure_dir
      os.makedirs(path)
    File "/usr/lib/python3.10/os.py", line 215, in makedirs
      makedirs(head, exist_ok=exist_ok)
    File "/usr/lib/python3.10/os.py", line 225, in makedirs
      mkdir(name, mode)

  PermissionError: [Errno 13] Keine Berechtigung: '/usr/local/share/dune'

Call Stack (most recent call first):
  python/cmake_install.cmake:53 (dune_execute_process)
  cmake_install.cmake:95 (include)

The error is correct, i.e., the location /usr/local/share/dune is by default readonly.

  • How can I specify where to install wheel? (I actually don't know what this is, but if it is required, I am fine with it)
  • It would be nice to get this flag as a hint in the error message.
  • Is this something required? If not, why is it installed at all?