twistedfall / opencv-rust

Rust bindings for OpenCV 3 & 4
MIT License
1.88k stars 145 forks source link

Trouble linking on Arch Linux - libclang.so.15.0.7 could not be opened #484

Closed skabber closed 9 months ago

skabber commented 11 months ago

I have followed the instructions and troubleshooting section. I cannot build using a Cargo.toml that contains opencv = { version = "0.84.4", features = ["clang-runtime"] }

The error is: [opencv 0.84.4] thread 'main' panicked at 'Can't initialize clang: "thelibclangshared library at /usr/lib/libclang.so.15.0.7 could not be opened: libLLVM-15.so: cannot open shared object file: No such file or directory"', /home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-binding-generator-0.71.0/src/generator.rs:381:33

The /usr/lib/libvlang.so.15.0.7 is there.

ls -lah /usr/lib/libclang.so.15.0.7 
-rwxr-xr-x 1 root root 27M May  2 10:09 /usr/lib/libclang.so.15.0.7
  1. Arch Linux
  2. pacman -S clang qt5-base opencv
  3. rustc --version rustc 1.64.0-nightly (93ffde6f0 2022-07-23)
  4. Attach the full output of the following command from your project directory:
    
    RUST_BACKTRACE=full cargo build -vv 
       Fresh glob v0.3.1
       Fresh cfg-if v1.0.0
       Fresh regex-syntax v0.7.4
       Fresh once_cell v1.18.0
       Fresh dunce v1.0.4
       Fresh percent-encoding v2.3.0
       Fresh autocfg v1.1.0
       Fresh shlex v1.1.0
       Fresh pkg-config v0.3.27
       Fresh vcpkg v0.2.15
       Fresh bitflags v1.3.2
       Fresh libloading v0.7.4
       Fresh libc v0.2.147
       Fresh memchr v2.5.0
       Fresh semver v1.0.18
       Fresh features v0.10.0
       Fresh aho-corasick v1.0.2
       Fresh clang-sys v1.6.1
       Fresh jobserver v0.1.26
       Fresh regex-automata v0.3.6
       Fresh clang v2.0.0
       Fresh cc v1.0.79
       Fresh num-traits v0.2.16
       Fresh regex v1.9.3
       Fresh opencv-binding-generator v0.71.0
    Compiling opencv v0.84.4
     Running `/home/jay/Projects/rust-opencv/target/debug/build/opencv-15dfb5bd2ac8e3a5/build-script-build`
    [opencv 0.84.4] === Crate version: Some("0.84.4")
    [opencv 0.84.4] === Environment configuration:
    [opencv 0.84.4] ===   OPENCV_PACKAGE_NAME = None
    [opencv 0.84.4] ===   OPENCV_PKGCONFIG_NAME = None
    [opencv 0.84.4] ===   OPENCV_CMAKE_NAME = None
    [opencv 0.84.4] ===   OPENCV_CMAKE_BIN = None
    [opencv 0.84.4] ===   OPENCV_VCPKG_NAME = None
    [opencv 0.84.4] ===   OPENCV_LINK_LIBS = None
    [opencv 0.84.4] ===   OPENCV_LINK_PATHS = None
    [opencv 0.84.4] ===   OPENCV_INCLUDE_PATHS = None
    [opencv 0.84.4] ===   OPENCV_DISABLE_PROBES = None
    [opencv 0.84.4] ===   CMAKE_PREFIX_PATH = None
    [opencv 0.84.4] ===   OpenCV_DIR = None
    [opencv 0.84.4] ===   PKG_CONFIG_PATH = None
    [opencv 0.84.4] ===   VCPKG_ROOT = None
    [opencv 0.84.4] ===   VCPKGRS_DYNAMIC = None
    [opencv 0.84.4] ===   OCVRS_DOCS_GENERATE_DIR = None
    [opencv 0.84.4] ===   DOCS_RS = None
    [opencv 0.84.4] ===   PATH = Some("/home/jay/.nix-profile/bin:/home/jay/.local/bin:/home/jay/bin:/home/jay/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/sbin:/home/jay/bin:/home/jay/.nix-profile/bin:/home/jay/.cargo/bin:/home/jay/.local/bin:/usr/games:/usr/local/games:/snap/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl")
    [opencv 0.84.4] === Enabled features:
    [opencv 0.84.4] ===   ALPHAMAT
    [opencv 0.84.4] ===   ARUCO
    [opencv 0.84.4] ===   ARUCO_DETECTOR
    [opencv 0.84.4] ===   BARCODE
    [opencv 0.84.4] ===   BGSEGM
    [opencv 0.84.4] ===   BIOINSPIRED
    [opencv 0.84.4] ===   CALIB3D
    [opencv 0.84.4] ===   CCALIB
    [opencv 0.84.4] ===   CLANG_RUNTIME
    [opencv 0.84.4] ===   CUDAARITHM
    [opencv 0.84.4] ===   CUDABGSEGM
    [opencv 0.84.4] ===   CUDACODEC
    [opencv 0.84.4] ===   CUDAFEATURES2D
    [opencv 0.84.4] ===   CUDAFILTERS
    [opencv 0.84.4] ===   CUDAIMGPROC
    [opencv 0.84.4] ===   CUDAOBJDETECT
    [opencv 0.84.4] ===   CUDAOPTFLOW
    [opencv 0.84.4] ===   CUDASTEREO
    [opencv 0.84.4] ===   CUDAWARPING
    [opencv 0.84.4] ===   CVV
    [opencv 0.84.4] ===   DEFAULT
    [opencv 0.84.4] ===   DNN
    [opencv 0.84.4] ===   DNN_SUPERRES
    [opencv 0.84.4] ===   DPM
    [opencv 0.84.4] ===   FACE
    [opencv 0.84.4] ===   FEATURES2D
    [opencv 0.84.4] ===   FLANN
    [opencv 0.84.4] ===   FREETYPE
    [opencv 0.84.4] ===   FUZZY
    [opencv 0.84.4] ===   GAPI
    [opencv 0.84.4] ===   HDF
    [opencv 0.84.4] ===   HFS
    [opencv 0.84.4] ===   HIGHGUI
    [opencv 0.84.4] ===   IMGCODECS
    [opencv 0.84.4] ===   IMGPROC
    [opencv 0.84.4] ===   IMG_HASH
    [opencv 0.84.4] ===   INTENSITY_TRANSFORM
    [opencv 0.84.4] ===   LINE_DESCRIPTOR
    [opencv 0.84.4] ===   MCC
    [opencv 0.84.4] ===   ML
    [opencv 0.84.4] ===   OBJDETECT
    [opencv 0.84.4] ===   OPTFLOW
    [opencv 0.84.4] ===   OVIS
    [opencv 0.84.4] ===   PHASE_UNWRAPPING
    [opencv 0.84.4] ===   PHOTO
    [opencv 0.84.4] ===   PLOT
    [opencv 0.84.4] ===   QUALITY
    [opencv 0.84.4] ===   RAPID
    [opencv 0.84.4] ===   RGBD
    [opencv 0.84.4] ===   SALIENCY
    [opencv 0.84.4] ===   SFM
    [opencv 0.84.4] ===   SHAPE
    [opencv 0.84.4] ===   STEREO
    [opencv 0.84.4] ===   STITCHING
    [opencv 0.84.4] ===   STRUCTURED_LIGHT
    [opencv 0.84.4] ===   SUPERRES
    [opencv 0.84.4] ===   SURFACE_MATCHING
    [opencv 0.84.4] ===   TEXT
    [opencv 0.84.4] ===   TRACKING
    [opencv 0.84.4] ===   VIDEO
    [opencv 0.84.4] ===   VIDEOIO
    [opencv 0.84.4] ===   VIDEOSTAB
    [opencv 0.84.4] ===   VIZ
    [opencv 0.84.4] ===   WECHAT_QRCODE
    [opencv 0.84.4] ===   XFEATURES2D
    [opencv 0.84.4] ===   XIMGPROC
    [opencv 0.84.4] ===   XOBJDETECT
    [opencv 0.84.4] ===   XPHOTO
    [opencv 0.84.4] === Detected probe priority based on environment vars: pkg_config: false, cmake: false, vcpkg: false
    [opencv 0.84.4] === Probing the OpenCV library in the following order: environment, pkg_config, cmake, vcpkg_cmake, vcpkg
    [opencv 0.84.4] === Can't probe using: environment, continuing with other methods because: Some environment variables are missing
    [opencv 0.84.4] === Probing OpenCV library using pkg_config
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV4_NO_PKG_CONFIG
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=HOST_PKG_CONFIG
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV4_STATIC
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV4_DYNAMIC
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_PATH
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV_NO_PKG_CONFIG
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=HOST_PKG_CONFIG
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV_STATIC
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV_DYNAMIC
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_PATH
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu
    [opencv 0.84.4] cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
    [opencv 0.84.4] === Can't probe using: pkg_config, continuing with other methods because: `"pkg-config" "--libs" "--cflags" "opencv4"` did not exit successfully: exit status: 1
    [opencv 0.84.4] error: could not find system library 'opencv4' required by the 'opencv' crate
    [opencv 0.84.4] 
    [opencv 0.84.4] --- stderr
    [opencv 0.84.4] Package opencv4 was not found in the pkg-config search path.
    [opencv 0.84.4] Perhaps you should add the directory containing `opencv4.pc'
    [opencv 0.84.4] to the PKG_CONFIG_PATH environment variable
    [opencv 0.84.4] No package 'opencv4' found
    [opencv 0.84.4] , `"pkg-config" "--libs" "--cflags" "opencv"` did not exit successfully: exit status: 1
    [opencv 0.84.4] error: could not find system library 'opencv' required by the 'opencv' crate
    [opencv 0.84.4] 
    [opencv 0.84.4] --- stderr
    [opencv 0.84.4] Package opencv was not found in the pkg-config search path.
    [opencv 0.84.4] Perhaps you should add the directory containing `opencv.pc'
    [opencv 0.84.4] to the PKG_CONFIG_PATH environment variable
    [opencv 0.84.4] No package 'opencv' found
    [opencv 0.84.4] 
    [opencv 0.84.4] === Probing OpenCV library using cmake
    [opencv 0.84.4] === cmake ninja probe command: "cmake" "-S" "/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/cmake" "-DOCVRS_PACKAGE_NAME=OpenCV" "-DCMAKE_BUILD_TYPE=Debug" "-G" "Ninja"
    [opencv 0.84.4] === Probing with cmake ninja generator failed, will try Makefile generator, error: cmake returned an error
    [opencv 0.84.4]     stdout: "-- Configuring incomplete, errors occurred!\n"
    [opencv 0.84.4]     stderr: "CMake Warning (dev) at CMakeLists.txt:1 (project):\n  cmake_minimum_required() should be called prior to this top-level project()\n  call.  Please see the cmake-commands(7) manual for usage documentation of\n  both commands.\nThis warning is for project developers.  Use -Wno-dev to suppress it.\n\nCMake Error: CMake was unable to find a build program corresponding to \"Ninja\".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.\nCMake Error: CMAKE_C_COMPILER not set, after EnableLanguage\nCMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage\n"
    [opencv 0.84.4] === cmake makefiles probe command: "cmake" "-S" "/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/cmake" "-DOCVRS_PACKAGE_NAME=OpenCV" "-DCMAKE_BUILD_TYPE=Debug" "-G" "Unix Makefiles"
    [opencv 0.84.4] === Unexpected cmake compiler argument found: -g
    [opencv 0.84.4] === Unexpected cmake compiler argument found: -rdynamic
    [opencv 0.84.4] === Unexpected cmake compiler argument found: -o
    [opencv 0.84.4] === Successfully probed using: cmake
    [opencv 0.84.4] === OpenCV library configuration: Library {
    [opencv 0.84.4]     include_paths: [
    [opencv 0.84.4]         "/usr/include/opencv4",
    [opencv 0.84.4]     ],
    [opencv 0.84.4]     version: Version {
    [opencv 0.84.4]         major: 4,
    [opencv 0.84.4]         minor: 8,
    [opencv 0.84.4]         patch: 0,
    [opencv 0.84.4]     },
    [opencv 0.84.4]     cargo_metadata: [
    [opencv 0.84.4]         "cargo:rustc-link-search=/usr/lib",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_gapi",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_stitching",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_alphamat",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_aruco",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_bgsegm",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_bioinspired",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_ccalib",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_cvv",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_dnn_objdetect",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_dnn_superres",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_dpm",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_face",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_freetype",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_fuzzy",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_hdf",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_hfs",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_img_hash",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_intensity_transform",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_line_descriptor",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_mcc",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_quality",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_rapid",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_reg",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_rgbd",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_saliency",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_stereo",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_structured_light",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_superres",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_surface_matching",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_tracking",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_videostab",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_viz",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_wechat_qrcode",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_xfeatures2d",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_xobjdetect",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_xphoto",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_shape",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_highgui",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_datasets",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_plot",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_text",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_ml",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_phase_unwrapping",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_optflow",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_ximgproc",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_video",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_videoio",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_imgcodecs",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_objdetect",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_calib3d",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_dnn",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_features2d",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_flann",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_photo",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_imgproc",
    [opencv 0.84.4]         "cargo:rustc-link-lib=opencv_core",
    [opencv 0.84.4]     ],
    [opencv 0.84.4] }
    [opencv 0.84.4] cargo:rustc-cfg=ocvrs_opencv_branch_4
    [opencv 0.84.4] === Detected OpenCV module header dir at: /usr/include/opencv4/opencv2
    [opencv 0.84.4] === Found OpenCV version: 4.8.0 in headers located at: /usr/include/opencv4
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV_PACKAGE_NAME
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV_PKGCONFIG_NAME
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV_CMAKE_NAME
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV_CMAKE_BIN
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV_VCPKG_NAME
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV_LINK_LIBS
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV_LINK_PATHS
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV_INCLUDE_PATHS
    [opencv 0.84.4] cargo:rerun-if-env-changed=OPENCV_DISABLE_PROBES
    [opencv 0.84.4] cargo:rerun-if-env-changed=CMAKE_PREFIX_PATH
    [opencv 0.84.4] cargo:rerun-if-env-changed=OpenCV_DIR
    [opencv 0.84.4] cargo:rerun-if-env-changed=PKG_CONFIG_PATH
    [opencv 0.84.4] cargo:rerun-if-env-changed=VCPKG_ROOT
    [opencv 0.84.4] cargo:rerun-if-env-changed=VCPKGRS_DYNAMIC
    [opencv 0.84.4] cargo:rerun-if-env-changed=OCVRS_DOCS_GENERATE_DIR
    [opencv 0.84.4] cargo:rerun-if-env-changed=DOCS_RS
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/alphamat.hpp
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/aruco.hpp
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/bioinspired.hpp
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/ccalib.hpp
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/core.hpp
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/dnn.hpp
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/face.hpp
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/gapi.hpp
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/hdf.hpp
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/manual-core.cpp
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/ocvrs_common.hpp
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/photo.hpp
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/sfm.hpp
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/videoio.hpp
    [opencv 0.84.4] cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/xfeatures2d.hpp
    [opencv 0.84.4] cargo:rerun-if-changed=Cargo.toml
    [opencv 0.84.4] === Generating code in: /home/jay/Projects/rust-opencv/target/debug/build/opencv-930df853cad170e0/out
    [opencv 0.84.4] === Placing generated bindings into: /home/jay/Projects/rust-opencv/target/debug/build/opencv-930df853cad170e0/out/opencv
    [opencv 0.84.4] === Using OpenCV headers from: /usr/include/opencv4
    [opencv 0.84.4] thread 'main' panicked at 'Can't initialize clang: "the `libclang` shared library at /usr/lib/libclang.so.15.0.7 could not be opened: libLLVM-15.so: cannot open shared object file: No such file or directory"', /home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-binding-generator-0.71.0/src/generator.rs:381:33
    [opencv 0.84.4] stack backtrace:
    [opencv 0.84.4]    0:     0x558ff7c86940 - std::backtrace_rs::backtrace::libunwind::trace::h763ecd2b1c94eb47
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
    [opencv 0.84.4]    1:     0x558ff7c86940 - std::backtrace_rs::backtrace::trace_unsynchronized::h7346e33da5e91dc9
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
    [opencv 0.84.4]    2:     0x558ff7c86940 - std::sys_common::backtrace::_print_fmt::h8ca9befc16375e7f
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/sys_common/backtrace.rs:66:5
    [opencv 0.84.4]    3:     0x558ff7c86940 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h35a76e8acc949815
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/sys_common/backtrace.rs:45:22
    [opencv 0.84.4]    4:     0x558ff7cad2dc - core::fmt::write::h1966177bbb3b1b76
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/core/src/fmt/mod.rs:1198:17
    [opencv 0.84.4]    5:     0x558ff7c826b5 - std::io::Write::write_fmt::he17142a652adbfaa
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/io/mod.rs:1672:15
    [opencv 0.84.4]    6:     0x558ff7c88331 - std::sys_common::backtrace::_print::h58fd682547bc6ff7
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/sys_common/backtrace.rs:48:5
    [opencv 0.84.4]    7:     0x558ff7c88331 - std::sys_common::backtrace::print::hb71ddfedfd79ba3f
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/sys_common/backtrace.rs:35:9
    [opencv 0.84.4]    8:     0x558ff7c88331 - std::panicking::default_hook::{{closure}}::h866ffdcbb9391663
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:295:22
    [opencv 0.84.4]    9:     0x558ff7c88003 - std::panicking::default_hook::hc53d610bee87e7b5
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:314:9
    [opencv 0.84.4]   10:     0x558ff7c889d3 - std::panicking::rust_panic_with_hook::h1f2457f8494b1ce0
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:698:17
    [opencv 0.84.4]   11:     0x558ff7c888c7 - std::panicking::begin_panic_handler::{{closure}}::h84de84c919a48b08
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:588:13
    [opencv 0.84.4]   12:     0x558ff7c86e64 - std::sys_common::backtrace::__rust_end_short_backtrace::h50976962eb12c97a
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/sys_common/backtrace.rs:138:18
    [opencv 0.84.4]   13:     0x558ff7c885f2 - rust_begin_unwind
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:584:5
    [opencv 0.84.4]   14:     0x558ff74dcf53 - core::panicking::panic_fmt::hb7aeecf8ae8bdd28
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/core/src/panicking.rs:142:14
    [opencv 0.84.4]   15:     0x558ff74dd0a3 - core::result::unwrap_failed::h805e2f13bf554c1a
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/core/src/result.rs:1814:5
    [opencv 0.84.4]   16:     0x558ff7756a23 - core::result::Result<T,E>::expect::h458cc7761acdf8d4
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/core/src/result.rs:1064:23
    [opencv 0.84.4]   17:     0x558ff76c48de - opencv_binding_generator::generator::Generator::new::h2eff8ddd4aae467e
    [opencv 0.84.4]                                at /home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-binding-generator-0.71.0/src/generator.rs:381:11
    [opencv 0.84.4]   18:     0x558ff750bdf9 - build_script_build::generator::BindingGenerator::run::h6d876f9f5f18c5fa
    [opencv 0.84.4]                                at /home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/build/generator.rs:71:13
    [opencv 0.84.4]   19:     0x558ff750b547 - build_script_build::generator::BindingGenerator::generate_wrapper::hd0c95bff35f87ce2
    [opencv 0.84.4]                                at /home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/build/generator.rs:49:3
    [opencv 0.84.4]   20:     0x558ff754c098 - build_script_build::main::hae4b4dc8820ff787
    [opencv 0.84.4]                                at /home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/build.rs:379:2
    [opencv 0.84.4]   21:     0x558ff750255b - core::ops::function::FnOnce::call_once::h3bde9dabb205c9b9
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/core/src/ops/function.rs:248:5
    [opencv 0.84.4]   22:     0x558ff752e71e - std::sys_common::backtrace::__rust_begin_short_backtrace::h3891c0604770a36f
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/sys_common/backtrace.rs:122:18
    [opencv 0.84.4]   23:     0x558ff7507661 - std::rt::lang_start::{{closure}}::h76c35d12b11e6e17
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/rt.rs:145:18
    [opencv 0.84.4]   24:     0x558ff7c7d67a - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h2329e3a662eae0ae
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/core/src/ops/function.rs:280:13
    [opencv 0.84.4]   25:     0x558ff7c7d67a - std::panicking::try::do_call::hd45765aeb45d5284
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:492:40
    [opencv 0.84.4]   26:     0x558ff7c7d67a - std::panicking::try::h0493a6fe5333ce10
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:456:19
    [opencv 0.84.4]   27:     0x558ff7c7d67a - std::panic::catch_unwind::h59247c870d4c0089
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panic.rs:137:14
    [opencv 0.84.4]   28:     0x558ff7c7d67a - std::rt::lang_start_internal::{{closure}}::h24aab196a0298383
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/rt.rs:128:48
    [opencv 0.84.4]   29:     0x558ff7c7d67a - std::panicking::try::do_call::h44b4b20fbdef4846
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:492:40
    [opencv 0.84.4]   30:     0x558ff7c7d67a - std::panicking::try::h67710eb5781583ed
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:456:19
    [opencv 0.84.4]   31:     0x558ff7c7d67a - std::panic::catch_unwind::hf5d47745d56be337
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panic.rs:137:14
    [opencv 0.84.4]   32:     0x558ff7c7d67a - std::rt::lang_start_internal::h8e0bb2058a27adf4
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/rt.rs:128:20
    [opencv 0.84.4]   33:     0x558ff7507630 - std::rt::lang_start::hae79097fc9812944
    [opencv 0.84.4]                                at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/rt.rs:144:17
    [opencv 0.84.4]   34:     0x558ff754c5ec - main
    [opencv 0.84.4]   35:     0x7f8af7b52ace - __libc_start_call_main
    [opencv 0.84.4]   36:     0x7f8af7b52b89 - __libc_start_main@@GLIBC_2.34
    [opencv 0.84.4]   37:     0x558ff74dd2a5 - _start
    [opencv 0.84.4]   38:                0x0 - <unknown>
    error: failed to run custom build command for `opencv v0.84.4`

Caused by: process didn't exit successfully: /home/jay/Projects/rust-opencv/target/debug/build/opencv-15dfb5bd2ac8e3a5/build-script-build (exit status: 101) --- stdout cargo:rerun-if-env-changed=OPENCV4_NO_PKG_CONFIG cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG cargo:rerun-if-env-changed=PKG_CONFIG cargo:rerun-if-env-changed=OPENCV4_STATIC cargo:rerun-if-env-changed=OPENCV4_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR cargo:rerun-if-env-changed=OPENCV_NO_PKG_CONFIG cargo:rerun-if-env-changed=PKG_CONFIG_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG cargo:rerun-if-env-changed=PKG_CONFIG cargo:rerun-if-env-changed=OPENCV_STATIC cargo:rerun-if-env-changed=OPENCV_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_PATH_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_PATH cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64-unknown-linux-gnu cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_x86_64_unknown_linux_gnu cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR cargo:rustc-cfg=ocvrs_opencv_branch_4 cargo:rerun-if-env-changed=OPENCV_PACKAGE_NAME cargo:rerun-if-env-changed=OPENCV_PKGCONFIG_NAME cargo:rerun-if-env-changed=OPENCV_CMAKE_NAME cargo:rerun-if-env-changed=OPENCV_CMAKE_BIN cargo:rerun-if-env-changed=OPENCV_VCPKG_NAME cargo:rerun-if-env-changed=OPENCV_LINK_LIBS cargo:rerun-if-env-changed=OPENCV_LINK_PATHS cargo:rerun-if-env-changed=OPENCV_INCLUDE_PATHS cargo:rerun-if-env-changed=OPENCV_DISABLE_PROBES cargo:rerun-if-env-changed=CMAKE_PREFIX_PATH cargo:rerun-if-env-changed=OpenCV_DIR cargo:rerun-if-env-changed=PKG_CONFIG_PATH cargo:rerun-if-env-changed=VCPKG_ROOT cargo:rerun-if-env-changed=VCPKGRS_DYNAMIC cargo:rerun-if-env-changed=OCVRS_DOCS_GENERATE_DIR cargo:rerun-if-env-changed=DOCS_RS cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/alphamat.hpp cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/aruco.hpp cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/bioinspired.hpp cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/ccalib.hpp cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/core.hpp cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/dnn.hpp cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/face.hpp cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/gapi.hpp cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/hdf.hpp cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/manual-core.cpp cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/ocvrs_common.hpp cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/photo.hpp cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/sfm.hpp cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/videoio.hpp cargo:rerun-if-changed=/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/src_cpp/xfeatures2d.hpp cargo:rerun-if-changed=Cargo.toml

--- stderr === Crate version: Some("0.84.4") === Environment configuration: === OPENCV_PACKAGE_NAME = None === OPENCV_PKGCONFIG_NAME = None === OPENCV_CMAKE_NAME = None === OPENCV_CMAKE_BIN = None === OPENCV_VCPKG_NAME = None === OPENCV_LINK_LIBS = None === OPENCV_LINK_PATHS = None === OPENCV_INCLUDE_PATHS = None === OPENCV_DISABLE_PROBES = None === CMAKE_PREFIX_PATH = None === OpenCV_DIR = None === PKG_CONFIG_PATH = None === VCPKG_ROOT = None === VCPKGRS_DYNAMIC = None === OCVRS_DOCS_GENERATE_DIR = None === DOCS_RS = None === PATH = Some("/home/jay/.nix-profile/bin:/home/jay/.local/bin:/home/jay/bin:/home/jay/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/sbin:/home/jay/bin:/home/jay/.nix-profile/bin:/home/jay/.cargo/bin:/home/jay/.local/bin:/usr/games:/usr/local/games:/snap/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl") === Enabled features: === ALPHAMAT === ARUCO === ARUCO_DETECTOR === BARCODE === BGSEGM === BIOINSPIRED === CALIB3D === CCALIB === CLANG_RUNTIME === CUDAARITHM === CUDABGSEGM === CUDACODEC === CUDAFEATURES2D === CUDAFILTERS === CUDAIMGPROC === CUDAOBJDETECT === CUDAOPTFLOW === CUDASTEREO === CUDAWARPING === CVV === DEFAULT === DNN === DNN_SUPERRES === DPM === FACE === FEATURES2D === FLANN === FREETYPE === FUZZY === GAPI === HDF === HFS === HIGHGUI === IMGCODECS === IMGPROC === IMG_HASH === INTENSITY_TRANSFORM === LINE_DESCRIPTOR === MCC === ML === OBJDETECT === OPTFLOW === OVIS === PHASE_UNWRAPPING === PHOTO === PLOT === QUALITY === RAPID === RGBD === SALIENCY === SFM === SHAPE === STEREO === STITCHING === STRUCTURED_LIGHT === SUPERRES === SURFACE_MATCHING === TEXT === TRACKING === VIDEO === VIDEOIO === VIDEOSTAB === VIZ === WECHAT_QRCODE === XFEATURES2D === XIMGPROC === XOBJDETECT === XPHOTO === Detected probe priority based on environment vars: pkg_config: false, cmake: false, vcpkg: false === Probing the OpenCV library in the following order: environment, pkg_config, cmake, vcpkg_cmake, vcpkg === Can't probe using: environment, continuing with other methods because: Some environment variables are missing === Probing OpenCV library using pkg_config === Can't probe using: pkg_config, continuing with other methods because: "pkg-config" "--libs" "--cflags" "opencv4" did not exit successfully: exit status: 1 error: could not find system library 'opencv4' required by the 'opencv' crate

--- stderr Package opencv4 was not found in the pkg-config search path. Perhaps you should add the directory containing opencv4.pc' to the PKG_CONFIG_PATH environment variable No package 'opencv4' found ,"pkg-config" "--libs" "--cflags" "opencv"` did not exit successfully: exit status: 1 error: could not find system library 'opencv' required by the 'opencv' crate

--- stderr Package opencv was not found in the pkg-config search path. Perhaps you should add the directory containing `opencv.pc' to the PKG_CONFIG_PATH environment variable No package 'opencv' found

=== Probing OpenCV library using cmake === cmake ninja probe command: "cmake" "-S" "/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/cmake" "-DOCVRS_PACKAGE_NAME=OpenCV" "-DCMAKE_BUILD_TYPE=Debug" "-G" "Ninja" === Probing with cmake ninja generator failed, will try Makefile generator, error: cmake returned an error stdout: "-- Configuring incomplete, errors occurred!\n" stderr: "CMake Warning (dev) at CMakeLists.txt:1 (project):\n cmake_minimum_required() should be called prior to this top-level project()\n call. Please see the cmake-commands(7) manual for usage documentation of\n both commands.\nThis warning is for project developers. Use -Wno-dev to suppress it.\n\nCMake Error: CMake was unable to find a build program corresponding to \"Ninja\". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.\nCMake Error: CMAKE_C_COMPILER not set, after EnableLanguage\nCMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage\n" === cmake makefiles probe command: "cmake" "-S" "/home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/cmake" "-DOCVRS_PACKAGE_NAME=OpenCV" "-DCMAKE_BUILD_TYPE=Debug" "-G" "Unix Makefiles" === Unexpected cmake compiler argument found: -g === Unexpected cmake compiler argument found: -rdynamic === Unexpected cmake compiler argument found: -o === Successfully probed using: cmake === OpenCV library configuration: Library { include_paths: [ "/usr/include/opencv4", ], version: Version { major: 4, minor: 8, patch: 0, }, cargo_metadata: [ "cargo:rustc-link-search=/usr/lib", "cargo:rustc-link-lib=opencv_gapi", "cargo:rustc-link-lib=opencv_stitching", "cargo:rustc-link-lib=opencv_alphamat", "cargo:rustc-link-lib=opencv_aruco", "cargo:rustc-link-lib=opencv_bgsegm", "cargo:rustc-link-lib=opencv_bioinspired", "cargo:rustc-link-lib=opencv_ccalib", "cargo:rustc-link-lib=opencv_cvv", "cargo:rustc-link-lib=opencv_dnn_objdetect", "cargo:rustc-link-lib=opencv_dnn_superres", "cargo:rustc-link-lib=opencv_dpm", "cargo:rustc-link-lib=opencv_face", "cargo:rustc-link-lib=opencv_freetype", "cargo:rustc-link-lib=opencv_fuzzy", "cargo:rustc-link-lib=opencv_hdf", "cargo:rustc-link-lib=opencv_hfs", "cargo:rustc-link-lib=opencv_img_hash", "cargo:rustc-link-lib=opencv_intensity_transform", "cargo:rustc-link-lib=opencv_line_descriptor", "cargo:rustc-link-lib=opencv_mcc", "cargo:rustc-link-lib=opencv_quality", "cargo:rustc-link-lib=opencv_rapid", "cargo:rustc-link-lib=opencv_reg", "cargo:rustc-link-lib=opencv_rgbd", "cargo:rustc-link-lib=opencv_saliency", "cargo:rustc-link-lib=opencv_stereo", "cargo:rustc-link-lib=opencv_structured_light", "cargo:rustc-link-lib=opencv_superres", "cargo:rustc-link-lib=opencv_surface_matching", "cargo:rustc-link-lib=opencv_tracking", "cargo:rustc-link-lib=opencv_videostab", "cargo:rustc-link-lib=opencv_viz", "cargo:rustc-link-lib=opencv_wechat_qrcode", "cargo:rustc-link-lib=opencv_xfeatures2d", "cargo:rustc-link-lib=opencv_xobjdetect", "cargo:rustc-link-lib=opencv_xphoto", "cargo:rustc-link-lib=opencv_shape", "cargo:rustc-link-lib=opencv_highgui", "cargo:rustc-link-lib=opencv_datasets", "cargo:rustc-link-lib=opencv_plot", "cargo:rustc-link-lib=opencv_text", "cargo:rustc-link-lib=opencv_ml", "cargo:rustc-link-lib=opencv_phase_unwrapping", "cargo:rustc-link-lib=opencv_optflow", "cargo:rustc-link-lib=opencv_ximgproc", "cargo:rustc-link-lib=opencv_video", "cargo:rustc-link-lib=opencv_videoio", "cargo:rustc-link-lib=opencv_imgcodecs", "cargo:rustc-link-lib=opencv_objdetect", "cargo:rustc-link-lib=opencv_calib3d", "cargo:rustc-link-lib=opencv_dnn", "cargo:rustc-link-lib=opencv_features2d", "cargo:rustc-link-lib=opencv_flann", "cargo:rustc-link-lib=opencv_photo", "cargo:rustc-link-lib=opencv_imgproc", "cargo:rustc-link-lib=opencv_core", ], } === Detected OpenCV module header dir at: /usr/include/opencv4/opencv2 === Found OpenCV version: 4.8.0 in headers located at: /usr/include/opencv4 === Generating code in: /home/jay/Projects/rust-opencv/target/debug/build/opencv-930df853cad170e0/out === Placing generated bindings into: /home/jay/Projects/rust-opencv/target/debug/build/opencv-930df853cad170e0/out/opencv === Using OpenCV headers from: /usr/include/opencv4 thread 'main' panicked at 'Can't initialize clang: "the libclang shared library at /usr/lib/libclang.so.15.0.7 could not be opened: libLLVM-15.so: cannot open shared object file: No such file or directory"', /home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-binding-generator-0.71.0/src/generator.rs:381:33 stack backtrace: 0: 0x558ff7c86940 - std::backtrace_rs::backtrace::libunwind::trace::h763ecd2b1c94eb47 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 1: 0x558ff7c86940 - std::backtrace_rs::backtrace::trace_unsynchronized::h7346e33da5e91dc9 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 2: 0x558ff7c86940 - std::sys_common::backtrace::_print_fmt::h8ca9befc16375e7f at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/sys_common/backtrace.rs:66:5 3: 0x558ff7c86940 - ::fmt::h35a76e8acc949815 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/sys_common/backtrace.rs:45:22 4: 0x558ff7cad2dc - core::fmt::write::h1966177bbb3b1b76 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/core/src/fmt/mod.rs:1198:17 5: 0x558ff7c826b5 - std::io::Write::write_fmt::he17142a652adbfaa at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/io/mod.rs:1672:15 6: 0x558ff7c88331 - std::sys_common::backtrace::_print::h58fd682547bc6ff7 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/sys_common/backtrace.rs:48:5 7: 0x558ff7c88331 - std::sys_common::backtrace::print::hb71ddfedfd79ba3f at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/sys_common/backtrace.rs:35:9 8: 0x558ff7c88331 - std::panicking::default_hook::{{closure}}::h866ffdcbb9391663 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:295:22 9: 0x558ff7c88003 - std::panicking::default_hook::hc53d610bee87e7b5 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:314:9 10: 0x558ff7c889d3 - std::panicking::rust_panic_with_hook::h1f2457f8494b1ce0 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:698:17 11: 0x558ff7c888c7 - std::panicking::begin_panic_handler::{{closure}}::h84de84c919a48b08 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:588:13 12: 0x558ff7c86e64 - std::sys_common::backtrace::rust_end_short_backtrace::h50976962eb12c97a at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/sys_common/backtrace.rs:138:18 13: 0x558ff7c885f2 - rust_begin_unwind at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:584:5 14: 0x558ff74dcf53 - core::panicking::panic_fmt::hb7aeecf8ae8bdd28 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/core/src/panicking.rs:142:14 15: 0x558ff74dd0a3 - core::result::unwrap_failed::h805e2f13bf554c1a at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/core/src/result.rs:1814:5 16: 0x558ff7756a23 - core::result::Result<T,E>::expect::h458cc7761acdf8d4 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/core/src/result.rs:1064:23 17: 0x558ff76c48de - opencv_binding_generator::generator::Generator::new::h2eff8ddd4aae467e at /home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-binding-generator-0.71.0/src/generator.rs:381:11 18: 0x558ff750bdf9 - build_script_build::generator::BindingGenerator::run::h6d876f9f5f18c5fa at /home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/build/generator.rs:71:13 19: 0x558ff750b547 - build_script_build::generator::BindingGenerator::generate_wrapper::hd0c95bff35f87ce2 at /home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/build/generator.rs:49:3 20: 0x558ff754c098 - build_script_build::main::hae4b4dc8820ff787 at /home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-0.84.4/build.rs:379:2 21: 0x558ff750255b - core::ops::function::FnOnce::call_once::h3bde9dabb205c9b9 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/core/src/ops/function.rs:248:5 22: 0x558ff752e71e - std::sys_common::backtrace::__rust_begin_short_backtrace::h3891c0604770a36f at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/sys_common/backtrace.rs:122:18 23: 0x558ff7507661 - std::rt::lang_start::{{closure}}::h76c35d12b11e6e17 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/rt.rs:145:18 24: 0x558ff7c7d67a - core::ops::function::impls::<impl core::ops::function::FnOnce for &F>::call_once::h2329e3a662eae0ae at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/core/src/ops/function.rs:280:13 25: 0x558ff7c7d67a - std::panicking::try::do_call::hd45765aeb45d5284 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:492:40 26: 0x558ff7c7d67a - std::panicking::try::h0493a6fe5333ce10 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:456:19 27: 0x558ff7c7d67a - std::panic::catch_unwind::h59247c870d4c0089 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panic.rs:137:14 28: 0x558ff7c7d67a - std::rt::lang_start_internal::{{closure}}::h24aab196a0298383 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/rt.rs:128:48 29: 0x558ff7c7d67a - std::panicking::try::do_call::h44b4b20fbdef4846 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:492:40 30: 0x558ff7c7d67a - std::panicking::try::h67710eb5781583ed at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panicking.rs:456:19 31: 0x558ff7c7d67a - std::panic::catch_unwind::hf5d47745d56be337 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/panic.rs:137:14 32: 0x558ff7c7d67a - std::rt::lang_start_internal::h8e0bb2058a27adf4 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/rt.rs:128:20 33: 0x558ff7507630 - std::rt::lang_start::hae79097fc9812944 at /rustc/93ffde6f04d3d24327a4e17a2a2bf4f63c246235/library/std/src/rt.rs:144:17 34: 0x558ff754c5ec - main 35: 0x7f8af7b52ace - libc_start_call_main 36: 0x7f8af7b52b89 - __libc_start_main@@GLIBC_2.34 37: 0x558ff74dd2a5 - _start 38: 0x0 -

twistedfall commented 11 months ago

Can you please try running lddtree /usr/lib/libclang.so.15.0.7? It sounds like you have libclang installed, but not llvm itself, so you can try installing this package too: https://archlinux.org/packages/extra/x86_64/llvm/

skabber commented 11 months ago

Thank you for the help. I just made sure to install both the llvm and the llvm-libs package. I still get the error:

=== Using OpenCV headers from: /usr/include/opencv4
  thread 'main' panicked at 'Can't initialize clang: "the `libclang` shared library at /usr/lib/libclang.so.15.0.7 could not be opened: libLLVM-15.so: cannot open shared object file: No such file or directory"', /home/jay/.cargo/registry/src/github.com-1ecc6299db9ec823/opencv-binding-generator-0.71.0/src/generator.rs:381:33
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

lddtree /usr/lib/libclang.so.15.0.7 returns:

/usr/lib/libclang.so.15.0.7 (interpreter => None)
    libLLVM-15.so => /usr/lib/libLLVM-15.so
        libffi.so.8 => /usr/lib/libffi.so.8
        libedit.so.0 => /usr/lib/libedit.so.0
        libz.so.1 => /usr/lib/libz.so.1
        libzstd.so.1 => /usr/lib/libzstd.so.1
        libncursesw.so.6 => /usr/lib/libncursesw.so.6
        libxml2.so.2 => /usr/lib/libxml2.so.2
            liblzma.so.5 => /usr/lib/liblzma.so.5
            libicuuc.so.73 => /usr/lib/libicuuc.so.73
                libicudata.so.73 => /usr/lib/libicudata.so.73
        libm.so.6 => /usr/lib/libm.so.6
    libstdc++.so.6 => /usr/lib/libstdc++.so.6
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
    libc.so.6 => /usr/lib/libc.so.6
    ld-linux-x86-64.so.2 => /usr/lib/ld-linux-x86-64.so.2

file /usr/lib/libclang.so.15.0.7 returns:

/usr/lib/libclang.so.15.0.7: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=641435ab11475be8ded710e23485ab1bf7155b23, stripped
twistedfall commented 11 months ago

Can you also share the output of the following commands?

lddtree /usr/lib/libLLVM-15.so
ldd /usr/lib/libLLVM-15.so
ldd /usr/lib/libclang.so.15.0.7

There is also a thread on Arch forums about a similar issue, maybe it can help? https://bbs.archlinux.org/viewtopic.php?id=263645

Generally this error is coming from the clang crate due to it being unable to locate libclang properly and the error message hints on the problems in your Arch installation. Googling does provide a number of hits specifically on Arch: https://www.google.com/search?q=libLLVM-15.so%3A+cannot+open+shared+object+file%3A+No+such+file+or+directory so it might be quite a common problem

skabber commented 11 months ago
lddtree /usr/lib/libLLVM-15.so
/usr/lib/libLLVM-15.so (interpreter => None)
    libffi.so.8 => /usr/lib/libffi.so.8
    libedit.so.0 => /usr/lib/libedit.so.0
    libz.so.1 => /usr/lib/libz.so.1
    libzstd.so.1 => /usr/lib/libzstd.so.1
    libncursesw.so.6 => /usr/lib/libncursesw.so.6
    libxml2.so.2 => /usr/lib/libxml2.so.2
        liblzma.so.5 => /usr/lib/liblzma.so.5
        libicuuc.so.73 => /usr/lib/libicuuc.so.73
            libicudata.so.73 => /usr/lib/libicudata.so.73
    libstdc++.so.6 => /usr/lib/libstdc++.so.6
    libm.so.6 => /usr/lib/libm.so.6
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
    libc.so.6 => /usr/lib/libc.so.6
    ld-linux-x86-64.so.2 => /usr/lib/ld-linux-x86-64.so.2
ldd /usr/lib/libLLVM-15.so
    linux-vdso.so.1 (0x00007ffd8b5e6000)
    libffi.so.8 => /usr/lib/libffi.so.8 (0x00007f7c17b1f000)
    libedit.so.0 => /usr/lib/libedit.so.0 (0x00007f7c17ae3000)
    libz.so.1 => /usr/lib/libz.so.1 (0x00007f7c17ac9000)
    libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007f7c1012d000)
    libncursesw.so.6 => /usr/lib/libncursesw.so.6 (0x00007f7c100b6000)
    libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007f7c0ff50000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f7c0fc00000)
    libm.so.6 => /usr/lib/libm.so.6 (0x00007f7c0fb13000)
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f7c0ff2b000)
    libc.so.6 => /usr/lib/libc.so.6 (0x00007f7c0f800000)
    /usr/lib64/ld-linux-x86-64.so.2 (0x00007f7c17b46000)
    liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f7c0fef8000)
    libicuuc.so.73 => /usr/lib/libicuuc.so.73 (0x00007f7c0f400000)
    libicudata.so.73 => /usr/lib/libicudata.so.73 (0x00007f7c0d400000)
ldd /usr/lib/libclang.so.15.0.7
    linux-vdso.so.1 (0x00007fffecfc3000)
    libLLVM-15.so => /usr/lib/libLLVM-15.so (0x00007f6519000000)
    libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f6518c00000)
    libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007f6522467000)
    libc.so.6 => /usr/lib/libc.so.6 (0x00007f6518800000)
    /usr/lib64/ld-linux-x86-64.so.2 (0x00007f65224a8000)
    libffi.so.8 => /usr/lib/libffi.so.8 (0x00007f652245c000)
    libedit.so.0 => /usr/lib/libedit.so.0 (0x00007f6522420000)
    libz.so.1 => /usr/lib/libz.so.1 (0x00007f6522404000)
    libzstd.so.1 => /usr/lib/libzstd.so.1 (0x00007f652092d000)
    libncursesw.so.6 => /usr/lib/libncursesw.so.6 (0x00007f6518f89000)
    libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00007f6518a9a000)
    libm.so.6 => /usr/lib/libm.so.6 (0x00007f6518e9c000)
    liblzma.so.5 => /usr/lib/liblzma.so.5 (0x00007f65208fa000)
    libicuuc.so.73 => /usr/lib/libicuuc.so.73 (0x00007f6518400000)
    libicudata.so.73 => /usr/lib/libicudata.so.73 (0x00007f6516400000)

I'll keep digging on Google but none of those have come up with a solution so far. I might move on and try a Ubuntu container.