Skip to content

Issues building from source on Ubuntu with Python 3.10.4 #713

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
4 tasks done
krisstern opened this issue Aug 24, 2022 · 3 comments
Open
4 tasks done

Issues building from source on Ubuntu with Python 3.10.4 #713

krisstern opened this issue Aug 24, 2022 · 3 comments

Comments

@krisstern
Copy link

Expected behaviour

I need to build opencv-python from source on Ubuntu 22.04 with Python 3.10.4. However, I would like to override the default PYTHON3_NUMPY_INCLUDE_DIRS setting from something like /home/user/miniconda3/envs/py310/lib/python3.10/site-packages/numpy/core/include to /home/user/miniconda3/envs/py310/lib/python3.10/site-packages/numpy/core/include/numpy. Is there any way to achieve this, because otherwise the build fails as I encounter the following error fatal error: numpy/ndarrayobject.h: No such file or directory.

Actual behaviour

Already described above.

Steps to reproduce

  • example code
    1. Change directory to opencv-python.
    2. Enable virtual Python environment and make sure numpy and scikit-build are installed.
    3. Set environment variables using the following:
export CMAKE_ARGS="-DWITH_CUDA=ON \
-DWITH_CUDNN=ON \
-DOPENCV_DNN_CUDA=ON \
-DWITH_CUBLAS=ON \
-DPYTHON3_EXECUTABLE=/home/user/miniconda3/envs/py310/bin/python \
-DPYTHON3_LIBRARY=/home/user/miniconda3/envs/py310/lib/libpython3.10.so \
-DPYTHON3_PACKAGES_PATH=/home/user/miniconda3/envs/py310/lib/python3.10/site-packages \
-DPYTHON_INCLUDE_DIR=/home/user/miniconda3/envs/py310/include/python3.10 \
-DPYTHON3_NUMPY_INCLUDE_DIRS=/home/user/miniconda3/envs/py310/lib/python3.10/site-packages/numpy/core/include/numpy \
-DCMAKE_VERBOSE_MAKEFILE=ON"

export ENABLE_CONTRIB=1

export VERBOSE=1
  1. Run:
pip wheel . --verbose
  • operating system
    • Ubuntu 22.04
  • architecture (e.g. x86)
    • x86_64
  • opencv-python version
    • 4.6.0.66
Issue submission checklist
  • This is not a generic OpenCV usage question (looking for help for coding, other usage questions, homework etc.)
  • I have read the README of this repository and understand that this repository provides only an automated build toolchain for OpenCV Python packages (there is no actual OpenCV code here)
  • The issue is related to the build scripts in this repository, to the pre-built binaries or is a feature request (such as "please enable this additional dependency")
  • I'm using the latest version of opencv-python
@krisstern
Copy link
Author

I have just edited the Python3_NumPy_INCLUDE_DIRS option in the file opencv-python/_skbuild/linux-x86_64-3.10/cmake-build/CMakeCache.txt to use the desired path. Have started re-building the software again and see if the same error will crop up. Will report here once I have the results.

@krisstern
Copy link
Author

No luck, it seems that the edited value for the Python3_NumPy_INCLUDE_DIRS option in the opencv-python/_skbuild/linux-x86_64-3.10/cmake-build/CMakeCache.txt file got overwritten during the build, so cannot update manually this way.

@bertsky
Copy link
Contributor

bertsky commented Apr 26, 2023

@krisstern have you tried to relax the numpy version requirement in the pyproject.toml build requirements?

"numpy==1.21.2; python_version=='3.10' and platform_system!='Darwin'",

See #713

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants