-
Notifications
You must be signed in to change notification settings - Fork 2k
Open
Labels
Description
P4A opencv build fails from develop branch
Background
- I am creating an android app (apk) with
opencv
&numpy
from thedevelop
branch. - The current numpy version is
v2.3.0
& opencv version is4.5.1
.
Build error
[100%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/common/serialization.cpp.o
[100%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/streaming/gstreamingbackend.cpp.o
[100%] Building CXX object modules/gapi/CMakeFiles/opencv_gapi.dir/src/backends/ie/bindings_ie.cpp.o
[100%] Linking CXX shared library ../../lib/arm64-v8a/libopencv_gapi.so
[100%] Built target opencv_gapi
[100%] Building CXX object modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o
/home/somnath/codes/git/my-org/vision-ai/onnxruntime/.buildozer/android/platform/build-arm64-v8a/build/other_builds/opencv/arm64-v8a__ndk_target_28/opencv/modules/python/src2/cv2.cpp:33:10: fatal error: 'numpy/ndarrayobject.h' file not found
#include <numpy/ndarrayobject.h>
^~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[3]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:76: modules/python3/CMakeFiles/opencv_python3.dir/__/src2/cv2.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:2306: modules/python3/CMakeFiles/opencv_python3.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:2313: modules/python3/CMakeFiles/opencv_python3.dir/rule] Error 2
make: *** [Makefile:680: opencv_python3] Error 2
My observations
-
The above error doesn't occur when we use
numpy
versions1.26.5
withopencv 4.5.1
. Here is an example of my existing app's numpy recipe & opencv recipe. -
OpenCV with
NDK >= 26
. When we use NDK > 25, we get below error with-version
argument, this error is not coming when usingNDK 25b
[100%] Linking CXX shared module ../../lib/arm64-v8a/python3/cv2.cpython-311-x86_64-linux-gnu.so
clang++: error: unknown argument '-version'; did you mean '--version'?
make[3]: *** [modules/python3/CMakeFiles/opencv_python3.dir/build.make:112: lib/arm64-v8a/python3/cv2.cpython-311-x86_64-linux-gnu.so] Error 1
make[2]: *** [CMakeFiles/Makefile2:2306: modules/python3/CMakeFiles/opencv_python3.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:2313: modules/python3/CMakeFiles/opencv_python3.dir/rule] Error 2
make: *** [Makefile:680: opencv_python3] Error 2
My environment details
- My development python version
3.11.13
- Buildozer version
1.5.0
- P4A branch
develop
which useshostpython3
&python3
at3.11.5
Please let me know if you require any further details. Thank you