New comment by tornaria on void-packages repository https://github.com/void-linux/void-packages/issues/36062#issuecomment-1063016163 Comment: BTW, the numpy include dir should not be hardcoded, it is supposed to be obtained in setup.py with: ``` >>> import numpy; print(numpy.get_include()) /usr/lib/python3.10/site-packages/numpy/core/include ``` (this is when running system python without venv) ``` >>> import numpy; print(numpy.get_include()) /home/tornaria/src/sage/sage-9.5/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/numpy/core/include ``` (this is when running system python with a venv) If a python package doesn't compile without the symlink, this is a bug in the package which should use `numpy.get_include()` to know which numpy headers to use. This is the only way to make sure the package uses the correct headers when using numpy from a venv (because `numpy.get_include()` should be called from `setup.py` in the venv so it will give the correct answer, meaning the one that matches the numpy package in the venv).