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?