conan-center-index: [opencv] opencv/4.5.5: Build for Android fails

Description

The opencv recipe has been updated 3 days ago. Since then, it is impossible to build to build the package for Android

Package and Environment Details

  • Package Name/Version: opencv/4.5.5
  • Operating System+version: Linux Ubuntu 22.04
  • Compiler+version: clang 11
  • Conan version: conan 1.54.0
  • Python version: Python 3.10.6

Conan profile

[settings] os=Android os_build=Linux arch=armv8 arch_build=x86_64 compiler=clang compiler.version=11 compiler.libcxx=c++_static build_type=Release os.api_level=28 [options] [conf] [build_requires] *: cmake/3.21.3, android-ndk/r22b [env]

Steps to reproduce

conan install opencv/4.5.5@ -pr:h android -pr:b default --build=missing -o shared=True -o with_jpeg=False -o with_jpeg2000=False -o with_tiff=False -o with_ffmpeg=False

Logs

Click to expand log
$ conan install opencv/4.5.5@ -pr:h android -pr:b default --build=missing -o shared=True -o with_jpeg=False -o with_jpeg2000=False -o with_tiff=False -o with_ffmpeg=False
Configuration (profile_host):
[settings]
arch=armv8
arch_build=x86_64
build_type=Release
compiler=clang
compiler.libcxx=c++_static
compiler.version=11
os=Android
os.api_level=28
os_build=Linux
[options]
shared=True
with_ffmpeg=False
with_jpeg=False
with_jpeg2000=False
with_tiff=False
[build_requires]
*: cmake/3.21.3, android-ndk/r22b
[env]

Configuration (profile_build):
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=gcc
compiler.libcxx=libstdc++11
compiler.version=11
os=Linux
os_build=Linux
[options]
[build_requires]
*: cmake/3.21.3
[env]

Installing package: opencv/4.5.5
Requirements
    ade/0.1.2a from 'conancenter' - Cache
    eigen/3.3.9 from 'conancenter' - Cache
    libpng/1.6.39 from 'conancenter' - Cache
    libwebp/1.2.4 from 'conancenter' - Cache
    opencv/4.5.5 from 'conancenter' - Cache
    protobuf/3.17.1 from 'conancenter' - Cache
    quirc/1.1 from 'conancenter' - Cache
    zlib/1.2.13 from 'conancenter' - Cache
Packages
    ade/0.1.2a:8f9b7a1ab19652d4393311835f7c71fb47a93f5f - Cache
    eigen/3.3.9:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Cache
    libpng/1.6.39:08a3843dacd948e8583408dab98b0bf7144062f0 - Cache
    libwebp/1.2.4:50563119c9c80eb4ab32d6bc5a5f4e12eacf65b6 - Cache
    opencv/4.5.5:801fe1d9b98d2dd6b0e0ef631a583972d6f4e6d9 - Build
    protobuf/3.17.1:035841f071c02f86e9400ee29e2123d3489a521a - Cache
    quirc/1.1:e5ffd7cb809c9fb4a0d4cb3f14e4e6f364ecf244 - Cache
    zlib/1.2.13:21065371d8d07d148a937c225d0cbfa03afe1fea - Cache
Build requirements
    android-ndk/r22b from 'gitlab-general' - Cache
    cmake/3.21.3 from 'conancenter' - Cache
    openssl/1.1.1l from 'conancenter' - Cache
    protobuf/3.17.1 from 'conancenter' - Cache
    zlib/1.2.13 from 'conancenter' - Cache
Build requirements packages
    android-ndk/r22b:4db1be536558d833e52e862fd84d64d75c2b3656 - Cache
    cmake/3.21.3:5c09c752508b674ca5cb1f2d327b5a2d582866c8 - Cache
    openssl/1.1.1l:dfbe50feef7f3c6223a476cd5aeadb687084a646 - Cache
    protobuf/3.17.1:2dbf65f76c0469903ce48756c39d50cd4e721678 - Cache
    zlib/1.2.13:dfbe50feef7f3c6223a476cd5aeadb687084a646 - Cache

Cross-build from 'Linux:x86_64' to 'Android:armv8'
Installing (downloading, building) binaries...
ade/0.1.2a: Already installed!
android-ndk/r22b: Already installed!
android-ndk/r22b: Creating ANDROID_NDK_ROOT environment variable: <hidden_path>
android-ndk/r22b: Creating ANDROID_NDK_HOME environment variable: <hidden_path>
android-ndk/r22b: Creating CONAN_CMAKE_SYSTEM_PROCESSOR environment variable: aarch64
android-ndk/r22b: Creating NDK_ROOT environment variable: <hidden_path>
android-ndk/r22b: Creating CHOST environment variable: aarch64-linux-android
android-ndk/r22b: Creating CONAN_CMAKE_FIND_ROOT_PATH environment variable: <hidden_path>
android-ndk/r22b: Creating SYSROOT environment variable: <hidden_path>
android-ndk/r22b: Creating self.cpp_info.sysroot: <hidden_path>
android-ndk/r22b: Creating ANDROID_NATIVE_API_LEVEL environment variable: 28
android-ndk/r22b: Creating CONAN_CMAKE_PROGRAM environment variable: <hidden_path>
android-ndk/r22b: Creating CONAN_CMAKE_TOOLCHAIN_FILE environment variable: <hidden_path>
android-ndk/r22b: Creating CC environment variable: <hidden_path>
android-ndk/r22b: Creating CXX environment variable: <hidden_path>
android-ndk/r22b: Creating LD environment variable: <hidden_path>
android-ndk/r22b: Creating AR environment variable: <hidden_path>
android-ndk/r22b: Creating AS environment variable: <hidden_path>
android-ndk/r22b: Creating RANLIB environment variable: <hidden_path>
android-ndk/r22b: Creating STRIP environment variable: <hidden_path>
android-ndk/r22b: Creating ADDR2LINE environment variable: <hidden_path>
android-ndk/r22b: Creating NM environment variable: <hidden_path>
android-ndk/r22b: Creating OBJCOPY environment variable: <hidden_path>
android-ndk/r22b: Creating OBJDUMP environment variable: <hidden_path>
android-ndk/r22b: Creating READELF environment variable: <hidden_path>
android-ndk/r22b: Creating ELFEDIT environment variable: <hidden_path>
eigen/3.3.9: Already installed!
libwebp/1.2.4: Already installed!
openssl/1.1.1l: Already installed!
quirc/1.1: Already installed!
zlib/1.2.13: Already installed!
zlib/1.2.13: Already installed!
cmake/3.21.3: Already installed!
cmake/3.21.3: Appending PATH environment variable: <hidden_path>
libpng/1.6.39: Already installed!
protobuf/3.17.1: Already installed!
protobuf/3.17.1: Appending PATH environment variable: <hidden_path>
protobuf/3.17.1: Already installed!
protobuf/3.17.1: Appending PATH environment variable: <hidden_path>
opencv/4.5.5: Applying build-requirement: cmake/3.21.3
opencv/4.5.5: Applying build-requirement: android-ndk/r22b
opencv/4.5.5: Applying build-requirement: protobuf/3.17.1
opencv/4.5.5: Applying build-requirement: openssl/1.1.1l
opencv/4.5.5: Applying build-requirement: zlib/1.2.13
opencv/4.5.5: Configuring sources in <hidden_path>
Downloading 4.5.5.tar.gz completed [87773.33k]                                           opencv/4.5.5: 4.5.5: 
opencv/4.5.5: 
Downloading 4.5.5.tar.gz completed [59143.77k]                                           opencv/4.5.5: 4.5.5: 
opencv/4.5.5: 
opencv/4.5.5: Copying sources to build folder
opencv/4.5.5: Building your package in <hidden_path>
opencv/4.5.5: Generator txt created conanbuildinfo.txt
opencv/4.5.5: Calling generate()
opencv/4.5.5: Preset 'release' added to CMakePresets.json. Invoke it manually using 'cmake --preset release'
opencv/4.5.5: If your CMake version is not compatible with CMakePresets (<3.19) call cmake like: 'cmake <path> -G "Unix Makefiles" -<hidden_path>
-DCMAKE_POLICY_DEFAULT_CMP0091=NEW -DCMAKE_BUILD_TYPE=Release'
opencv/4.5.5: Aggregating env generators
opencv/4.5.5: Calling build()
opencv/4.5.5: Apply patch (conan): Robust discovery & injection of OpenEXR
opencv/4.5.5: Apply patch (conan): Robust discovery & injection of ade
opencv/4.5.5: Apply patch (conan): Robust discovery & injection of quirc
opencv/4.5.5: CMake command: cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="<hidden_path>" -DCMAKE_INSTALL_PREFIX="<hidden_path>" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "<hidden_path>"
-- Using Conan toolchain: <hidden_path>
-- Conan toolchain: Setting BUILD_SHARED_LIBS = ON
-- The CXX compiler identification is Clang 11.0.5
-- The C compiler identification is Clang 11.0.5
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: <hidden_path> - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: <hidden_path> - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detected processor: aarch64
-- 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_WNO_DEPRECATED_ENUM_ENUM_CONVERSION
-- Performing Test HAVE_CXX_WNO_DEPRECATED_ENUM_ENUM_CONVERSION - Success
-- Performing Test HAVE_C_WNO_DEPRECATED_ENUM_ENUM_CONVERSION
-- Performing Test HAVE_C_WNO_DEPRECATED_ENUM_ENUM_CONVERSION - Success
-- Performing Test HAVE_CXX_WNO_DEPRECATED_ANON_ENUM_ENUM_CONVERSION
-- Performing Test HAVE_CXX_WNO_DEPRECATED_ANON_ENUM_ENUM_CONVERSION - Success
-- Performing Test HAVE_C_WNO_DEPRECATED_ANON_ENUM_ENUM_CONVERSION
-- Performing Test HAVE_C_WNO_DEPRECATED_ANON_ENUM_ENUM_CONVERSION - 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_FFUNCTION_SECTIONS
-- Performing Test HAVE_CXX_FFUNCTION_SECTIONS - Success
-- Performing Test HAVE_C_FFUNCTION_SECTIONS
-- Performing Test HAVE_C_FFUNCTION_SECTIONS - Success
-- Performing Test HAVE_CXX_FDATA_SECTIONS
-- Performing Test HAVE_CXX_FDATA_SECTIONS - Success
-- Performing Test HAVE_C_FDATA_SECTIONS
-- Performing Test HAVE_C_FDATA_SECTIONS - Success
-- Performing Test HAVE_CPU_NEON_SUPPORT (check file: cmake/checks/cpu_neon.cpp)
-- Performing Test HAVE_CPU_NEON_SUPPORT - Success
-- Performing Test HAVE_CPU_FP16_SUPPORT (check file: cmake/checks/cpu_fp16.cpp)
-- Performing Test HAVE_CPU_FP16_SUPPORT - Success
-- Performing Test HAVE_CPU_BASELINE_FLAGS
-- Performing Test HAVE_CPU_BASELINE_FLAGS - 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
-- Performing Test HAVE_LINK_AS_NEEDED
-- Performing Test HAVE_LINK_AS_NEEDED - Success
-- OpenCV disables pkg-config to avoid using of host libraries. Consider using PKG_CONFIG_LIBDIR to specify target SYSROOT
-- 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
-- Conan: Target declared 'ZLIB::ZLIB'
CMake Error at ~/.conan/data/opencv/4.5.5/_/_/build/801fe1d9b98d2dd6b0e0ef631a583972d6f4e6d9/build/generators/cmakedeps_macros.cmake:39 (message):
  Library 'z' not found in package.  If 'z' is a system library, declare it
  with 'cpp_info.system_libs' property
Call Stack (most recent call first):
  ~/.conan/data/opencv/4.5.5/_/_/build/801fe1d9b98d2dd6b0e0ef631a583972d6f4e6d9/build/generators/ZLIB-Target-release.cmake:34 (conan_package_library_targets)
 ~/.conan/data/opencv/4.5.5/_/_/build/801fe1d9b98d2dd6b0e0ef631a583972d6f4e6d9/build/generators/ZLIBTargets.cmake:26 (include)
  ~/.conan/data/opencv/4.5.5/_/_/build/801fe1d9b98d2dd6b0e0ef631a583972d6f4e6d9/build/generators/ZLIBConfig.cmake:10 (include)
  cmake/OpenCVFindLibsGrfmt.cmake:14 (find_package)
  CMakeLists.txt:730 (include)


-- Configuring incomplete, errors occurred!
See also "~/.conan/data/opencv/4.5.5/_/_/build/801fe1d9b98d2dd6b0e0ef631a583972d6f4e6d9/build/Release/CMakeFiles/CMakeOutput.log".
opencv/4.5.5: 
opencv/4.5.5: ERROR: Package '801fe1d9b98d2dd6b0e0ef631a583972d6f4e6d9' build failed
opencv/4.5.5: WARN: Build folder ~/.conan/data/opencv/4.5.5/_/_/build/801fe1d9b98d2dd6b0e0ef631a583972d6f4e6d9/build/Release
ERROR: opencv/4.5.5: Error in build() method, line 491
        cmake.configure()
        ConanException: Error 1 while executing cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE="~/.conan/data/opencv/4.5.5/_/_/build/801fe1d9b98d2dd6b0e0ef631a583972d6f4e6d9/build/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="~/.conan/data/opencv/4.5.5/_/_/package/801fe1d9b98d2dd6b0e0ef631a583972d6f4e6d9" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" -DCMAKE_BUILD_TYPE="Release" "~/.conan/data/opencv/4.5.5/_/_/build/801fe1d9b98d2dd6b0e0ef631a583972d6f4e6d9/src"

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Comments: 15 (13 by maintainers)

Most upvoted comments

This becomes very confusing to me, according to conan documentation at https://docs.conan.io/en/1.56/systems_cross_building/cross_building.html#cross-building-android i dont see any line saying that you need to seperate build and host profile for cross building. it gives examples for both single and dual profile cross building.

so i wonder is that because opencv/4.5.5 conanfile.py here handle this little differently? by reading the file source code, i dont find anything special here. could you help to explain a little bit on this?

These questions are for conan developers, I’m just a contributor. I just know that cross-build with 1 profile may not work, and has little chance to work when recipes are using conan v2 helpers like opencv 4.5.5. Regarding documentation, I guess it’s outdated or lack important informations regarding robustness of cross-build with 1 profile against recipes using conan v2 helpers.