1. Install "python"
% pkg install python
2. Try to install "numpy"
2.1 Prepare "libm.so"
Check if you have libm in $PREFIX/lib
% ls -al $PREFIX/lib | grep libm
If you could not find "libm.so" in $PREFIX/lib, bring it from /system/lib to $PREFIX/lib
(this step is needed for building opencv later on also)
% ln -s /system/lib/libm.so $PREFIX/lib/libm.so
2.2 Install "numpy"
% LDFLAGS="-lm -lcompiler_rt" pip install --no-cache-dir numpy
Note: without "LDFLAGS=..." part, you might get the following error
Python 3.8.0 (default, Dec 5 2019, 10:21:08) [Clang 8.0.7 (https://android.googlesource.com/toolchain/clang b55f2d4ebfd35bf6 on linux Type "help", "copyright", "credits" or "license" for more information. >>> import numpy Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/numpy/__init__.py", line 142, in from . import core File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/numpy/core/__init__.py", line 104, in from . import _add_newdocs File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/numpy/core/_add_newdocs.py", line 4441, in add_newdoc('numpy.core._multiarray_tests', 'format_float_OSprintf_g', File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/numpy/core/function_base.py", line 506, in add_newdoc new = getattr(__import__(place, globals(), {}, [obj]), obj) ImportError: dlopen failed: cannot locate symbol "tanh" referenced by "_multiarray_tests.cpython-38.so"... >>>
2.3 Test if we can import numpy to make sure it's installed correctly
3. Build "opencv"
3.1 Install some libraries
% pkg install cmake pkg-config libjpeg-turbo libpng
3.2 Clone source code of opencv
% cd storage/external-1
% git clone https://github.com/opencv/opencv.git
% cd opencv
% git checkout -b tag4.2.0 refs/tags/4.2.0
Then apply the following changes to opencv/modules/python/CMakeLists.txt
3.3 Run cmake to config before building
% cd opencv
% mkdir build && cd build
% LDFLAGS=" -L$PREFIX/lib/ -llog -lm -lpython3.8 " \
cmake \
-DOPENCV_SKIP_PYTHON_LOADER=OFF \
-DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=$PREFIX \
-DOPENCV_ENABLE_NONFREE:BOOL=ON \
-DBUILD_opencv_python3:BOOL=ON \
-DBUILD_opencv_python2:BOOL=OFF \
-DPYTHON_EXECUTABLE=$PREFIX/bin/python3 \
-DPYTHON_DEFAULT_EXECUTABLE=$PREFIX/bin/python3 \
-DPYTHON3_EXECUTABLE=$PREFIX/bin/python3 \
-DPYTHON3_INCLUDE_DIR=/$PREFIX/include/python3.8 \
-DPYTHON3_INCLUDE_DIR2=/$PREFIX/include/python3.8 \
-DPYTHON3_LIBRARIES=$PREFIX/lib/python3.8.so \
-DPYTHON3_INCLUDE_PATH=$PREFIX/include/python3.8 \
-DPYTHON3_LIBRARY=$PREFIX/lib/libpython3.8.so \
-DPYTHON3LIBS_VERSION_STRING=3.8 \
-DPYTHON3_PACKAGES_PATH=$PREFIX/lib/python3.8/site-packages \
-DPYTHON3_NUMPY_INCLUDE_DIRS=$PREFIX/lib/python3.8/site-packages/numpy/core/include \
-DPYTHON3_NUMPY_VERSION=1.18.2\
-DBUILD_JAVA=OFF \
-DBUILD_ANDROID_PROJECTS=OFF \
-DBUILD_ANDROID_EXAMPLES=OFF \
-DWITH_QT=OFF \
-DWITH_GTK=OFF \
-DWITH_TEST=OFF \
-DBUILD_TESTS=OFF \
-DBUILD_EXAMPLES=OFF ..
After the step above, you should get the following result, check if "python3" is included in "to be built" module list...
-- The CXX compiler identification is Clang 9.0.0 -- The C compiler identification is Clang 9.0.0 -- Check for working CXX compiler: /data/data/com.termux/files/usr/bin/c++ -- Check for working CXX compiler: /data/data/com.termux/files/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /data/data/com.termux/files/usr/bin/cc -- Check for working C compiler: /data/data/com.termux/files/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Detected processor: x86_64 -- sizeof(void) = 4 on 64 bit processor. Assume 32-bit compilation mode -- Found PythonInterp: /data/data/com.termux/files/usr/bin/python3 (found suitable version "3.8", minimum required is "2.7") CMake Warning at cmake/OpenCVDetectPython.cmake:81 (message): CMake's 'find_host_package(PythonInterp 2.7)' founds wrong Python version: PYTHON_EXECUTABLE=/data/data/com.termux/files/usr/bin/python3 PYTHON_VERSION_STRING=3.8 Consider specify 'PYTHON2_EXECUTABLE' variable via CMake command line or environment variables Call Stack (most recent call first): cmake/OpenCVDetectPython.cmake:271 (find_python) CMakeLists.txt:585 (include) -- Found Python2: /data/data/com.termux/files/usr/bin/python2.7 (found version "2.7.17") found components: Interpreter -- Found PythonInterp: /data/data/com.termux/files/usr/bin/python2.7 (found version "2.7.17") -- Found PythonInterp: /data/data/com.termux/files/usr/bin/python3 (found suitable version "3.8", minimum required is "3.2") -- Looking for ccache - not found -- Performing Test HAVE_CXX_FSIGNED_CHAR -- Performing Test HAVE_CXX_FSIGNED_CHAR - Success -- Performing Test HAVE_C_FSIGNED_CHAR -- Performing Test HAVE_C_FSIGNED_CHAR - Success -- Performing Test HAVE_CXX_W -- Performing Test HAVE_CXX_W - Success -- Performing Test HAVE_C_W -- Performing Test HAVE_C_W - Success -- Performing Test HAVE_CXX_WALL -- Performing Test HAVE_CXX_WALL - Success -- Performing Test HAVE_C_WALL -- Performing Test HAVE_C_WALL - Success -- Performing Test HAVE_CXX_WERROR_RETURN_TYPE -- Performing Test HAVE_CXX_WERROR_RETURN_TYPE - Success -- Performing Test HAVE_C_WERROR_RETURN_TYPE -- Performing Test HAVE_C_WERROR_RETURN_TYPE - Success -- Performing Test HAVE_CXX_WERROR_NON_VIRTUAL_DTOR -- Performing Test HAVE_CXX_WERROR_NON_VIRTUAL_DTOR - Success -- Performing Test HAVE_C_WERROR_NON_VIRTUAL_DTOR -- Performing Test HAVE_C_WERROR_NON_VIRTUAL_DTOR - Success -- Performing Test HAVE_CXX_WERROR_ADDRESS -- Performing Test HAVE_CXX_WERROR_ADDRESS - Success -- Performing Test HAVE_C_WERROR_ADDRESS -- Performing Test HAVE_C_WERROR_ADDRESS - Success -- Performing Test HAVE_CXX_WERROR_SEQUENCE_POINT -- Performing Test HAVE_CXX_WERROR_SEQUENCE_POINT - Success -- Performing Test HAVE_C_WERROR_SEQUENCE_POINT -- Performing Test HAVE_C_WERROR_SEQUENCE_POINT - Success -- Performing Test HAVE_CXX_WFORMAT -- Performing Test HAVE_CXX_WFORMAT - Success -- Performing Test HAVE_C_WFORMAT -- Performing Test HAVE_C_WFORMAT - Success -- Performing Test HAVE_CXX_WERROR_FORMAT_SECURITY -- Performing Test HAVE_CXX_WERROR_FORMAT_SECURITY - Success -- Performing Test HAVE_C_WERROR_FORMAT_SECURITY -- Performing Test HAVE_C_WERROR_FORMAT_SECURITY - Success -- Performing Test HAVE_CXX_WMISSING_DECLARATIONS -- Performing Test HAVE_CXX_WMISSING_DECLARATIONS - Success -- Performing Test HAVE_C_WMISSING_DECLARATIONS -- Performing Test HAVE_C_WMISSING_DECLARATIONS - Success -- Performing Test HAVE_CXX_WMISSING_PROTOTYPES -- Performing Test HAVE_CXX_WMISSING_PROTOTYPES - Success -- Performing Test HAVE_C_WMISSING_PROTOTYPES -- Performing Test HAVE_C_WMISSING_PROTOTYPES - Success -- Performing Test HAVE_CXX_WSTRICT_PROTOTYPES -- Performing Test HAVE_CXX_WSTRICT_PROTOTYPES - Success -- Performing Test HAVE_C_WSTRICT_PROTOTYPES -- Performing Test HAVE_C_WSTRICT_PROTOTYPES - Success -- Performing Test HAVE_CXX_WUNDEF -- Performing Test HAVE_CXX_WUNDEF - Success -- Performing Test HAVE_C_WUNDEF -- Performing Test HAVE_C_WUNDEF - Success -- Performing Test HAVE_CXX_WINIT_SELF -- Performing Test HAVE_CXX_WINIT_SELF - Success -- Performing Test HAVE_C_WINIT_SELF -- Performing Test HAVE_C_WINIT_SELF - Success -- Performing Test HAVE_CXX_WPOINTER_ARITH -- Performing Test HAVE_CXX_WPOINTER_ARITH - Success -- Performing Test HAVE_C_WPOINTER_ARITH -- Performing Test HAVE_C_WPOINTER_ARITH - Success -- Performing Test HAVE_CXX_WSHADOW -- Performing Test HAVE_CXX_WSHADOW - Success -- Performing Test HAVE_C_WSHADOW -- Performing Test HAVE_C_WSHADOW - Success -- Performing Test HAVE_CXX_WSIGN_PROMO -- Performing Test HAVE_CXX_WSIGN_PROMO - Success -- Performing Test HAVE_C_WSIGN_PROMO -- Performing Test HAVE_C_WSIGN_PROMO - Success -- Performing Test HAVE_CXX_WUNINITIALIZED -- Performing Test HAVE_CXX_WUNINITIALIZED - Success -- Performing Test HAVE_C_WUNINITIALIZED -- Performing Test HAVE_C_WUNINITIALIZED - Success -- Performing Test HAVE_CXX_WINCONSISTENT_MISSING_OVERRIDE -- Performing Test HAVE_CXX_WINCONSISTENT_MISSING_OVERRIDE - Success -- Performing Test HAVE_C_WINCONSISTENT_MISSING_OVERRIDE -- Performing Test HAVE_C_WINCONSISTENT_MISSING_OVERRIDE - Success -- Performing Test HAVE_CXX_WNO_DELETE_NON_VIRTUAL_DTOR -- Performing Test HAVE_CXX_WNO_DELETE_NON_VIRTUAL_DTOR - Success -- Performing Test HAVE_C_WNO_DELETE_NON_VIRTUAL_DTOR -- Performing Test HAVE_C_WNO_DELETE_NON_VIRTUAL_DTOR - Success -- Performing Test HAVE_CXX_WNO_UNNAMED_TYPE_TEMPLATE_ARGS -- Performing Test HAVE_CXX_WNO_UNNAMED_TYPE_TEMPLATE_ARGS - Success -- Performing Test HAVE_C_WNO_UNNAMED_TYPE_TEMPLATE_ARGS -- Performing Test HAVE_C_WNO_UNNAMED_TYPE_TEMPLATE_ARGS - Success -- Performing Test HAVE_CXX_WNO_COMMENT -- Performing Test HAVE_CXX_WNO_COMMENT - Success -- Performing Test HAVE_C_WNO_COMMENT -- Performing Test HAVE_C_WNO_COMMENT - Success -- Performing Test HAVE_CXX_FDIAGNOSTICS_SHOW_OPTION -- Performing Test HAVE_CXX_FDIAGNOSTICS_SHOW_OPTION - Success -- Performing Test HAVE_C_FDIAGNOSTICS_SHOW_OPTION -- Performing Test HAVE_C_FDIAGNOSTICS_SHOW_OPTION - Success -- Performing Test HAVE_CXX_QUNUSED_ARGUMENTS -- Performing Test HAVE_CXX_QUNUSED_ARGUMENTS - Success -- Performing Test HAVE_C_QUNUSED_ARGUMENTS -- Performing Test HAVE_C_QUNUSED_ARGUMENTS - Success -- Performing Test HAVE_CXX_MSSE (check file: cmake/checks/cpu_sse.cpp) -- Performing Test HAVE_CXX_MSSE - Success -- Performing Test HAVE_CXX_MSSE2 (check file: cmake/checks/cpu_sse2.cpp) -- Performing Test HAVE_CXX_MSSE2 - Success -- Performing Test HAVE_CXX_MSSE3 (check file: cmake/checks/cpu_sse3.cpp) -- Performing Test HAVE_CXX_MSSE3 - Success -- Performing Test HAVE_CXX_MSSSE3 (check file: cmake/checks/cpu_ssse3.cpp) -- Performing Test HAVE_CXX_MSSSE3 - Success -- Performing Test HAVE_CXX_MSSE4_1 (check file: cmake/checks/cpu_sse41.cpp) -- Performing Test HAVE_CXX_MSSE4_1 - Success -- Performing Test HAVE_CXX_MPOPCNT (check file: cmake/checks/cpu_popcnt.cpp) -- Performing Test HAVE_CXX_MPOPCNT - Success -- Performing Test HAVE_CXX_MSSE4_2 (check file: cmake/checks/cpu_sse42.cpp) -- Performing Test HAVE_CXX_MSSE4_2 - Success -- Performing Test HAVE_CXX_MF16C (check file: cmake/checks/cpu_fp16.cpp) -- Performing Test HAVE_CXX_MF16C - Success -- Performing Test HAVE_CXX_MAVX (check file: cmake/checks/cpu_avx.cpp) -- Performing Test HAVE_CXX_MAVX - Success -- Performing Test HAVE_CPU_BASELINE_FLAGS -- Performing Test HAVE_CPU_BASELINE_FLAGS - Success -- Performing Test HAVE_CPU_DISPATCH_FLAGS_SSE4_1 -- Performing Test HAVE_CPU_DISPATCH_FLAGS_SSE4_1 - Success -- Performing Test HAVE_CPU_DISPATCH_FLAGS_SSE4_2 -- Performing Test HAVE_CPU_DISPATCH_FLAGS_SSE4_2 - Success -- Performing Test HAVE_CPU_DISPATCH_FLAGS_FP16 -- Performing Test HAVE_CPU_DISPATCH_FLAGS_FP16 - Success -- Performing Test HAVE_CPU_DISPATCH_FLAGS_AVX -- Performing Test HAVE_CPU_DISPATCH_FLAGS_AVX - Success -- Performing Test HAVE_CXX_MFPMATH_SSE -- Performing Test HAVE_CXX_MFPMATH_SSE - Success -- Performing Test HAVE_C_MFPMATH_SSE -- Performing Test HAVE_C_MFPMATH_SSE - Success -- Performing Test HAVE_CXX_FVISIBILITY_HIDDEN -- Performing Test HAVE_CXX_FVISIBILITY_HIDDEN - Success -- Performing Test HAVE_C_FVISIBILITY_HIDDEN -- Performing Test HAVE_C_FVISIBILITY_HIDDEN - Success -- Performing Test HAVE_CXX_FVISIBILITY_INLINES_HIDDEN -- Performing Test HAVE_CXX_FVISIBILITY_INLINES_HIDDEN - Success -- Performing Test HAVE_C_FVISIBILITY_INLINES_HIDDEN -- Performing Test HAVE_C_FVISIBILITY_INLINES_HIDDEN - Success -- Looking for pthread.h -- Looking for pthread.h - found -- Looking for posix_memalign -- Looking for posix_memalign - found -- Looking for malloc.h -- Looking for malloc.h - found -- Looking for memalign -- Looking for memalign - found -- Check if the system is big endian -- Searching 16 bit integer -- Looking for sys/types.h -- Looking for sys/types.h - found -- Looking for stdint.h -- Looking for stdint.h - found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of unsigned short -- Check size of unsigned short - done -- Using unsigned short -- Check if the system is big endian - little endian -- Found ZLIB: /data/data/com.termux/files/usr/lib/libz.so (found suitable version "1.2.11", minimum required is "1.2.3") -- Performing Test HAVE_C_WNO_UNUSED_PARAMETER -- Performing Test HAVE_C_WNO_UNUSED_PARAMETER - Success -- Performing Test HAVE_C_WNO_SIGN_COMPARE -- Performing Test HAVE_C_WNO_SIGN_COMPARE - Success -- Performing Test HAVE_C_WNO_SHORTEN_64_TO_32 -- Performing Test HAVE_C_WNO_SHORTEN_64_TO_32 - Success -- Performing Test HAVE_C_WNO_IMPLICIT_FALLTHROUGH -- Performing Test HAVE_C_WNO_IMPLICIT_FALLTHROUGH - Success -- libjpeg-turbo: VERSION = 2.0.2, BUILD = opencv-4.2.0-libjpeg-turbo -- Check size of size_t -- Check size of size_t - done -- Check size of unsigned long -- Check size of unsigned long - done -- Performing Test HAVE_BUILTIN_CTZL -- Performing Test HAVE_BUILTIN_CTZL - Success -- Looking for include file locale.h -- Looking for include file locale.h - found -- Looking for include file stdlib.h -- Looking for include file stdlib.h - found -- Looking for include file sys/types.h -- Looking for include file sys/types.h - found -- Looking for assert.h -- Looking for assert.h - found -- Looking for dlfcn.h -- Looking for dlfcn.h - found -- Looking for fcntl.h -- Looking for fcntl.h - found -- Looking for inttypes.h -- Looking for inttypes.h - found -- Looking for io.h -- Looking for io.h - not found -- Looking for limits.h -- Looking for limits.h - found -- Looking for memory.h -- Looking for memory.h - found -- Looking for search.h -- Looking for search.h - found -- Looking for string.h -- Looking for string.h - found -- Looking for strings.h -- Looking for strings.h - found -- Looking for sys/time.h -- Looking for sys/time.h - found -- Looking for unistd.h -- Looking for unistd.h - found -- Performing Test C_HAS_inline -- Performing Test C_HAS_inline - Success -- Check size of signed short -- Check size of signed short - done -- Check size of unsigned short -- Check size of unsigned short - done -- Check size of signed int -- Check size of signed int - done -- Check size of unsigned int -- Check size of unsigned int - done -- Check size of signed long -- Check size of signed long - done -- Check size of signed long long -- Check size of signed long long - done -- Check size of unsigned long long -- Check size of unsigned long long - done -- Check size of unsigned char * -- Check size of unsigned char * - done -- Check size of ptrdiff_t -- Check size of ptrdiff_t - done -- Check size of INT8 -- Check size of INT8 - failed -- Check size of INT16 -- Check size of INT16 - failed -- Check size of INT32 -- Check size of INT32 - failed -- Looking for floor -- Looking for floor - found -- Looking for pow -- Looking for pow - found -- Looking for sqrt -- Looking for sqrt - found -- Looking for isascii -- Looking for isascii - found -- Looking for memset -- Looking for memset - found -- Looking for mmap -- Looking for mmap - found -- Looking for getopt -- Looking for getopt - found -- Looking for memmove -- Looking for memmove - found -- Looking for setmode -- Looking for setmode - not found -- Looking for strcasecmp -- Looking for strcasecmp - found -- Looking for strchr -- Looking for strchr - found -- Looking for strrchr -- Looking for strrchr - found -- Looking for strstr -- Looking for strstr - found -- Looking for strtol -- Looking for strtol - found -- Looking for strtol -- Looking for strtol - found -- Looking for strtoull -- Looking for strtoull - found -- Looking for lfind -- Looking for lfind - found -- Performing Test HAVE_SNPRINTF -- Performing Test HAVE_SNPRINTF - Success -- Check if the system is big endian -- Searching 16 bit integer -- Using unsigned short -- Check if the system is big endian - little endian -- Performing Test HAVE_C_WNO_UNUSED_BUT_SET_VARIABLE -- Performing Test HAVE_C_WNO_UNUSED_BUT_SET_VARIABLE - Failed -- Performing Test HAVE_C_WNO_MISSING_PROTOTYPES -- Performing Test HAVE_C_WNO_MISSING_PROTOTYPES - Success -- Performing Test HAVE_C_WNO_MISSING_DECLARATIONS -- Performing Test HAVE_C_WNO_MISSING_DECLARATIONS - Success -- Performing Test HAVE_C_WNO_UNDEF -- Performing Test HAVE_C_WNO_UNDEF - Success -- Performing Test HAVE_C_WNO_UNUSED -- Performing Test HAVE_C_WNO_UNUSED - Success -- Performing Test HAVE_C_WNO_CAST_ALIGN -- Performing Test HAVE_C_WNO_CAST_ALIGN - Success -- Performing Test HAVE_C_WNO_SHADOW -- Performing Test HAVE_C_WNO_SHADOW - Success -- Performing Test HAVE_C_WNO_MAYBE_UNINITIALIZED -- Performing Test HAVE_C_WNO_MAYBE_UNINITIALIZED - Failed -- Performing Test HAVE_C_WNO_POINTER_TO_INT_CAST -- Performing Test HAVE_C_WNO_POINTER_TO_INT_CAST - Success -- Performing Test HAVE_C_WNO_INT_TO_POINTER_CAST -- Performing Test HAVE_C_WNO_INT_TO_POINTER_CAST - Success -- Performing Test HAVE_C_WNO_MISLEADING_INDENTATION -- Performing Test HAVE_C_WNO_MISLEADING_INDENTATION - Failed -- Performing Test HAVE_CXX_WNO_MISSING_DECLARATIONS -- Performing Test HAVE_CXX_WNO_MISSING_DECLARATIONS - Success -- Performing Test HAVE_CXX_WNO_UNUSED_PARAMETER -- Performing Test HAVE_CXX_WNO_UNUSED_PARAMETER - Success -- Performing Test HAVE_CXX_WNO_MISSING_PROTOTYPES -- Performing Test HAVE_CXX_WNO_MISSING_PROTOTYPES - Success -- Performing Test HAVE_CXX_WNO_UNDEF -- Performing Test HAVE_CXX_WNO_UNDEF - Success -- Performing Test HAVE_C_STD_C99 -- Performing Test HAVE_C_STD_C99 - Success -- Performing Test HAVE_C_WNO_UNUSED_VARIABLE -- Performing Test HAVE_C_WNO_UNUSED_VARIABLE - Success -- Performing Test HAVE_C_WNO_UNUSED_FUNCTION -- Performing Test HAVE_C_WNO_UNUSED_FUNCTION - Success -- Performing Test HAVE_C_WNO_IMPLICIT_FUNCTION_DECLARATION -- Performing Test HAVE_C_WNO_IMPLICIT_FUNCTION_DECLARATION - Success -- Performing Test HAVE_C_WNO_UNINITIALIZED -- Performing Test HAVE_C_WNO_UNINITIALIZED - Success -- Performing Test HAVE_C_WNO_UNUSED_BUT_SET_PARAMETER -- Performing Test HAVE_C_WNO_UNUSED_BUT_SET_PARAMETER - Failed -- Performing Test HAVE_C_WNO_STRICT_OVERFLOW -- Performing Test HAVE_C_WNO_STRICT_OVERFLOW - Success -- Performing Test HAVE_C_WNO_POINTER_COMPARE -- Performing Test HAVE_C_WNO_POINTER_COMPARE - Failed -- Performing Test HAVE_C_WNO_ABSOLUTE_VALUE -- Performing Test HAVE_C_WNO_ABSOLUTE_VALUE - Success -- Performing Test HAVE_C_WNO_STRICT_PROTOTYPES -- Performing Test HAVE_C_WNO_STRICT_PROTOTYPES - Success -- Looking for semaphore.h -- Looking for semaphore.h - found -- Performing Test HAVE_CXX_WNO_SHADOW -- Performing Test HAVE_CXX_WNO_SHADOW - Success -- Performing Test HAVE_CXX_WNO_UNUSED -- Performing Test HAVE_CXX_WNO_UNUSED - Success -- Performing Test HAVE_CXX_WNO_SIGN_COMPARE -- Performing Test HAVE_CXX_WNO_SIGN_COMPARE - Success -- Performing Test HAVE_CXX_WNO_UNINITIALIZED -- Performing Test HAVE_CXX_WNO_UNINITIALIZED - Success -- Performing Test HAVE_CXX_WNO_SWITCH -- Performing Test HAVE_CXX_WNO_SWITCH - Success -- Performing Test HAVE_CXX_WNO_PARENTHESES -- Performing Test HAVE_CXX_WNO_PARENTHESES - Success -- Performing Test HAVE_CXX_WNO_ARRAY_BOUNDS -- Performing Test HAVE_CXX_WNO_ARRAY_BOUNDS - Success -- Performing Test HAVE_CXX_WNO_EXTRA -- Performing Test HAVE_CXX_WNO_EXTRA - Success -- Performing Test HAVE_CXX_WNO_DEPRECATED_DECLARATIONS -- Performing Test HAVE_CXX_WNO_DEPRECATED_DECLARATIONS - Success -- Performing Test HAVE_CXX_WNO_MISLEADING_INDENTATION -- Performing Test HAVE_CXX_WNO_MISLEADING_INDENTATION - Failed -- Performing Test HAVE_CXX_WNO_DEPRECATED -- Performing Test HAVE_CXX_WNO_DEPRECATED - Success -- Performing Test HAVE_CXX_WNO_SUGGEST_OVERRIDE -- Performing Test HAVE_CXX_WNO_SUGGEST_OVERRIDE - Failed -- Performing Test HAVE_CXX_WNO_INCONSISTENT_MISSING_OVERRIDE -- Performing Test HAVE_CXX_WNO_INCONSISTENT_MISSING_OVERRIDE - Success -- Performing Test HAVE_CXX_WNO_IMPLICIT_FALLTHROUGH -- Performing Test HAVE_CXX_WNO_IMPLICIT_FALLTHROUGH - Success -- Performing Test HAVE_CXX_WNO_TAUTOLOGICAL_COMPARE -- Performing Test HAVE_CXX_WNO_TAUTOLOGICAL_COMPARE - Success -- Performing Test HAVE_CXX_WNO_REORDER -- Performing Test HAVE_CXX_WNO_REORDER - Success -- Performing Test HAVE_CXX_WNO_UNUSED_RESULT -- Performing Test HAVE_CXX_WNO_UNUSED_RESULT - Success -- Performing Test HAVE_CXX_WNO_UNUSED_LOCAL_TYPEDEFS -- Performing Test HAVE_CXX_WNO_UNUSED_LOCAL_TYPEDEFS - Success -- Performing Test HAVE_CXX_WNO_SIGN_PROMO -- Performing Test HAVE_CXX_WNO_SIGN_PROMO - Success -- Performing Test HAVE_CXX_WNO_TAUTOLOGICAL_UNDEFINED_COMPARE -- Performing Test HAVE_CXX_WNO_TAUTOLOGICAL_UNDEFINED_COMPARE - Success -- Performing Test HAVE_CXX_WNO_IGNORED_QUALIFIERS -- Performing Test HAVE_CXX_WNO_IGNORED_QUALIFIERS - Success -- Performing Test HAVE_CXX_WNO_UNUSED_FUNCTION -- Performing Test HAVE_CXX_WNO_UNUSED_FUNCTION - Success -- Performing Test HAVE_CXX_WNO_UNUSED_CONST_VARIABLE -- Performing Test HAVE_CXX_WNO_UNUSED_CONST_VARIABLE - Success -- Performing Test HAVE_CXX_WNO_SHORTEN_64_TO_32 -- Performing Test HAVE_CXX_WNO_SHORTEN_64_TO_32 - Success -- Performing Test HAVE_CXX_WNO_INVALID_OFFSETOF -- Performing Test HAVE_CXX_WNO_INVALID_OFFSETOF - Success -- Performing Test HAVE_CXX_WNO_ENUM_COMPARE_SWITCH -- Performing Test HAVE_CXX_WNO_ENUM_COMPARE_SWITCH - Success Android: Projects builds are DISABLED -- Looking for dlerror in dl -- Looking for dlerror in dl - found -- OpenCV Python: during development append to PYTHONPATH: /data/data/com.termux/files/home/storage/external-1/opencv/build/python_loader -- Excluding from source files list: modules/imgproc/src/imgwarp.avx2.cpp -- Excluding from source files list: modules/imgproc/src/resize.avx2.cpp -- Excluding from source files list: modules/imgproc/src/sumpixels.avx512_skx.cpp -- Registering hook 'INIT_MODULE_SOURCES_opencv_dnn': /data/data/com.termux/files/home/storage/external-1/opencv/modules/dnn/cmake/hooks/INIT_MODULE_SOURCES_opencv_dnn.cmake -- opencv_dnn: filter out ocl4dnn source code -- opencv_dnn: filter out cuda4dnn source code -- Excluding from source files list: <BUILD>/modules/dnn/layers/layers_common.avx2.cpp -- Excluding from source files list: <BUILD>/modules/dnn/layers/layers_common.avx512_skx.cpp -- Excluding from source files list: modules/features2d/src/fast.avx2.cpp -- Performing Test HAVE_CXX_WNO_OVERLOADED_VIRTUAL -- Performing Test HAVE_CXX_WNO_OVERLOADED_VIRTUAL - Success -- Performing Test HAVE_CXX_WNO_UNUSED_PRIVATE_FIELD -- Performing Test HAVE_CXX_WNO_UNUSED_PRIVATE_FIELD - Success -- Android OpenCV Manager is ignored -- -- General configuration for OpenCV 4.2.0 ===================================== -- Version control: 4.2.0-dirty -- -- Platform: -- Timestamp: 2020-03-24T10:54:58Z -- Host: Android 3.10.20-x86_64_byt x86_64 -- CMake: 3.15.5 -- CMake generator: Unix Makefiles -- CMake build tool: /data/data/com.termux/files/usr/bin/make -- Configuration: RELEASE -- -- CPU/HW features: -- Baseline: SSE SSE2 -- requested: SSE2 -- Dispatched code generation: SSE4_1 SSE4_2 FP16 AVX -- requested: SSE4_1 SSE4_2 AVX FP16 -- SSE4_1 (13 files): + SSE3 SSSE3 SSE4_1 -- SSE4_2 (1 files): + SSE3 SSSE3 SSE4_1 POPCNT SSE4_2 -- FP16 (0 files): + SSE3 SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX -- AVX (4 files): + SSE3 SSSE3 SSE4_1 POPCNT SSE4_2 AVX -- -- C/C++: -- Built as dynamic libs?: NO -- C++ Compiler: /data/data/com.termux/files/usr/bin/c++ (ver 9.0.0) -- C++ flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -fdiagnostics-show-option -Qunused-arguments -msse -msse2 -mfpmath=sse -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG -- C++ flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -fdiagnostics-show-option -Qunused-arguments -msse -msse2 -mfpmath=sse -fvisibility=hidden -fvisibility-inlines-hidden -g -O0 -DDEBUG -D_DEBUG -- C Compiler: /data/data/com.termux/files/usr/bin/cc -- C flags (Release): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -fdiagnostics-show-option -Qunused-arguments -msse -msse2 -mfpmath=sse -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG -DNDEBUG -- C flags (Debug): -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winit-self -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -fdiagnostics-show-option -Qunused-arguments -msse -msse2 -mfpmath=sse -fvisibility=hidden -fvisibility-inlines-hidden -g -O0 -DDEBUG -D_DEBUG -- Linker flags (Release): -L/system/lib/ -L/data/data/com.termux/files/usr/lib/ -llog -lm -lpython3.8 -- Linker flags (Debug): -L/system/lib/ -L/data/data/com.termux/files/usr/lib/ -llog -lm -lpython3.8 -- ccache: NO -- Precompiled headers: NO -- Extra dependencies: z dl m log -- 3rdparty dependencies: libcpufeatures ittnotify libprotobuf libjpeg-turbo libwebp libpng libtiff libjasper IlmImf quirc -- -- OpenCV modules: -- To be built: calib3d core dnn features2d flann highgui imgcodecs imgproc ml objdetect photo python3 stitching ts video videoio -- Disabled: world -- Disabled by dependency: - -- Unavailable: gapi java js python2 -- Applications: perf_tests -- Documentation: NO -- Non-free algorithms: YES -- -- Android NDK: location: -- Android ABI: -- STL type: -- Native API level: -- Android SDK: not used, projects are not built -- -- GUI: -- -- Media I/O: -- ZLib: z (ver 1.2.11) -- JPEG: build-libjpeg-turbo (ver 2.0.2-62) -- WEBP: build (ver encoder: 0x020e) -- PNG: build (ver 1.6.37) -- TIFF: build (ver 42 - 4.0.10) -- JPEG 2000: build (ver 1.900.1) -- OpenEXR: build (ver 2.3.0) -- HDR: YES -- SUNRASTER: YES -- PXM: YES -- PFM: YES -- -- Video I/O: -- -- Parallel framework: pthreads -- -- Trace: YES (with Intel ITT) -- -- Other third-party libraries: -- Eigen: NO -- Custom HAL: NO -- Protobuf: build (3.5.1) -- -- Python 3: -- Interpreter: /data/data/com.termux/files/usr/bin/python3 (ver 3.8) -- Libraries: /data/data/com.termux/files/usr/lib/python3.8.so (ver 3.8) -- numpy: /data/data/com.termux/files/usr/lib/python3.8/site-packages/numpy/core/include (ver 1.18.2-DBUILD_JAVA=OFF) -- install path: /data/data/com.termux/files/usr/lib/python3.8/site-packages/cv2/python-3.8 -- -- Python (for build): /data/data/com.termux/files/usr/bin/python3 -- -- Java: export all functions -- ant: NO -- Java wrappers: NO -- Java tests: NO -- -- Install to: /data/data/com.termux/files/usr -- ----------------------------------------------------------------- -- -- Configuring done -- Generating done -- Build files have been written to: /data/data/com.termux/files/home/storage/external-1/opencv/build
3.4 Make and install
% make
% make install
3.5 Check
After all these steps, you should be able to "import cv2" in Python
No comments:
Post a Comment