twistedfall / opencv-rust

Rust bindings for OpenCV 3 & 4
MIT License
1.96k stars 160 forks source link

Problem building for Android (arm): conflicting Clone implementation because c_char is u8 #477

Closed badicsalex closed 1 year ago

badicsalex commented 1 year ago

TL;DR: The code generator seems to generate code for both Vector<u8> and Vector<c_char>, but on ARM c_char is aliased to u8 (and not i8), so a lot of the definitions are duplicated. I'd be happy to fix this, but honestly, I don't even know where to start.

I wonder how this happened, since there was an adjacent issue in the past: #392

Diagnostic stuff

  1. I checked the troubleshooting guide: yes
  2. Operating system: Host is arch linux x86/64, target is Android NDK 25.2.9519653, armv7
  3. The way you installed OpenCV: manually compiled with cmake
  4. OpenCV version: 4.8.0
  5. rustc version: rustc 1.70.0 (90c541806 2023-05-31)
  6. Attach the full output of a verbose cargo build:

    export ANDROID_NDK="/opt/android_sdk/ndk/25.2.9519653/"
    export TOOLCHAIN="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64"
    export TARGET="armv7a-linux-androideabi"
    export API="29"
    export AR="$TOOLCHAIN/bin/llvm-ar"
    export CC="$TOOLCHAIN/bin/$TARGET$API-clang"
    export CXX="$TOOLCHAIN/bin/$TARGET$API-clang++"
    export OPENCV_LINK_LIBS="core"
    export OPENCV_LINK_PATHS="/tmp/opencv/build/install/sdk/native/staticlibs"
    export OPENCV_INCLUDE_PATHS="/tmp/opencv/build/install/sdk/native/jni/include"
    
    RUST_BACKTRACE=full cargo build -vv --target armv7-linux-androideabi

    (irrelevant output ommitted, as it wouldn't fit into a github comment)

         Running `/tmp/opencv-rust/target/debug/build/opencv-a05121fbd111c6be/build-script-build`
    [opencv 0.84.0] === Crate version: Some("0.84.0")
    [opencv 0.84.0] === Environment configuration:
    [opencv 0.84.0] ===   OPENCV_PACKAGE_NAME = None
    [opencv 0.84.0] ===   OPENCV_PKGCONFIG_NAME = None
    [opencv 0.84.0] ===   OPENCV_CMAKE_NAME = None
    [opencv 0.84.0] ===   OPENCV_CMAKE_BIN = None
    [opencv 0.84.0] ===   OPENCV_VCPKG_NAME = None
    [opencv 0.84.0] ===   OPENCV_LINK_LIBS = Some("core")
    [opencv 0.84.0] ===   OPENCV_LINK_PATHS = Some("/tmp/opencv/build/install/sdk/native/staticlibs")
    [opencv 0.84.0] ===   OPENCV_INCLUDE_PATHS = Some("/tmp/opencv/build/install/sdk/native/jni/include")
    [opencv 0.84.0] ===   OPENCV_DISABLE_PROBES = None
    [opencv 0.84.0] ===   CMAKE_PREFIX_PATH = None
    [opencv 0.84.0] ===   OpenCV_DIR = None
    [opencv 0.84.0] ===   PKG_CONFIG_PATH = None
    [opencv 0.84.0] ===   VCPKG_ROOT = None
    [opencv 0.84.0] ===   VCPKGRS_DYNAMIC = None
    [opencv 0.84.0] ===   OCVRS_DOCS_GENERATE_DIR = None
    [opencv 0.84.0] ===   DOCS_RS = None
    [opencv 0.84.0] ===   PATH = Some("/home/alex/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")
    [opencv 0.84.0] === Enabled features:
    [opencv 0.84.0] === Detected probe priority based on environment vars: pkg_config: false, cmake: false, vcpkg: false
    [opencv 0.84.0] === Probing the OpenCV library in the following order: environment, pkg_config, cmake, vcpkg_cmake, vcpkg
    [opencv 0.84.0] === Configuring OpenCV library from the environment:
    [opencv 0.84.0] ===   include_paths: /tmp/opencv/build/install/sdk/native/jni/include
    [opencv 0.84.0] ===   link_paths: /tmp/opencv/build/install/sdk/native/staticlibs
    [opencv 0.84.0] ===   link_libs: core
    [opencv 0.84.0] === Successfully probed using: environment
    [opencv 0.84.0] === OpenCV library configuration: Library {
    [opencv 0.84.0]     include_paths: [
    [opencv 0.84.0]         "/tmp/opencv/build/install/sdk/native/jni/include",
    [opencv 0.84.0]     ],
    [opencv 0.84.0]     version: Version {
    [opencv 0.84.0]         major: 4,
    [opencv 0.84.0]         minor: 8,
    [opencv 0.84.0]         patch: 0,
    [opencv 0.84.0]     },
    [opencv 0.84.0]     cargo_metadata: [
    [opencv 0.84.0]         "cargo:rustc-link-search=/tmp/opencv/build/install/sdk/native/staticlibs",
    [opencv 0.84.0]         "cargo:rustc-link-lib=core",
    [opencv 0.84.0]     ],
    [opencv 0.84.0] }
    [opencv 0.84.0] === Detected OpenCV module header dir at: /tmp/opencv/build/install/sdk/native/jni/include/opencv2
    [opencv 0.84.0] cargo:rustc-cfg=ocvrs_opencv_branch_4
    [opencv 0.84.0] === Found OpenCV version: 4.8.0 in headers located at: /tmp/opencv/build/install/sdk/native/jni/include
    [opencv 0.84.0] cargo:rerun-if-env-changed=OPENCV_PACKAGE_NAME
    [opencv 0.84.0] cargo:rerun-if-env-changed=OPENCV_PKGCONFIG_NAME
    [opencv 0.84.0] cargo:rerun-if-env-changed=OPENCV_CMAKE_NAME
    [opencv 0.84.0] cargo:rerun-if-env-changed=OPENCV_CMAKE_BIN
    [opencv 0.84.0] cargo:rerun-if-env-changed=OPENCV_VCPKG_NAME
    [opencv 0.84.0] cargo:rerun-if-env-changed=OPENCV_LINK_LIBS
    [opencv 0.84.0] cargo:rerun-if-env-changed=OPENCV_LINK_PATHS
    [opencv 0.84.0] cargo:rerun-if-env-changed=OPENCV_INCLUDE_PATHS
    [opencv 0.84.0] cargo:rerun-if-env-changed=OPENCV_DISABLE_PROBES
    [opencv 0.84.0] cargo:rerun-if-env-changed=CMAKE_PREFIX_PATH
    [opencv 0.84.0] cargo:rerun-if-env-changed=OpenCV_DIR
    [opencv 0.84.0] cargo:rerun-if-env-changed=PKG_CONFIG_PATH
    [opencv 0.84.0] cargo:rerun-if-env-changed=VCPKG_ROOT
    [opencv 0.84.0] cargo:rerun-if-env-changed=VCPKGRS_DYNAMIC
    [opencv 0.84.0] cargo:rerun-if-env-changed=OCVRS_DOCS_GENERATE_DIR
    [opencv 0.84.0] cargo:rerun-if-env-changed=DOCS_RS
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/xfeatures2d.hpp
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/videoio.hpp
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/sfm.hpp
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/photo.hpp
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/ocvrs_common.hpp
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/manual-core.cpp
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/hdf.hpp
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/gapi.hpp
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/face.hpp
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/dnn.hpp
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/core.hpp
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/ccalib.hpp
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/bioinspired.hpp
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/aruco.hpp
    [opencv 0.84.0] cargo:rerun-if-changed=/tmp/opencv-rust/src_cpp/alphamat.hpp
    [opencv 0.84.0] cargo:rerun-if-changed=Cargo.toml
    [opencv 0.84.0] === Generating code in: /tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out
    [opencv 0.84.0] === Placing generated bindings into: /tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/opencv
    [opencv 0.84.0] === Using OpenCV headers from: /tmp/opencv/build/install/sdk/native/jni/include
    [opencv 0.84.0] === Clang: clang version 15.0.7
    [opencv 0.84.0] === Clang command line args: [
    [opencv 0.84.0]     "-isystem/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.1.1/../../../../include/c++/13.1.1",
    [opencv 0.84.0]     "-isystem/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.1.1/../../../../include/c++/13.1.1/x86_64-pc-linux-gnu",
    [opencv 0.84.0]     "-isystem/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.1.1/../../../../include/c++/13.1.1/backward",
    [opencv 0.84.0]     "-isystem/usr/lib/clang/15.0.7/include",
    [opencv 0.84.0]     "-isystem/usr/local/include",
    [opencv 0.84.0]     "-isystem/usr/include",
    [opencv 0.84.0]     "-I/tmp/opencv/build/install/sdk/native/jni/include",
    [opencv 0.84.0]     "-F/tmp/opencv/build/install/sdk/native/jni/include",
    [opencv 0.84.0]     "-I/tmp/opencv-rust/src_cpp",
    [opencv 0.84.0]     "-F/tmp/opencv-rust/src_cpp",
    [opencv 0.84.0]     "-DOCVRS_PARSING_HEADERS",
    [opencv 0.84.0]     "-includeocvrs_common.hpp",
    [opencv 0.84.0]     "-std=c++14",
    [opencv 0.84.0] ]
    [opencv 0.84.0] === Using environment job server with the the amount of available jobs: 15
    [opencv 0.84.0] === Running: "/tmp/opencv-rust/target/debug/build/opencv-a05121fbd111c6be/build-script-build" "/tmp/opencv/build/install/sdk/native/jni/include" "/tmp/opencv-rust/src_cpp" "/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out" "core" ""
    [opencv 0.84.0] === Generated: core in 1.924354613s
    [opencv 0.84.0] === Total binding generation time: 1.924650532s
    [opencv 0.84.0] === Total binding collection time: 3.279817ms
    [opencv 0.84.0] OPT_LEVEL = Some("0")
    [opencv 0.84.0] TARGET = Some("armv7-linux-androideabi")
    [opencv 0.84.0] HOST = Some("x86_64-unknown-linux-gnu")
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
    [opencv 0.84.0] CXX_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
    [opencv 0.84.0] CXX_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXX
    [opencv 0.84.0] TARGET_CXX = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX
    [opencv 0.84.0] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
    [opencv 0.84.0] CXXFLAGS_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
    [opencv 0.84.0] CXXFLAGS_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
    [opencv 0.84.0] TARGET_CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS
    [opencv 0.84.0] CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    [opencv 0.84.0] CRATE_CC_NO_DEFAULTS = None
    [opencv 0.84.0] DEBUG = Some("true")
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
    [opencv 0.84.0] CXX_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
    [opencv 0.84.0] CXX_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXX
    [opencv 0.84.0] TARGET_CXX = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX
    [opencv 0.84.0] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
    [opencv 0.84.0] CXXFLAGS_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
    [opencv 0.84.0] CXXFLAGS_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
    [opencv 0.84.0] TARGET_CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS
    [opencv 0.84.0] CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    [opencv 0.84.0] CRATE_CC_NO_DEFAULTS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
    [opencv 0.84.0] CXX_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
    [opencv 0.84.0] CXX_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXX
    [opencv 0.84.0] TARGET_CXX = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX
    [opencv 0.84.0] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
    [opencv 0.84.0] CXXFLAGS_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
    [opencv 0.84.0] CXXFLAGS_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
    [opencv 0.84.0] TARGET_CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS
    [opencv 0.84.0] CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    [opencv 0.84.0] CRATE_CC_NO_DEFAULTS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
    [opencv 0.84.0] CXX_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
    [opencv 0.84.0] CXX_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXX
    [opencv 0.84.0] TARGET_CXX = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX
    [opencv 0.84.0] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
    [opencv 0.84.0] CXXFLAGS_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
    [opencv 0.84.0] CXXFLAGS_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
    [opencv 0.84.0] TARGET_CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS
    [opencv 0.84.0] CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    [opencv 0.84.0] CRATE_CC_NO_DEFAULTS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
    [opencv 0.84.0] CXX_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
    [opencv 0.84.0] CXX_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXX
    [opencv 0.84.0] TARGET_CXX = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX
    [opencv 0.84.0] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
    [opencv 0.84.0] CXXFLAGS_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
    [opencv 0.84.0] CXXFLAGS_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
    [opencv 0.84.0] TARGET_CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS
    [opencv 0.84.0] CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    [opencv 0.84.0] CRATE_CC_NO_DEFAULTS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
    [opencv 0.84.0] CXX_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
    [opencv 0.84.0] CXX_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXX
    [opencv 0.84.0] TARGET_CXX = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX
    [opencv 0.84.0] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
    [opencv 0.84.0] CXXFLAGS_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
    [opencv 0.84.0] CXXFLAGS_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
    [opencv 0.84.0] TARGET_CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS
    [opencv 0.84.0] CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    [opencv 0.84.0] CRATE_CC_NO_DEFAULTS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
    [opencv 0.84.0] CXX_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
    [opencv 0.84.0] CXX_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXX
    [opencv 0.84.0] TARGET_CXX = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX
    [opencv 0.84.0] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
    [opencv 0.84.0] CXXFLAGS_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
    [opencv 0.84.0] CXXFLAGS_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
    [opencv 0.84.0] TARGET_CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS
    [opencv 0.84.0] CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    [opencv 0.84.0] CRATE_CC_NO_DEFAULTS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
    [opencv 0.84.0] CXX_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
    [opencv 0.84.0] CXX_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXX
    [opencv 0.84.0] TARGET_CXX = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX
    [opencv 0.84.0] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
    [opencv 0.84.0] CXXFLAGS_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
    [opencv 0.84.0] CXXFLAGS_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
    [opencv 0.84.0] TARGET_CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS
    [opencv 0.84.0] CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    [opencv 0.84.0] CRATE_CC_NO_DEFAULTS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
    [opencv 0.84.0] CXX_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
    [opencv 0.84.0] CXX_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXX
    [opencv 0.84.0] TARGET_CXX = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX
    [opencv 0.84.0] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
    [opencv 0.84.0] CXXFLAGS_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
    [opencv 0.84.0] CXXFLAGS_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
    [opencv 0.84.0] TARGET_CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS
    [opencv 0.84.0] CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    [opencv 0.84.0] CRATE_CC_NO_DEFAULTS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
    [opencv 0.84.0] CXX_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
    [opencv 0.84.0] CXX_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXX
    [opencv 0.84.0] TARGET_CXX = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXX
    [opencv 0.84.0] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
    [opencv 0.84.0] CXXFLAGS_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
    [opencv 0.84.0] CXXFLAGS_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
    [opencv 0.84.0] TARGET_CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXFLAGS
    [opencv 0.84.0] CXXFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    [opencv 0.84.0] CRATE_CC_NO_DEFAULTS = None
    [opencv 0.84.0] === Compiler information: Tool {
    [opencv 0.84.0]     path: "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++",
    [opencv 0.84.0]     cc_wrapper_path: None,
    [opencv 0.84.0]     cc_wrapper_args: [],
    [opencv 0.84.0]     args: [
    [opencv 0.84.0]         "-O0",
    [opencv 0.84.0]         "-DANDROID",
    [opencv 0.84.0]         "-ffunction-sections",
    [opencv 0.84.0]         "-fdata-sections",
    [opencv 0.84.0]         "-fPIC",
    [opencv 0.84.0]         "-gdwarf-2",
    [opencv 0.84.0]         "-fno-omit-frame-pointer",
    [opencv 0.84.0]         "-I",
    [opencv 0.84.0]         "/tmp/opencv-rust/src_cpp",
    [opencv 0.84.0]         "-I",
    [opencv 0.84.0]         "/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out",
    [opencv 0.84.0]         "-I",
    [opencv 0.84.0]         ".",
    [opencv 0.84.0]         "-I",
    [opencv 0.84.0]         "/tmp/opencv/build/install/sdk/native/jni/include",
    [opencv 0.84.0]         "-Wall",
    [opencv 0.84.0]         "-Wextra",
    [opencv 0.84.0]         "-std=c++11",
    [opencv 0.84.0]         "-Wno-deprecated-declarations",
    [opencv 0.84.0]         "-Wno-deprecated-copy",
    [opencv 0.84.0]         "-Wno-unused-parameter",
    [opencv 0.84.0]         "-Wno-sign-compare",
    [opencv 0.84.0]         "-Wno-comment",
    [opencv 0.84.0]         "-Wno-unused-variable",
    [opencv 0.84.0]         "-Wno-ignored-qualifiers",
    [opencv 0.84.0]         "-Wno-return-type-c-linkage",
    [opencv 0.84.0]     ],
    [opencv 0.84.0]     env: [],
    [opencv 0.84.0]     family: Clang,
    [opencv 0.84.0]     cuda: false,
    [opencv 0.84.0]     removed_args: [],
    [opencv 0.84.0] }
    [opencv 0.84.0] cargo:rustc-cfg=ocvrs_has_module_core
    [opencv 0.84.0] running: "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++" "-O0" "-DANDROID" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-I" "/tmp/opencv-rust/src_cpp" "-I" "/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out" "-I" "." "-I" "/tmp/opencv/build/install/sdk/native/jni/include" "-Wall" "-Wextra" "-std=c++11" "-Wno-deprecated-declarations" "-Wno-deprecated-copy" "-Wno-unused-parameter" "-Wno-sign-compare" "-Wno-comment" "-Wno-unused-variable" "-Wno-ignored-qualifiers" "-Wno-return-type-c-linkage" "-o" "/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/10b5ec8b7680433a-core.o" "-c" "/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/core.cpp"
    [opencv 0.84.0] running: "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++" "-O0" "-DANDROID" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-I" "/tmp/opencv-rust/src_cpp" "-I" "/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out" "-I" "." "-I" "/tmp/opencv/build/install/sdk/native/jni/include" "-Wall" "-Wextra" "-std=c++11" "-Wno-deprecated-declarations" "-Wno-deprecated-copy" "-Wno-unused-parameter" "-Wno-sign-compare" "-Wno-comment" "-Wno-unused-variable" "-Wno-ignored-qualifiers" "-Wno-return-type-c-linkage" "-o" "/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/088ff024214c142f-manual-core.o" "-c" "/tmp/opencv-rust/src_cpp/manual-core.cpp"
    [opencv 0.84.0] exit status: 0
    [opencv 0.84.0] exit status: 0
    [opencv 0.84.0] cargo:rerun-if-env-changed=AR_armv7-linux-androideabi
    [opencv 0.84.0] AR_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=AR_armv7_linux_androideabi
    [opencv 0.84.0] AR_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_AR
    [opencv 0.84.0] TARGET_AR = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=AR
    [opencv 0.84.0] AR = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar")
    [opencv 0.84.0] cargo:rerun-if-env-changed=ARFLAGS_armv7-linux-androideabi
    [opencv 0.84.0] ARFLAGS_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=ARFLAGS_armv7_linux_androideabi
    [opencv 0.84.0] ARFLAGS_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_ARFLAGS
    [opencv 0.84.0] TARGET_ARFLAGS = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=ARFLAGS
    [opencv 0.84.0] ARFLAGS = None
    [opencv 0.84.0] running: ZERO_AR_DATE="1" "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar" "cq" "/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/libocvrs.a" "/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/10b5ec8b7680433a-core.o" "/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/088ff024214c142f-manual-core.o"
    [opencv 0.84.0] exit status: 0
    [opencv 0.84.0] running: "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar" "s" "/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/libocvrs.a"
    [opencv 0.84.0] exit status: 0
    [opencv 0.84.0] cargo:rustc-link-lib=static=ocvrs
    [opencv 0.84.0] cargo:rustc-link-search=native=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXSTDLIB_armv7-linux-androideabi
    [opencv 0.84.0] CXXSTDLIB_armv7-linux-androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXSTDLIB_armv7_linux_androideabi
    [opencv 0.84.0] CXXSTDLIB_armv7_linux_androideabi = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=TARGET_CXXSTDLIB
    [opencv 0.84.0] TARGET_CXXSTDLIB = None
    [opencv 0.84.0] cargo:rerun-if-env-changed=CXXSTDLIB
    [opencv 0.84.0] CXXSTDLIB = None
    [opencv 0.84.0] cargo:rustc-link-lib=c++_shared
    [opencv 0.84.0] === Total cpp build time: 1.506880791s
    [opencv 0.84.0] cargo:rustc-link-search=/tmp/opencv/build/install/sdk/native/staticlibs
    [opencv 0.84.0] cargo:rustc-link-lib=core
         Running `CARGO=/home/alex/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo CARGO_CRATE_NAME=opencv CARGO_MANIFEST_DIR=/tmp/opencv-rust CARGO_PKG_AUTHORS='Pro <twisted.fall@gmail.com>:Mathieu Poumeyrol <kali@zoy.org>' CARGO_PKG_DESCRIPTION='Rust bindings for OpenCV' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE=MIT CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=opencv CARGO_PKG_README=README.md CARGO_PKG_REPOSITORY='https://github.com/twistedfall/opencv-rust' CARGO_PKG_RUST_VERSION=1.59 CARGO_PKG_VERSION=0.84.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=84 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH='/tmp/opencv-rust/target/debug/deps:/home/alex/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib:/home/alex/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib' OUT_DIR=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out rustc --crate-name opencv --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=189 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C metadata=ec32b26c68e49ad7 -C extra-filename=-ec32b26c68e49ad7 --out-dir /tmp/opencv-rust/target/armv7-linux-androideabi/debug/deps --target armv7-linux-androideabi -C incremental=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/incremental -L dependency=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/deps -L dependency=/tmp/opencv-rust/target/debug/deps --extern libc=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/deps/liblibc-dc46f2c77a32e965.rmeta --extern num_traits=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/deps/libnum_traits-bdaef485d3728bf4.rmeta --extern once_cell=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/deps/libonce_cell-222c4000c7dad4c9.rmeta -L native=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out -L /tmp/opencv/build/install/sdk/native/staticlibs -l static=ocvrs -l c++_shared -l core --cfg ocvrs_opencv_branch_4 --cfg ocvrs_has_module_core`
    error[E0119]: conflicting implementations of trait `Clone` for type `vector::Vector<u8>`
       --> src/manual/core/vector/vector_extern.rs:216:3
        |
    216 |           impl std::clone::Clone for $crate::core::Vector<$type>
        |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |           |
        |           first implementation here
        |           conflicting implementation for `vector::Vector<u8>`
        |
       ::: /tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/opencv/types.rs:657:2
        |
    657 | /     vector_copy_non_bool! { c_char,
    658 | |         std_vectorLcharG_data_const, std_vectorLcharG_dataMut, cv_fromSlice_const_const_charX_size_t,
    659 | |         std_vectorLcharG_clone_const,
    660 | |     }
        | |_____- in this macro invocation
        |
        = note: this error originates in the macro `vector_copy_non_bool` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error[E0119]: conflicting implementations of trait `input_output_array::ToInputArray` for type `vector::Vector<u8>`
       --> /tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/opencv/types.rs:869:2
        |
    662 |     impl core::ToInputArray for core::Vector<c_char> {
        |     ------------------------------------------------ first implementation here
    ...
    869 |     impl core::ToInputArray for core::Vector<u8> {
        |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `vector::Vector<u8>`
    
    error[E0119]: conflicting implementations of trait `input_output_array::ToInputArray` for type `&vector::Vector<u8>`
       --> src/manual/core/input_output_array.rs:117:3
        |
    117 |         impl $crate::core::ToInputArray for &$type {
        |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |         |
        |         first implementation here
        |         conflicting implementation for `&vector::Vector<u8>`
        |
       ::: /tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/opencv/types.rs:701:2
        |
    701 |     input_output_array_ref_forward! { core::Vector<c_char> }
        |     -------------------------------------------------------- in this macro invocation
        |
        = note: this error originates in the macro `$crate::input_array_ref_forward` which comes from the expansion of the macro `input_output_array_ref_forward` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error[E0119]: conflicting implementations of trait `input_output_array::ToOutputArray` for type `vector::Vector<u8>`
       --> /tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/opencv/types.rs:882:2
        |
    675 |     impl core::ToOutputArray for core::Vector<c_char> {
        |     ------------------------------------------------- first implementation here
    ...
    882 |     impl core::ToOutputArray for core::Vector<u8> {
        |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `vector::Vector<u8>`
    
    error[E0119]: conflicting implementations of trait `input_output_array::ToOutputArray` for type `&mut vector::Vector<u8>`
       --> src/manual/core/input_output_array.rs:130:3
        |
    130 |         impl $crate::core::ToOutputArray for &mut $type {
        |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |         |
        |         first implementation here
        |         conflicting implementation for `&mut vector::Vector<u8>`
        |
       ::: /tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/opencv/types.rs:701:2
        |
    701 |     input_output_array_ref_forward! { core::Vector<c_char> }
        |     -------------------------------------------------------- in this macro invocation
        |
        = note: this error originates in the macro `$crate::output_array_ref_forward` which comes from the expansion of the macro `input_output_array_ref_forward` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error[E0119]: conflicting implementations of trait `input_output_array::ToInputOutputArray` for type `vector::Vector<u8>`
       --> /tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/opencv/types.rs:895:2
        |
    688 |     impl core::ToInputOutputArray for core::Vector<c_char> {
        |     ------------------------------------------------------ first implementation here
    ...
    895 |     impl core::ToInputOutputArray for core::Vector<u8> {
        |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `vector::Vector<u8>`
    
    error[E0119]: conflicting implementations of trait `input_output_array::ToInputOutputArray` for type `&mut vector::Vector<u8>`
       --> src/manual/core/input_output_array.rs:137:3
        |
    137 |         impl $crate::core::ToInputOutputArray for &mut $type {
        |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |         |
        |         first implementation here
        |         conflicting implementation for `&mut vector::Vector<u8>`
        |
       ::: /tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/opencv/types.rs:701:2
        |
    701 |     input_output_array_ref_forward! { core::Vector<c_char> }
        |     -------------------------------------------------------- in this macro invocation
        |
        = note: this error originates in the macro `$crate::output_array_ref_forward` which comes from the expansion of the macro `input_output_array_ref_forward` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error[E0119]: conflicting implementations of trait `vector::vector_extern::VectorExtern<u8>` for type `vector::Vector<u8>`
       --> src/manual/core/vector/vector_extern.rs:91:3
        |
    91  |           impl $crate::core::VectorExtern<$type> for $crate::core::Vector<$type> {
        |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |           |
        |           first implementation here
        |           conflicting implementation for `vector::Vector<u8>`
        |
       ::: /tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/opencv/types.rs:648:2
        |
    648 | /     vector_extern! { c_char,
    649 | |         std_vectorLcharG_new_const, std_vectorLcharG_delete,
    650 | |         std_vectorLcharG_len_const, std_vectorLcharG_isEmpty_const,
    651 | |         std_vectorLcharG_capacity_const, std_vectorLcharG_shrinkToFit,
    ...   |
    655 | |         std_vectorLcharG_push_char, std_vectorLcharG_insert_size_t_char,
    656 | |     }
        | |_____- in this macro invocation
        |
        = note: this error originates in the macro `vector_extern` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error[E0119]: conflicting implementations of trait `vector::vector_extern::VectorElement` for type `u8`
       --> src/manual/core/vector/vector_extern.rs:206:3
        |
    206 | /         impl $crate::core::VectorElement for $type
    207 | |         where
    208 | |             $crate::core::Vector<$type>: $crate::core::VectorExtern<$type>,
    209 | |         {
    ...   |
    213 | |             }
    214 | |         }
        | |         ^
        | |         |
        | |_________first implementation here
        |           conflicting implementation for `u8`
        |
       ::: /tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/opencv/types.rs:657:2
        |
    657 | /     vector_copy_non_bool! { c_char,
    658 | |         std_vectorLcharG_data_const, std_vectorLcharG_dataMut, cv_fromSlice_const_const_charX_size_t,
    659 | |         std_vectorLcharG_clone_const,
    660 | |     }
        | |_____- in this macro invocation
        |
        = note: this error originates in the macro `vector_copy_non_bool` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error[E0119]: conflicting implementations of trait `vector::vector_extern::VectorExternCopyNonBool<u8>` for type `vector::Vector<u8>`
       --> src/manual/core/vector/vector_extern.rs:226:3
        |
    226 |           impl $crate::core::VectorExternCopyNonBool<$type> for $crate::core::Vector<$type> {
        |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |           |
        |           first implementation here
        |           conflicting implementation for `vector::Vector<u8>`
        |
       ::: /tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/opencv/types.rs:657:2
        |
    657 | /     vector_copy_non_bool! { c_char,
    658 | |         std_vectorLcharG_data_const, std_vectorLcharG_dataMut, cv_fromSlice_const_const_charX_size_t,
    659 | |         std_vectorLcharG_clone_const,
    660 | |     }
        | |_____- in this macro invocation
        |
        = note: this error originates in the macro `vector_copy_non_bool` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    error[E0592]: duplicate definitions with name `extern_clone`
       --> src/manual/core/vector/vector_extern.rs:201:4
        |
    201 |               unsafe fn extern_clone(&self) -> extern_receive!(Self) {
        |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        |               |
        |               duplicate definitions for `extern_clone`
        |               other definition for `extern_clone`
        |
       ::: /tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out/opencv/types.rs:657:2
        |
    657 | /     vector_copy_non_bool! { c_char,
    658 | |         std_vectorLcharG_data_const, std_vectorLcharG_dataMut, cv_fromSlice_const_const_charX_size_t,
    659 | |         std_vectorLcharG_clone_const,
    660 | |     }
        | |_____- in this macro invocation
        |
        = note: this error originates in the macro `vector_copy_non_bool` (in Nightly builds, run with -Z macro-backtrace for more info)
    
    Some errors have detailed explanations: E0119, E0592.
    For more information about an error, try `rustc --explain E0119`.
    error: could not compile `opencv` (lib) due to 11 previous errors
    
    Caused by:
      process didn't exit successfully: `CARGO=/home/alex/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo CARGO_CRATE_NAME=opencv CARGO_MANIFEST_DIR=/tmp/opencv-rust CARGO_PKG_AUTHORS='Pro <twisted.fall@gmail.com>:Mathieu Poumeyrol <kali@zoy.org>' CARGO_PKG_DESCRIPTION='Rust bindings for OpenCV' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE=MIT CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=opencv CARGO_PKG_README=README.md CARGO_PKG_REPOSITORY='https://github.com/twistedfall/opencv-rust' CARGO_PKG_RUST_VERSION=1.59 CARGO_PKG_VERSION=0.84.0 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=84 CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH='/tmp/opencv-rust/target/debug/deps:/home/alex/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib:/home/alex/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib' OUT_DIR=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out rustc --crate-name opencv --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=189 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 -C metadata=ec32b26c68e49ad7 -C extra-filename=-ec32b26c68e49ad7 --out-dir /tmp/opencv-rust/target/armv7-linux-androideabi/debug/deps --target armv7-linux-androideabi -C incremental=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/incremental -L dependency=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/deps -L dependency=/tmp/opencv-rust/target/debug/deps --extern libc=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/deps/liblibc-dc46f2c77a32e965.rmeta --extern num_traits=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/deps/libnum_traits-bdaef485d3728bf4.rmeta --extern once_cell=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/deps/libonce_cell-222c4000c7dad4c9.rmeta -L native=/tmp/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-0bd648a87b269ede/out -L /tmp/opencv/build/install/sdk/native/staticlibs -l static=ocvrs -l c++_shared -l core --cfg ocvrs_opencv_branch_4 --cfg ocvrs_has_module_core` (exit status: 1)

OpenCV was built like this:

    cd /tmp
    git clone https://github.com/opencv/opencv.git
    cd opencv
    mkdir build
    cd build
    cmake \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_INSTALL_PREFIX="/tmp/opencv/build/install" \
        -DCMAKE_SYSTEM_NAME=Android \
        -DCMAKE_ANDROID_NDK="/opt/android_sdk/ndk/25.2.9519653/" \
        -DBUILD_LIST=core,highgui,calib3d,features2d,imgproc \
        -DBUILD_SHARED_LIBS=NO \
        -DBUILD_ANDROID_EXAMPLES=OFF \
        -DBUILD_ANDROID_PROJECTS=OFF \
        -DBUILD_DOCS=OFF \
        -DBUILD_KOTLIN_EXTENSIONS=OFF \
        -DBUILD_FAT_JAVA_LIB=OFF \
        -DBUILD_PERF_TESTS=OFF \
        -DBUILD_TESTS=OFF \
        -DBUILD_opencv_java=OFF \
        -DBUILD_opencv_python=OFF \
        ..
    make -j
    make install

Config output for the opencv cmkae call:

-- General configuration for OpenCV 4.8.0 =====================================
--   Version control:               4.8.0
-- 
--   Platform:
--     Timestamp:                   2023-07-27T13:39:27Z
--     Host:                        Linux 6.4.6-arch1-1 x86_64
--     Target:                      Android 19 armv7-a
--     CMake:                       3.27.1
--     CMake generator:             Unix Makefiles
--     CMake build tool:            /usr/sbin/make
--     Configuration:               Release
-- 
--   CPU/HW features:
--     Baseline:                    NEON
--       requested:                 DETECT
-- 
--   C/C++:
--     Built as dynamic libs?:      NO
--     C++ standard:                11
--     C++ Compiler:                /opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/clang++  (ver 14.0.7)
--     C++ flags (Release):         -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++   -fsigned-char -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -Wno-deprecated-enum-enum-conversion -Wno-deprecated-anon-enum-enum-conversion -fdiagnostics-show-option -Qunused-arguments  -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG  -DNDEBUG
--     C++ flags (Debug):           -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fexceptions -frtti -stdlib=libc++   -fsigned-char -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -Wno-deprecated-enum-enum-conversion -Wno-deprecated-anon-enum-enum-conversion -fdiagnostics-show-option -Qunused-arguments  -fvisibility=hidden -fvisibility-inlines-hidden -g  -fno-limit-debug-info  -O0 -DDEBUG -D_DEBUG
--     C Compiler:                  /opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/clang
--     C flags (Release):           -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fexceptions   -fsigned-char -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -Wno-deprecated-enum-enum-conversion -Wno-deprecated-anon-enum-enum-conversion -fdiagnostics-show-option -Qunused-arguments  -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG  -DNDEBUG
--     C flags (Debug):             -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -march=armv7-a -mthumb -Wformat -Werror=format-security -fexceptions   -fsigned-char -W -Wall -Wreturn-type -Wnon-virtual-dtor -Waddress -Wsequence-point -Wformat -Wformat-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Winconsistent-missing-override -Wno-delete-non-virtual-dtor -Wno-unnamed-type-template-args -Wno-comment -Wno-deprecated-enum-enum-conversion -Wno-deprecated-anon-enum-enum-conversion -fdiagnostics-show-option -Qunused-arguments  -fvisibility=hidden -fvisibility-inlines-hidden -g  -fno-limit-debug-info  -O0 -DDEBUG -D_DEBUG
--     Linker flags (Release):      -Wl,--build-id=sha1 -Wl,--no-rosegment -Wl,--fatal-warnings -Wl,--gc-sections -Qunused-arguments -Wl,--no-undefined  -Wl,--as-needed -Wl,--no-undefined  
--     Linker flags (Debug):        -Wl,--build-id=sha1 -Wl,--no-rosegment -Wl,--fatal-warnings -Wl,--gc-sections -Qunused-arguments -Wl,--no-undefined  -Wl,--as-needed -Wl,--no-undefined  
--     ccache:                      NO
--     Precompiled headers:         NO
--     Extra dependencies:          z dl m log
--     3rdparty dependencies:       libcpufeatures ittnotify tegra_hal
-- 
--   OpenCV modules:
--     To be built:                 calib3d core features2d flann highgui imgproc
--     Disabled:                    world
--     Disabled by dependency:      dnn gapi imgcodecs java_bindings_generator js_bindings_generator ml objc_bindings_generator objdetect photo stitching video videoio
--     Unavailable:                 java python2 python3 ts
--     Applications:                -
--     Documentation:               NO
--     Non-free algorithms:         NO
-- 
--   Android NDK:                   location: 
--     Android ABI:
--     STL type:
--     Native API level:
--   Android SDK:                   not used, projects are not built
-- 
--   GUI:                           NONE
-- 
--   Media I/O: 
--     ZLib:                        z (ver 1.2.12)
--     JPEG:                        build-libjpeg-turbo (ver 2.1.3-62)
--       SIMD Support Request:      YES
--       SIMD Support:              YES
--     WEBP:                        build (ver encoder: 0x020f)
--     PNG:                         build (ver 1.6.37)
--     TIFF:                        build (ver 42 - 4.2.0)
--     JPEG 2000:                   build (ver 2.5.0)
--     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:
--     Custom HAL:                  YES (carotene (ver 0.0.1))
--     Protobuf:                    build (3.19.1)
--     Flatbuffers:                 builtin/3rdparty (23.5.9)
-- 
--   Python (for build):            /usr/sbin/python3
-- 
--   Java:                          
--     ant:                         NO
--     Java wrappers:               NO
--     Java tests:                  NO
-- 
--   Install to:                    /tmp/opencv/build/install
-- -----------------------------------------------------------------
-- 
-- Configuring done (7.6s)
-- Generating done (0.0s)
-- Build files have been written to: /tmp/opencv/build
twistedfall commented 1 year ago

Thanks for the report. I'll fix it ASAP

badicsalex commented 1 year ago

opencv-rust 0.82.0 compiles (with opencv 0.4.7), so this is a recent regression.

twistedfall commented 1 year ago

@badicsalex Version 0.84.1 is now released with the fix, can you please test to see if it fixes the problem for you?

badicsalex commented 1 year ago

@twistedfall Unfortunately no, I'm getting the same error with commit bd682f58

I ran git clean -fdx before testing, and tested with both my project, and with the "minimal" repro commands in the report.

twistedfall commented 1 year ago

Can you please post the full build log as produced by cargo build -vv?

badicsalex commented 1 year ago

Sure:

       Fresh glob v0.3.1
       Fresh memchr v2.5.0
       Fresh regex-syntax v0.7.4
       Fresh jobserver v0.1.26
       Fresh percent-encoding v2.3.0
       Fresh aho-corasick v1.0.2
       Fresh clang-sys v1.6.1
       Fresh dunce v1.0.4
       Fresh autocfg v1.1.0
       Fresh cc v1.0.79
       Fresh vcpkg v0.2.15
       Fresh shlex v1.1.0
       Fresh pkg-config v0.3.27
       Fresh once_cell v1.18.0
       Fresh regex-automata v0.3.3
       Fresh clang v2.0.0
       Fresh semver v1.0.18
       Fresh libc v0.2.147
       Fresh regex v1.9.1
       Fresh opencv-binding-generator v0.69.0 (/tmp/xxx/opencv-rust/binding-generator)
       Fresh num-traits v0.2.16
   Compiling opencv v0.84.1 (/tmp/xxx/opencv-rust)
     Running `/tmp/xxx/opencv-rust/target/debug/build/opencv-be605f95d97c987d/build-script-build`
[opencv 0.84.1] === Crate version: Some("0.84.1")
[opencv 0.84.1] === Environment configuration:
[opencv 0.84.1] ===   OPENCV_PACKAGE_NAME = None
[opencv 0.84.1] ===   OPENCV_PKGCONFIG_NAME = None
[opencv 0.84.1] ===   OPENCV_CMAKE_NAME = None
[opencv 0.84.1] ===   OPENCV_CMAKE_BIN = None
[opencv 0.84.1] ===   OPENCV_VCPKG_NAME = None
[opencv 0.84.1] ===   OPENCV_LINK_LIBS = Some("core")
[opencv 0.84.1] ===   OPENCV_LINK_PATHS = Some("/tmp/xxx/opencv/build/install/sdk/native/staticlibs")
[opencv 0.84.1] ===   OPENCV_INCLUDE_PATHS = Some("/tmp/xxx/opencv/build/install/sdk/native/jni/include")
[opencv 0.84.1] ===   OPENCV_DISABLE_PROBES = None
[opencv 0.84.1] ===   CMAKE_PREFIX_PATH = None
[opencv 0.84.1] ===   OpenCV_DIR = None
[opencv 0.84.1] ===   PKG_CONFIG_PATH = None
[opencv 0.84.1] ===   VCPKG_ROOT = None
[opencv 0.84.1] ===   VCPKGRS_DYNAMIC = None
[opencv 0.84.1] ===   OCVRS_DOCS_GENERATE_DIR = None
[opencv 0.84.1] ===   DOCS_RS = None
[opencv 0.84.1] ===   PATH = Some("/home/alex/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin")
[opencv 0.84.1] === Enabled features:
[opencv 0.84.1] ===   ALPHAMAT
[opencv 0.84.1] ===   ARUCO
[opencv 0.84.1] ===   ARUCO_DETECTOR
[opencv 0.84.1] ===   BARCODE
[opencv 0.84.1] ===   BGSEGM
[opencv 0.84.1] ===   BIOINSPIRED
[opencv 0.84.1] ===   CALIB3D
[opencv 0.84.1] ===   CCALIB
[opencv 0.84.1] ===   CUDAARITHM
[opencv 0.84.1] ===   CUDABGSEGM
[opencv 0.84.1] ===   CUDACODEC
[opencv 0.84.1] ===   CUDAFEATURES2D
[opencv 0.84.1] ===   CUDAFILTERS
[opencv 0.84.1] ===   CUDAIMGPROC
[opencv 0.84.1] ===   CUDAOBJDETECT
[opencv 0.84.1] ===   CUDAOPTFLOW
[opencv 0.84.1] ===   CUDASTEREO
[opencv 0.84.1] ===   CUDAWARPING
[opencv 0.84.1] ===   CVV
[opencv 0.84.1] ===   DEFAULT
[opencv 0.84.1] ===   DNN
[opencv 0.84.1] ===   DNN_SUPERRES
[opencv 0.84.1] ===   DPM
[opencv 0.84.1] ===   FACE
[opencv 0.84.1] ===   FEATURES2D
[opencv 0.84.1] ===   FLANN
[opencv 0.84.1] ===   FREETYPE
[opencv 0.84.1] ===   FUZZY
[opencv 0.84.1] ===   GAPI
[opencv 0.84.1] ===   HDF
[opencv 0.84.1] ===   HFS
[opencv 0.84.1] ===   HIGHGUI
[opencv 0.84.1] ===   IMGCODECS
[opencv 0.84.1] ===   IMGPROC
[opencv 0.84.1] ===   IMG_HASH
[opencv 0.84.1] ===   INTENSITY_TRANSFORM
[opencv 0.84.1] ===   LINE_DESCRIPTOR
[opencv 0.84.1] ===   MCC
[opencv 0.84.1] ===   ML
[opencv 0.84.1] ===   OBJDETECT
[opencv 0.84.1] ===   OPTFLOW
[opencv 0.84.1] ===   OVIS
[opencv 0.84.1] ===   PHASE_UNWRAPPING
[opencv 0.84.1] ===   PHOTO
[opencv 0.84.1] ===   PLOT
[opencv 0.84.1] ===   QUALITY
[opencv 0.84.1] ===   RAPID
[opencv 0.84.1] ===   RGBD
[opencv 0.84.1] ===   SALIENCY
[opencv 0.84.1] ===   SFM
[opencv 0.84.1] ===   SHAPE
[opencv 0.84.1] ===   STEREO
[opencv 0.84.1] ===   STITCHING
[opencv 0.84.1] ===   STRUCTURED_LIGHT
[opencv 0.84.1] ===   SUPERRES
[opencv 0.84.1] ===   SURFACE_MATCHING
[opencv 0.84.1] ===   TEXT
[opencv 0.84.1] ===   TRACKING
[opencv 0.84.1] ===   VIDEO
[opencv 0.84.1] ===   VIDEOIO
[opencv 0.84.1] ===   VIDEOSTAB
[opencv 0.84.1] ===   VIZ
[opencv 0.84.1] ===   WECHAT_QRCODE
[opencv 0.84.1] ===   XFEATURES2D
[opencv 0.84.1] ===   XIMGPROC
[opencv 0.84.1] ===   XOBJDETECT
[opencv 0.84.1] ===   XPHOTO
[opencv 0.84.1] === Detected probe priority based on environment vars: pkg_config: false, cmake: false, vcpkg: false
[opencv 0.84.1] === Probing the OpenCV library in the following order: environment, pkg_config, cmake, vcpkg_cmake, vcpkg
[opencv 0.84.1] === Configuring OpenCV library from the environment:
[opencv 0.84.1] ===   include_paths: /tmp/xxx/opencv/build/install/sdk/native/jni/include
[opencv 0.84.1] ===   link_paths: /tmp/xxx/opencv/build/install/sdk/native/staticlibs
[opencv 0.84.1] ===   link_libs: core
[opencv 0.84.1] === Successfully probed using: environment
[opencv 0.84.1] === OpenCV library configuration: Library {
[opencv 0.84.1]     include_paths: [
[opencv 0.84.1]         "/tmp/xxx/opencv/build/install/sdk/native/jni/include",
[opencv 0.84.1]     ],
[opencv 0.84.1]     version: Version {
[opencv 0.84.1]         major: 4,
[opencv 0.84.1]         minor: 8,
[opencv 0.84.1]         patch: 0,
[opencv 0.84.1]     },
[opencv 0.84.1]     cargo_metadata: [
[opencv 0.84.1]         "cargo:rustc-link-search=/tmp/xxx/opencv/build/install/sdk/native/staticlibs",
[opencv 0.84.1]         "cargo:rustc-link-lib=core",
[opencv 0.84.1]     ],
[opencv 0.84.1] }
[opencv 0.84.1] cargo:rustc-cfg=ocvrs_opencv_branch_4
[opencv 0.84.1] === Detected OpenCV module header dir at: /tmp/xxx/opencv/build/install/sdk/native/jni/include/opencv2
[opencv 0.84.1] === Found OpenCV version: 4.8.0 in headers located at: /tmp/xxx/opencv/build/install/sdk/native/jni/include
[opencv 0.84.1] cargo:rerun-if-env-changed=OPENCV_PACKAGE_NAME
[opencv 0.84.1] cargo:rerun-if-env-changed=OPENCV_PKGCONFIG_NAME
[opencv 0.84.1] cargo:rerun-if-env-changed=OPENCV_CMAKE_NAME
[opencv 0.84.1] cargo:rerun-if-env-changed=OPENCV_CMAKE_BIN
[opencv 0.84.1] cargo:rerun-if-env-changed=OPENCV_VCPKG_NAME
[opencv 0.84.1] cargo:rerun-if-env-changed=OPENCV_LINK_LIBS
[opencv 0.84.1] cargo:rerun-if-env-changed=OPENCV_LINK_PATHS
[opencv 0.84.1] cargo:rerun-if-env-changed=OPENCV_INCLUDE_PATHS
[opencv 0.84.1] cargo:rerun-if-env-changed=OPENCV_DISABLE_PROBES
[opencv 0.84.1] cargo:rerun-if-env-changed=CMAKE_PREFIX_PATH
[opencv 0.84.1] cargo:rerun-if-env-changed=OpenCV_DIR
[opencv 0.84.1] cargo:rerun-if-env-changed=PKG_CONFIG_PATH
[opencv 0.84.1] cargo:rerun-if-env-changed=VCPKG_ROOT
[opencv 0.84.1] cargo:rerun-if-env-changed=VCPKGRS_DYNAMIC
[opencv 0.84.1] cargo:rerun-if-env-changed=OCVRS_DOCS_GENERATE_DIR
[opencv 0.84.1] cargo:rerun-if-env-changed=DOCS_RS
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/xfeatures2d.hpp
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/videoio.hpp
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/sfm.hpp
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/photo.hpp
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/ocvrs_common.hpp
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/manual-core.cpp
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/hdf.hpp
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/gapi.hpp
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/face.hpp
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/dnn.hpp
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/core.hpp
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/ccalib.hpp
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/bioinspired.hpp
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/aruco.hpp
[opencv 0.84.1] cargo:rerun-if-changed=/tmp/xxx/opencv-rust/src_cpp/alphamat.hpp
[opencv 0.84.1] === Generating code in: /tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out
[opencv 0.84.1] === Placing generated bindings into: /tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/opencv
[opencv 0.84.1] === Using OpenCV headers from: /tmp/xxx/opencv/build/install/sdk/native/jni/include
[opencv 0.84.1] cargo:rerun-if-changed=Cargo.toml
[opencv 0.84.1] === Clang: clang version 15.0.7
[opencv 0.84.1] === Clang command line args: [
[opencv 0.84.1]     "-isystem/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.1.1/../../../../include/c++/13.1.1",
[opencv 0.84.1]     "-isystem/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.1.1/../../../../include/c++/13.1.1/x86_64-pc-linux-gnu",
[opencv 0.84.1]     "-isystem/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/13.1.1/../../../../include/c++/13.1.1/backward",
[opencv 0.84.1]     "-isystem/usr/lib/clang/15.0.7/include",
[opencv 0.84.1]     "-isystem/usr/local/include",
[opencv 0.84.1]     "-isystem/usr/include",
[opencv 0.84.1]     "-I/tmp/xxx/opencv/build/install/sdk/native/jni/include",
[opencv 0.84.1]     "-F/tmp/xxx/opencv/build/install/sdk/native/jni/include",
[opencv 0.84.1]     "-I/tmp/xxx/opencv-rust/src_cpp",
[opencv 0.84.1]     "-F/tmp/xxx/opencv-rust/src_cpp",
[opencv 0.84.1]     "-DOCVRS_PARSING_HEADERS",
[opencv 0.84.1]     "-includeocvrs_common.hpp",
[opencv 0.84.1]     "-std=c++14",
[opencv 0.84.1] ]
[opencv 0.84.1] === Using environment job server with the the amount of available jobs: 15
[opencv 0.84.1] === Generating 6 modules
[opencv 0.84.1] === Running: "/tmp/xxx/opencv-rust/target/debug/build/opencv-be605f95d97c987d/build-script-build" "/tmp/xxx/opencv/build/install/sdk/native/jni/include" "/tmp/xxx/opencv-rust/src_cpp" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out" "calib3d" ""
[opencv 0.84.1] === Running: "/tmp/xxx/opencv-rust/target/debug/build/opencv-be605f95d97c987d/build-script-build" "/tmp/xxx/opencv/build/install/sdk/native/jni/include" "/tmp/xxx/opencv-rust/src_cpp" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out" "flann" ""
[opencv 0.84.1] === Running: "/tmp/xxx/opencv-rust/target/debug/build/opencv-be605f95d97c987d/build-script-build" "/tmp/xxx/opencv/build/install/sdk/native/jni/include" "/tmp/xxx/opencv-rust/src_cpp" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out" "imgproc" ""
[opencv 0.84.1] === Running: "/tmp/xxx/opencv-rust/target/debug/build/opencv-be605f95d97c987d/build-script-build" "/tmp/xxx/opencv/build/install/sdk/native/jni/include" "/tmp/xxx/opencv-rust/src_cpp" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out" "features2d" ""
[opencv 0.84.1] === Running: "/tmp/xxx/opencv-rust/target/debug/build/opencv-be605f95d97c987d/build-script-build" "/tmp/xxx/opencv/build/install/sdk/native/jni/include" "/tmp/xxx/opencv-rust/src_cpp" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out" "highgui" ""
[opencv 0.84.1] === Running: "/tmp/xxx/opencv-rust/target/debug/build/opencv-be605f95d97c987d/build-script-build" "/tmp/xxx/opencv/build/install/sdk/native/jni/include" "/tmp/xxx/opencv-rust/src_cpp" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out" "core" ""
[opencv 0.84.1] === Generated: highgui in 355.488287ms
[opencv 0.84.1] === Generated: flann in 396.306423ms
[opencv 0.84.1] === Generated: features2d in 606.739463ms
[opencv 0.84.1] === Generated: calib3d in 812.549919ms
[opencv 0.84.1] === Generated: imgproc in 812.513722ms
[opencv 0.84.1] === Generated: core in 1.937237769s
[opencv 0.84.1] === Total binding generation time: 1.937505888s
[opencv 0.84.1] === Total binding collection time: 13.779325ms
[opencv 0.84.1] OPT_LEVEL = Some("0")
[opencv 0.84.1] TARGET = Some("armv7-linux-androideabi")
[opencv 0.84.1] HOST = Some("x86_64-unknown-linux-gnu")
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
[opencv 0.84.1] CXX_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
[opencv 0.84.1] CXX_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXX
[opencv 0.84.1] TARGET_CXX = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX
[opencv 0.84.1] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
[opencv 0.84.1] CXXFLAGS_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
[opencv 0.84.1] CXXFLAGS_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
[opencv 0.84.1] TARGET_CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.84.1] CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.84.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.84.1] DEBUG = Some("true")
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
[opencv 0.84.1] CXX_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
[opencv 0.84.1] CXX_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXX
[opencv 0.84.1] TARGET_CXX = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX
[opencv 0.84.1] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
[opencv 0.84.1] CXXFLAGS_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
[opencv 0.84.1] CXXFLAGS_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
[opencv 0.84.1] TARGET_CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.84.1] CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.84.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
[opencv 0.84.1] CXX_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
[opencv 0.84.1] CXX_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXX
[opencv 0.84.1] TARGET_CXX = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX
[opencv 0.84.1] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
[opencv 0.84.1] CXXFLAGS_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
[opencv 0.84.1] CXXFLAGS_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
[opencv 0.84.1] TARGET_CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.84.1] CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.84.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
[opencv 0.84.1] CXX_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
[opencv 0.84.1] CXX_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXX
[opencv 0.84.1] TARGET_CXX = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX
[opencv 0.84.1] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
[opencv 0.84.1] CXXFLAGS_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
[opencv 0.84.1] CXXFLAGS_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
[opencv 0.84.1] TARGET_CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.84.1] CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.84.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
[opencv 0.84.1] CXX_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
[opencv 0.84.1] CXX_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXX
[opencv 0.84.1] TARGET_CXX = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX
[opencv 0.84.1] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
[opencv 0.84.1] CXXFLAGS_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
[opencv 0.84.1] CXXFLAGS_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
[opencv 0.84.1] TARGET_CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.84.1] CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.84.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
[opencv 0.84.1] CXX_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
[opencv 0.84.1] CXX_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXX
[opencv 0.84.1] TARGET_CXX = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX
[opencv 0.84.1] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
[opencv 0.84.1] CXXFLAGS_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
[opencv 0.84.1] CXXFLAGS_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
[opencv 0.84.1] TARGET_CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.84.1] CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.84.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
[opencv 0.84.1] CXX_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
[opencv 0.84.1] CXX_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXX
[opencv 0.84.1] TARGET_CXX = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX
[opencv 0.84.1] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
[opencv 0.84.1] CXXFLAGS_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
[opencv 0.84.1] CXXFLAGS_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
[opencv 0.84.1] TARGET_CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.84.1] CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.84.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
[opencv 0.84.1] CXX_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
[opencv 0.84.1] CXX_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXX
[opencv 0.84.1] TARGET_CXX = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX
[opencv 0.84.1] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
[opencv 0.84.1] CXXFLAGS_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
[opencv 0.84.1] CXXFLAGS_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
[opencv 0.84.1] TARGET_CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.84.1] CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.84.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
[opencv 0.84.1] CXX_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
[opencv 0.84.1] CXX_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXX
[opencv 0.84.1] TARGET_CXX = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX
[opencv 0.84.1] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
[opencv 0.84.1] CXXFLAGS_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
[opencv 0.84.1] CXXFLAGS_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
[opencv 0.84.1] TARGET_CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.84.1] CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.84.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7-linux-androideabi
[opencv 0.84.1] CXX_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX_armv7_linux_androideabi
[opencv 0.84.1] CXX_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXX
[opencv 0.84.1] TARGET_CXX = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXX
[opencv 0.84.1] CXX = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++")
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7-linux-androideabi
[opencv 0.84.1] CXXFLAGS_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS_armv7_linux_androideabi
[opencv 0.84.1] CXXFLAGS_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXXFLAGS
[opencv 0.84.1] TARGET_CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXFLAGS
[opencv 0.84.1] CXXFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
[opencv 0.84.1] CRATE_CC_NO_DEFAULTS = None
[opencv 0.84.1] === Compiler information: Tool {
[opencv 0.84.1]     path: "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++",
[opencv 0.84.1]     cc_wrapper_path: None,
[opencv 0.84.1]     cc_wrapper_args: [],
[opencv 0.84.1]     args: [
[opencv 0.84.1]         "-O0",
[opencv 0.84.1]         "-DANDROID",
[opencv 0.84.1]         "-ffunction-sections",
[opencv 0.84.1]         "-fdata-sections",
[opencv 0.84.1]         "-fPIC",
[opencv 0.84.1]         "-gdwarf-2",
[opencv 0.84.1]         "-fno-omit-frame-pointer",
[opencv 0.84.1]         "-I",
[opencv 0.84.1]         "/tmp/xxx/opencv-rust/src_cpp",
[opencv 0.84.1]         "-I",
[opencv 0.84.1]         "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out",
[opencv 0.84.1]         "-I",
[opencv 0.84.1]         ".",
[opencv 0.84.1]         "-I",
[opencv 0.84.1]         "/tmp/xxx/opencv/build/install/sdk/native/jni/include",
[opencv 0.84.1]         "-Wall",
[opencv 0.84.1]         "-Wextra",
[opencv 0.84.1]         "-std=c++11",
[opencv 0.84.1]         "-Wno-deprecated-declarations",
[opencv 0.84.1]         "-Wno-deprecated-copy",
[opencv 0.84.1]         "-Wno-unused-parameter",
[opencv 0.84.1]         "-Wno-sign-compare",
[opencv 0.84.1]         "-Wno-comment",
[opencv 0.84.1]         "-Wno-unused-variable",
[opencv 0.84.1]         "-Wno-ignored-qualifiers",
[opencv 0.84.1]         "-Wno-return-type-c-linkage",
[opencv 0.84.1]     ],
[opencv 0.84.1]     env: [],
[opencv 0.84.1]     family: Clang,
[opencv 0.84.1]     cuda: false,
[opencv 0.84.1]     removed_args: [],
[opencv 0.84.1] }
[opencv 0.84.1] cargo:rustc-cfg=ocvrs_has_module_calib3d
[opencv 0.84.1] cargo:rustc-cfg=ocvrs_has_module_core
[opencv 0.84.1] cargo:rustc-cfg=ocvrs_has_module_features2d
[opencv 0.84.1] cargo:rustc-cfg=ocvrs_has_module_flann
[opencv 0.84.1] cargo:rustc-cfg=ocvrs_has_module_highgui
[opencv 0.84.1] cargo:rustc-cfg=ocvrs_has_module_imgproc
[opencv 0.84.1] running: "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++" "-O0" "-DANDROID" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-I" "/tmp/xxx/opencv-rust/src_cpp" "-I" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out" "-I" "." "-I" "/tmp/xxx/opencv/build/install/sdk/native/jni/include" "-Wall" "-Wextra" "-std=c++11" "-Wno-deprecated-declarations" "-Wno-deprecated-copy" "-Wno-unused-parameter" "-Wno-sign-compare" "-Wno-comment" "-Wno-unused-variable" "-Wno-ignored-qualifiers" "-Wno-return-type-c-linkage" "-o" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/dc4a42e9f362c13a-calib3d.o" "-c" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/calib3d.cpp"
[opencv 0.84.1] running: "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++" "-O0" "-DANDROID" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-I" "/tmp/xxx/opencv-rust/src_cpp" "-I" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out" "-I" "." "-I" "/tmp/xxx/opencv/build/install/sdk/native/jni/include" "-Wall" "-Wextra" "-std=c++11" "-Wno-deprecated-declarations" "-Wno-deprecated-copy" "-Wno-unused-parameter" "-Wno-sign-compare" "-Wno-comment" "-Wno-unused-variable" "-Wno-ignored-qualifiers" "-Wno-return-type-c-linkage" "-o" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/ee8e4b05bffb03da-manual-core.o" "-c" "/tmp/xxx/opencv-rust/src_cpp/manual-core.cpp"
[opencv 0.84.1] running: "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++" "-O0" "-DANDROID" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-I" "/tmp/xxx/opencv-rust/src_cpp" "-I" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out" "-I" "." "-I" "/tmp/xxx/opencv/build/install/sdk/native/jni/include" "-Wall" "-Wextra" "-std=c++11" "-Wno-deprecated-declarations" "-Wno-deprecated-copy" "-Wno-unused-parameter" "-Wno-sign-compare" "-Wno-comment" "-Wno-unused-variable" "-Wno-ignored-qualifiers" "-Wno-return-type-c-linkage" "-o" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/dc4a42e9f362c13a-core.o" "-c" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/core.cpp"
[opencv 0.84.1] running: "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++" "-O0" "-DANDROID" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-I" "/tmp/xxx/opencv-rust/src_cpp" "-I" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out" "-I" "." "-I" "/tmp/xxx/opencv/build/install/sdk/native/jni/include" "-Wall" "-Wextra" "-std=c++11" "-Wno-deprecated-declarations" "-Wno-deprecated-copy" "-Wno-unused-parameter" "-Wno-sign-compare" "-Wno-comment" "-Wno-unused-variable" "-Wno-ignored-qualifiers" "-Wno-return-type-c-linkage" "-o" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/dc4a42e9f362c13a-flann.o" "-c" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/flann.cpp"
[opencv 0.84.1] running: "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++" "-O0" "-DANDROID" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-I" "/tmp/xxx/opencv-rust/src_cpp" "-I" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out" "-I" "." "-I" "/tmp/xxx/opencv/build/install/sdk/native/jni/include" "-Wall" "-Wextra" "-std=c++11" "-Wno-deprecated-declarations" "-Wno-deprecated-copy" "-Wno-unused-parameter" "-Wno-sign-compare" "-Wno-comment" "-Wno-unused-variable" "-Wno-ignored-qualifiers" "-Wno-return-type-c-linkage" "-o" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/dc4a42e9f362c13a-highgui.o" "-c" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/highgui.cpp"
[opencv 0.84.1] running: "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++" "-O0" "-DANDROID" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-I" "/tmp/xxx/opencv-rust/src_cpp" "-I" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out" "-I" "." "-I" "/tmp/xxx/opencv/build/install/sdk/native/jni/include" "-Wall" "-Wextra" "-std=c++11" "-Wno-deprecated-declarations" "-Wno-deprecated-copy" "-Wno-unused-parameter" "-Wno-sign-compare" "-Wno-comment" "-Wno-unused-variable" "-Wno-ignored-qualifiers" "-Wno-return-type-c-linkage" "-o" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/dc4a42e9f362c13a-features2d.o" "-c" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/features2d.cpp"
[opencv 0.84.1] running: "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi29-clang++" "-O0" "-DANDROID" "-ffunction-sections" "-fdata-sections" "-fPIC" "-gdwarf-2" "-fno-omit-frame-pointer" "-I" "/tmp/xxx/opencv-rust/src_cpp" "-I" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out" "-I" "." "-I" "/tmp/xxx/opencv/build/install/sdk/native/jni/include" "-Wall" "-Wextra" "-std=c++11" "-Wno-deprecated-declarations" "-Wno-deprecated-copy" "-Wno-unused-parameter" "-Wno-sign-compare" "-Wno-comment" "-Wno-unused-variable" "-Wno-ignored-qualifiers" "-Wno-return-type-c-linkage" "-o" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/dc4a42e9f362c13a-imgproc.o" "-c" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/imgproc.cpp"
[opencv 0.84.1] exit status: 0
[opencv 0.84.1] exit status: 0
[opencv 0.84.1] exit status: 0
[opencv 0.84.1] exit status: 0
[opencv 0.84.1] exit status: 0
[opencv 0.84.1] exit status: 0
[opencv 0.84.1] exit status: 0
[opencv 0.84.1] cargo:rerun-if-env-changed=AR_armv7-linux-androideabi
[opencv 0.84.1] AR_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=AR_armv7_linux_androideabi
[opencv 0.84.1] AR_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_AR
[opencv 0.84.1] TARGET_AR = None
[opencv 0.84.1] cargo:rerun-if-env-changed=AR
[opencv 0.84.1] AR = Some("/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar")
[opencv 0.84.1] cargo:rerun-if-env-changed=ARFLAGS_armv7-linux-androideabi
[opencv 0.84.1] ARFLAGS_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=ARFLAGS_armv7_linux_androideabi
[opencv 0.84.1] ARFLAGS_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_ARFLAGS
[opencv 0.84.1] TARGET_ARFLAGS = None
[opencv 0.84.1] cargo:rerun-if-env-changed=ARFLAGS
[opencv 0.84.1] ARFLAGS = None
[opencv 0.84.1] running: ZERO_AR_DATE="1" "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar" "cq" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/libocvrs.a" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/dc4a42e9f362c13a-calib3d.o" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/dc4a42e9f362c13a-core.o" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/ee8e4b05bffb03da-manual-core.o" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/dc4a42e9f362c13a-features2d.o" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/dc4a42e9f362c13a-flann.o" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/dc4a42e9f362c13a-highgui.o" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/dc4a42e9f362c13a-imgproc.o"
[opencv 0.84.1] exit status: 0
[opencv 0.84.1] running: "/opt/android_sdk/ndk/25.2.9519653//toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar" "s" "/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/libocvrs.a"
[opencv 0.84.1] exit status: 0
[opencv 0.84.1] cargo:rustc-link-lib=static=ocvrs
[opencv 0.84.1] cargo:rustc-link-search=native=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXSTDLIB_armv7-linux-androideabi
[opencv 0.84.1] CXXSTDLIB_armv7-linux-androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXSTDLIB_armv7_linux_androideabi
[opencv 0.84.1] CXXSTDLIB_armv7_linux_androideabi = None
[opencv 0.84.1] cargo:rerun-if-env-changed=TARGET_CXXSTDLIB
[opencv 0.84.1] TARGET_CXXSTDLIB = None
[opencv 0.84.1] cargo:rerun-if-env-changed=CXXSTDLIB
[opencv 0.84.1] CXXSTDLIB = None
[opencv 0.84.1] cargo:rustc-link-lib=c++_shared
[opencv 0.84.1] === Total cpp build time: 2.386829142s
[opencv 0.84.1] cargo:rustc-link-search=/tmp/xxx/opencv/build/install/sdk/native/staticlibs
[opencv 0.84.1] cargo:rustc-link-lib=core
     Running `CARGO=/home/alex/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo CARGO_CRATE_NAME=opencv CARGO_MANIFEST_DIR=/tmp/xxx/opencv-rust CARGO_PKG_AUTHORS='Pro <twisted.fall@gmail.com>:Mathieu Poumeyrol <kali@zoy.org>' CARGO_PKG_DESCRIPTION='Rust bindings for OpenCV' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE=MIT CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=opencv CARGO_PKG_README=README.md CARGO_PKG_REPOSITORY='https://github.com/twistedfall/opencv-rust' CARGO_PKG_RUST_VERSION=1.59 CARGO_PKG_VERSION=0.84.1 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=84 CARGO_PKG_VERSION_PATCH=1 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH='/tmp/xxx/opencv-rust/target/debug/deps:/home/alex/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib:/home/alex/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib' OUT_DIR=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out rustc --crate-name opencv --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=189 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="alphamat"' --cfg 'feature="aruco"' --cfg 'feature="aruco_detector"' --cfg 'feature="barcode"' --cfg 'feature="bgsegm"' --cfg 'feature="bioinspired"' --cfg 'feature="calib3d"' --cfg 'feature="ccalib"' --cfg 'feature="cudaarithm"' --cfg 'feature="cudabgsegm"' --cfg 'feature="cudacodec"' --cfg 'feature="cudafeatures2d"' --cfg 'feature="cudafilters"' --cfg 'feature="cudaimgproc"' --cfg 'feature="cudaobjdetect"' --cfg 'feature="cudaoptflow"' --cfg 'feature="cudastereo"' --cfg 'feature="cudawarping"' --cfg 'feature="cvv"' --cfg 'feature="default"' --cfg 'feature="dnn"' --cfg 'feature="dnn_superres"' --cfg 'feature="dpm"' --cfg 'feature="face"' --cfg 'feature="features2d"' --cfg 'feature="flann"' --cfg 'feature="freetype"' --cfg 'feature="fuzzy"' --cfg 'feature="gapi"' --cfg 'feature="hdf"' --cfg 'feature="hfs"' --cfg 'feature="highgui"' --cfg 'feature="img_hash"' --cfg 'feature="imgcodecs"' --cfg 'feature="imgproc"' --cfg 'feature="intensity_transform"' --cfg 'feature="line_descriptor"' --cfg 'feature="mcc"' --cfg 'feature="ml"' --cfg 'feature="objdetect"' --cfg 'feature="optflow"' --cfg 'feature="ovis"' --cfg 'feature="phase_unwrapping"' --cfg 'feature="photo"' --cfg 'feature="plot"' --cfg 'feature="quality"' --cfg 'feature="rapid"' --cfg 'feature="rgbd"' --cfg 'feature="saliency"' --cfg 'feature="sfm"' --cfg 'feature="shape"' --cfg 'feature="stereo"' --cfg 'feature="stitching"' --cfg 'feature="structured_light"' --cfg 'feature="superres"' --cfg 'feature="surface_matching"' --cfg 'feature="text"' --cfg 'feature="tracking"' --cfg 'feature="video"' --cfg 'feature="videoio"' --cfg 'feature="videostab"' --cfg 'feature="viz"' --cfg 'feature="wechat_qrcode"' --cfg 'feature="xfeatures2d"' --cfg 'feature="ximgproc"' --cfg 'feature="xobjdetect"' --cfg 'feature="xphoto"' -C metadata=491d052b62e6ee36 -C extra-filename=-491d052b62e6ee36 --out-dir /tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/deps --target armv7-linux-androideabi -C incremental=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/incremental -L dependency=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/deps -L dependency=/tmp/xxx/opencv-rust/target/debug/deps --extern libc=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/deps/liblibc-dc46f2c77a32e965.rmeta --extern num_traits=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/deps/libnum_traits-bdaef485d3728bf4.rmeta --extern once_cell=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/deps/libonce_cell-222c4000c7dad4c9.rmeta -L native=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out -L /tmp/xxx/opencv/build/install/sdk/native/staticlibs -l static=ocvrs -l c++_shared -l core --cfg ocvrs_opencv_branch_4 --cfg ocvrs_has_module_calib3d --cfg ocvrs_has_module_core --cfg ocvrs_has_module_features2d --cfg ocvrs_has_module_flann --cfg ocvrs_has_module_highgui --cfg ocvrs_has_module_imgproc`
error[E0119]: conflicting implementations of trait `Clone` for type `vector::Vector<vector::Vector<u8>>`
    --> src/manual/core/vector/vector_extern.rs:222:3
     |
222  |         impl std::clone::Clone for $crate::core::Vector<$type>
     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |         |
     |         first implementation here
     |         conflicting implementation for `vector::Vector<vector::Vector<u8>>`
     |
    ::: /tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/opencv/types.rs:1988:2
     |
1988 |     vector_non_copy_or_bool! { clone core::Vector<c_char> }
     |     ------------------------------------------------------- in this macro invocation
     |
     = note: this error originates in the macro `vector_non_copy_or_bool` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0119]: conflicting implementations of trait `input_output_array::ToInputArray` for type `vector::Vector<vector::Vector<u8>>`
    --> /tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/opencv/types.rs:2167:2
     |
1990 |     impl core::ToInputArray for core::Vector<core::Vector<c_char>> {
     |     -------------------------------------------------------------- first implementation here
...
2167 |     impl core::ToInputArray for core::Vector<core::Vector<u8>> {
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `vector::Vector<vector::Vector<u8>>`

error[E0119]: conflicting implementations of trait `input_output_array::ToInputArray` for type `&vector::Vector<vector::Vector<u8>>`
    --> src/manual/core/input_output_array.rs:117:3
     |
117  |         impl $crate::core::ToInputArray for &$type {
     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |         |
     |         first implementation here
     |         conflicting implementation for `&vector::Vector<vector::Vector<u8>>`
     |
    ::: /tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/opencv/types.rs:2029:2
     |
2029 |     input_output_array_ref_forward! { core::Vector<core::Vector<c_char>> }
     |     ---------------------------------------------------------------------- in this macro invocation
     |
     = note: this error originates in the macro `$crate::input_array_ref_forward` which comes from the expansion of the macro `input_output_array_ref_forward` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0119]: conflicting implementations of trait `input_output_array::ToOutputArray` for type `vector::Vector<vector::Vector<u8>>`
    --> /tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/opencv/types.rs:2180:2
     |
2003 |     impl core::ToOutputArray for core::Vector<core::Vector<c_char>> {
     |     --------------------------------------------------------------- first implementation here
...
2180 |     impl core::ToOutputArray for core::Vector<core::Vector<u8>> {
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `vector::Vector<vector::Vector<u8>>`

error[E0119]: conflicting implementations of trait `input_output_array::ToOutputArray` for type `&mut vector::Vector<vector::Vector<u8>>`
    --> src/manual/core/input_output_array.rs:130:3
     |
130  |         impl $crate::core::ToOutputArray for &mut $type {
     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |         |
     |         first implementation here
     |         conflicting implementation for `&mut vector::Vector<vector::Vector<u8>>`
     |
    ::: /tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/opencv/types.rs:2029:2
     |
2029 |     input_output_array_ref_forward! { core::Vector<core::Vector<c_char>> }
     |     ---------------------------------------------------------------------- in this macro invocation
     |
     = note: this error originates in the macro `$crate::output_array_ref_forward` which comes from the expansion of the macro `input_output_array_ref_forward` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0119]: conflicting implementations of trait `input_output_array::ToInputOutputArray` for type `vector::Vector<vector::Vector<u8>>`
    --> /tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/opencv/types.rs:2193:2
     |
2016 |     impl core::ToInputOutputArray for core::Vector<core::Vector<c_char>> {
     |     -------------------------------------------------------------------- first implementation here
...
2193 |     impl core::ToInputOutputArray for core::Vector<core::Vector<u8>> {
     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `vector::Vector<vector::Vector<u8>>`

error[E0119]: conflicting implementations of trait `input_output_array::ToInputOutputArray` for type `&mut vector::Vector<vector::Vector<u8>>`
    --> src/manual/core/input_output_array.rs:137:3
     |
137  |         impl $crate::core::ToInputOutputArray for &mut $type {
     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |         |
     |         first implementation here
     |         conflicting implementation for `&mut vector::Vector<vector::Vector<u8>>`
     |
    ::: /tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/opencv/types.rs:2029:2
     |
2029 |     input_output_array_ref_forward! { core::Vector<core::Vector<c_char>> }
     |     ---------------------------------------------------------------------- in this macro invocation
     |
     = note: this error originates in the macro `$crate::output_array_ref_forward` which comes from the expansion of the macro `input_output_array_ref_forward` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0119]: conflicting implementations of trait `vector::vector_extern::VectorExtern<vector::Vector<u8>>` for type `vector::Vector<vector::Vector<u8>>`
    --> src/manual/core/vector/vector_extern.rs:74:3
     |
74   |           impl $crate::core::VectorExtern<$type> for $crate::core::Vector<$type> {
     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
     |           |
     |           first implementation here
     |           conflicting implementation for `vector::Vector<vector::Vector<u8>>`
     |
    ::: /tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/opencv/types.rs:1979:2
     |
1979 | /     vector_extern! { core::Vector<c_char>,
1980 | |         std_vectorLstd_vectorLcharGG_new_const, std_vectorLstd_vectorLcharGG_delete,
1981 | |         std_vectorLstd_vectorLcharGG_len_const, std_vectorLstd_vectorLcharGG_isEmpty_const,
1982 | |         std_vectorLstd_vectorLcharGG_capacity_const, std_vectorLstd_vectorLcharGG_shrinkToFit,
...    |
1986 | |         std_vectorLstd_vectorLcharGG_push_const_vectorLcharG, std_vectorLstd_vectorLcharGG_insert_size_t_const_vectorLcharG,
1987 | |     }
     | |_____- in this macro invocation
     |
     = note: this error originates in the macro `vector_extern` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0119]: conflicting implementations of trait `vector::vector_extern::VectorElement` for type `vector::Vector<u8>`
    --> src/manual/core/vector/vector_extern.rs:236:3
     |
236  | /         impl $crate::core::VectorElement for $type
237  | |         where
238  | |             $crate::core::Vector<$type>: $crate::core::VectorExtern<$type>,
239  | |         {
...    |
243  | |             }
244  | |         }
     | |         ^
     | |         |
     | |_________first implementation here
     |           conflicting implementation for `vector::Vector<u8>`
     |
    ::: /tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out/opencv/types.rs:1988:2
     |
1988 |       vector_non_copy_or_bool! { clone core::Vector<c_char> }
     |       ------------------------------------------------------- in this macro invocation
     |
     = note: this error originates in the macro `vector_non_copy_or_bool` (in Nightly builds, run with -Z macro-backtrace for more info)

For more information about this error, try `rustc --explain E0119`.
error: could not compile `opencv` (lib) due to 9 previous errors

Caused by:
  process didn't exit successfully: `CARGO=/home/alex/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/bin/cargo CARGO_CRATE_NAME=opencv CARGO_MANIFEST_DIR=/tmp/xxx/opencv-rust CARGO_PKG_AUTHORS='Pro <twisted.fall@gmail.com>:Mathieu Poumeyrol <kali@zoy.org>' CARGO_PKG_DESCRIPTION='Rust bindings for OpenCV' CARGO_PKG_HOMEPAGE='' CARGO_PKG_LICENSE=MIT CARGO_PKG_LICENSE_FILE='' CARGO_PKG_NAME=opencv CARGO_PKG_README=README.md CARGO_PKG_REPOSITORY='https://github.com/twistedfall/opencv-rust' CARGO_PKG_RUST_VERSION=1.59 CARGO_PKG_VERSION=0.84.1 CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=84 CARGO_PKG_VERSION_PATCH=1 CARGO_PKG_VERSION_PRE='' CARGO_PRIMARY_PACKAGE=1 LD_LIBRARY_PATH='/tmp/xxx/opencv-rust/target/debug/deps:/home/alex/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib:/home/alex/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib' OUT_DIR=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out rustc --crate-name opencv --edition=2021 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=189 --crate-type lib --emit=dep-info,metadata,link -C embed-bitcode=no -C debuginfo=2 --cfg 'feature="alphamat"' --cfg 'feature="aruco"' --cfg 'feature="aruco_detector"' --cfg 'feature="barcode"' --cfg 'feature="bgsegm"' --cfg 'feature="bioinspired"' --cfg 'feature="calib3d"' --cfg 'feature="ccalib"' --cfg 'feature="cudaarithm"' --cfg 'feature="cudabgsegm"' --cfg 'feature="cudacodec"' --cfg 'feature="cudafeatures2d"' --cfg 'feature="cudafilters"' --cfg 'feature="cudaimgproc"' --cfg 'feature="cudaobjdetect"' --cfg 'feature="cudaoptflow"' --cfg 'feature="cudastereo"' --cfg 'feature="cudawarping"' --cfg 'feature="cvv"' --cfg 'feature="default"' --cfg 'feature="dnn"' --cfg 'feature="dnn_superres"' --cfg 'feature="dpm"' --cfg 'feature="face"' --cfg 'feature="features2d"' --cfg 'feature="flann"' --cfg 'feature="freetype"' --cfg 'feature="fuzzy"' --cfg 'feature="gapi"' --cfg 'feature="hdf"' --cfg 'feature="hfs"' --cfg 'feature="highgui"' --cfg 'feature="img_hash"' --cfg 'feature="imgcodecs"' --cfg 'feature="imgproc"' --cfg 'feature="intensity_transform"' --cfg 'feature="line_descriptor"' --cfg 'feature="mcc"' --cfg 'feature="ml"' --cfg 'feature="objdetect"' --cfg 'feature="optflow"' --cfg 'feature="ovis"' --cfg 'feature="phase_unwrapping"' --cfg 'feature="photo"' --cfg 'feature="plot"' --cfg 'feature="quality"' --cfg 'feature="rapid"' --cfg 'feature="rgbd"' --cfg 'feature="saliency"' --cfg 'feature="sfm"' --cfg 'feature="shape"' --cfg 'feature="stereo"' --cfg 'feature="stitching"' --cfg 'feature="structured_light"' --cfg 'feature="superres"' --cfg 'feature="surface_matching"' --cfg 'feature="text"' --cfg 'feature="tracking"' --cfg 'feature="video"' --cfg 'feature="videoio"' --cfg 'feature="videostab"' --cfg 'feature="viz"' --cfg 'feature="wechat_qrcode"' --cfg 'feature="xfeatures2d"' --cfg 'feature="ximgproc"' --cfg 'feature="xobjdetect"' --cfg 'feature="xphoto"' -C metadata=491d052b62e6ee36 -C extra-filename=-491d052b62e6ee36 --out-dir /tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/deps --target armv7-linux-androideabi -C incremental=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/incremental -L dependency=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/deps -L dependency=/tmp/xxx/opencv-rust/target/debug/deps --extern libc=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/deps/liblibc-dc46f2c77a32e965.rmeta --extern num_traits=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/deps/libnum_traits-bdaef485d3728bf4.rmeta --extern once_cell=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/deps/libonce_cell-222c4000c7dad4c9.rmeta -L native=/tmp/xxx/opencv-rust/target/armv7-linux-androideabi/debug/build/opencv-272b18b8b4a59cda/out -L /tmp/xxx/opencv/build/install/sdk/native/staticlibs -l static=ocvrs -l c++_shared -l core --cfg ocvrs_opencv_branch_4 --cfg ocvrs_has_module_calib3d --cfg ocvrs_has_module_core --cfg ocvrs_has_module_features2d --cfg ocvrs_has_module_flann --cfg ocvrs_has_module_highgui --cfg ocvrs_has_module_imgproc` (exit status: 1)
badicsalex commented 1 year ago

Here's a full repro script that you can run from any directory (just set the NDK directory to the right value):

#!/usr/bin/bash
set -e

BASE_DIR=$(pwd)
export ANDROID_NDK="/opt/android_sdk/ndk/25.2.9519653/"

git clone -b 4.8.0 --depth 1 https://github.com/opencv/opencv.git
git clone https://github.com/twistedfall/opencv-rust

(
    cd opencv
    mkdir -p build
    cd build
    cmake \
            -DCMAKE_BUILD_TYPE=Release \
            -DCMAKE_INSTALL_PREFIX="$BASE_DIR/opencv/build/install" \
            -DCMAKE_SYSTEM_NAME=Android \
            -DCMAKE_ANDROID_NDK="$ANDROID_NDK" \
            -DBUILD_LIST=core,features2d \
            -DBUILD_SHARED_LIBS=NO \
            -DBUILD_ANDROID_EXAMPLES=OFF \
            -DBUILD_ANDROID_PROJECTS=OFF \
            -DBUILD_DOCS=OFF \
            -DBUILD_KOTLIN_EXTENSIONS=OFF \
            -DBUILD_FAT_JAVA_LIB=OFF \
            -DBUILD_PERF_TESTS=OFF \
            -DBUILD_TESTS=OFF \
            -DBUILD_opencv_java=OFF \
            -DBUILD_opencv_python=OFF \
            ..
    make -j
    make install
)

cd opencv-rust
export TOOLCHAIN="$ANDROID_NDK/toolchains/llvm/prebuilt/linux-x86_64"
export TARGET="armv7a-linux-androideabi"
export API="29"
export AR="$TOOLCHAIN/bin/llvm-ar"
export CC="$TOOLCHAIN/bin/$TARGET$API-clang"
export CXX="$TOOLCHAIN/bin/$TARGET$API-clang++"
export OPENCV_LINK_LIBS="opencv_core"
export OPENCV_LINK_PATHS="$BASE_DIR/opencv/build/install/sdk/native/staticlibs"
export OPENCV_INCLUDE_PATHS="$BASE_DIR/opencv/build/install/sdk/native/jni/include"

RUST_BACKTRACE=full cargo build -vv --target armv7-linux-androideabi
twistedfall commented 1 year ago

Thanks for the repro! Can you please check v0.84.2? This should be (hopefully) fixed for good

badicsalex commented 1 year ago

Seems to be working, yeah. Thanks for the quick fix!