Skip to content

opencv-rust breaks profiling scenarios #348

Closed
@montekki

Description

@montekki

Before reporting an issue please first check the
troubleshooting guide. If
the issue you're encountering is not solved thereby please state the following in your bugreport:

  1. Operating system: ubuntu 21.10
  2. The way you installed OpenCV: manual compilation
  3. OpenCV version: from ubuntu packages:
    Package: libopencv-core4.5
    Version: 4.5.3+dfsg-1ubuntu1
    New: yes
  4. rustc version (rustc --version): rustc 1.64.0-nightly (2f3ddd9f5 2022-06-27)

Trying to run the standard grcov workflow seems broken due to some dead code not being eliminated:

env CARGO_INCREMENTAL=0 RUSTFLAGS="-Zprofile -Ccodegen-units=1 -Copt-level=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Cpanic=abort"  RUSTDOCFLAGS="-Cpanic=abort" cargo test --all-features --no-fail-fast
 = note: /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.11xbdp47wnty2i45.rcgu.o: in function `opencv::opencv::hub::imgproc::bounding_rect':
          /tmp/opencv-rust/src/opencv/hub/imgproc.rs:2746: undefined reference to `cv_boundingRect_const__InputArrayR'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.11xbdp47wnty2i45.rcgu.o: in function `opencv::opencv::hub::imgproc::min_area_rect':
          /tmp/opencv-rust/src/opencv/hub/imgproc.rs:5790: undefined reference to `cv_minAreaRect_const__InputArrayR'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.11xbdp47wnty2i45.rcgu.o: in function `opencv::opencv::hub::imgproc::get_structuring_element':
          /tmp/opencv-rust/src/opencv/hub/imgproc.rs:5132: undefined reference to `cv_getStructuringElement_int_Size_Point'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.1wqrjlo7a4mr3vpi.rcgu.o: in function `opencv::opencv::hub::highgui::named_window':
          /tmp/opencv-rust/src/opencv/hub/highgui.rs:853: undefined reference to `cv_namedWindow_const_StringR_int'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.1wqrjlo7a4mr3vpi.rcgu.o: in function `opencv::opencv::hub::highgui::create_trackbar':
          /tmp/opencv-rust/src/opencv/hub/highgui.rs:524: undefined reference to `cv_createTrackbar_const_StringR_const_StringR_intX_int_TrackbarCallback_voidX'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.1wqrjlo7a4mr3vpi.rcgu.o: in function `opencv::opencv::hub::highgui::set_trackbar_pos':
          /tmp/opencv-rust/src/opencv/hub/highgui.rs:1207: undefined reference to `cv_setTrackbarPos_const_StringR_const_StringR_int'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.1wtqmdt5zd0woqn6.rcgu.o: in function `opencv::opencv::hub::aruco::DetectorParameters::create':
          /tmp/opencv-rust/src/opencv/hub/aruco.rs:1710: undefined reference to `cv_aruco_DetectorParameters_create'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.1wtqmdt5zd0woqn6.rcgu.o: in function `opencv::opencv::hub::aruco::DetectorParameters::default':
          /tmp/opencv-rust/src/opencv/hub/aruco.rs:1700: undefined reference to `cv_aruco_DetectorParameters_DetectorParameters'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.3nkvkx3dpia7qndu.rcgu.o: in function `opencv::opencv::hub::core::FileStorage::new':
          /tmp/opencv-rust/src/opencv/hub/core.rs:10285: undefined reference to `cv_FileStorage_FileStorage_const_StringR_int_const_StringR'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.3nkvkx3dpia7qndu.rcgu.o: in function `opencv::opencv::hub::core::_InputArray::from_mat':
          /tmp/opencv-rust/src/opencv/hub/core.rs:20484: undefined reference to `cv__InputArray__InputArray_const_MatR'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.3nkvkx3dpia7qndu.rcgu.o: in function `opencv::opencv::hub::core::use_optimized':
          /tmp/opencv-rust/src/opencv/hub/core.rs:7442: undefined reference to `cv_useOptimized'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.3nkvkx3dpia7qndu.rcgu.o: in function `opencv::opencv::hub::core::get_tick_count':
          /tmp/opencv-rust/src/opencv/hub/core.rs:3893: undefined reference to `cv_getTickCount'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.3nkvkx3dpia7qndu.rcgu.o: in function `opencv::opencv::hub::core::type_to_string':
          /tmp/opencv-rust/src/opencv/hub/core.rs:7419: undefined reference to `cv_typeToString_int'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.3nkvkx3dpia7qndu.rcgu.o: in function `opencv::opencv::hub::core::set_use_optimized':
          /tmp/opencv-rust/src/opencv/hub/core.rs:6945: undefined reference to `cv_setUseOptimized_bool'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.3nkvkx3dpia7qndu.rcgu.o: in function `opencv::opencv::hub::core::get_cpu_tick_count':
          /tmp/opencv-rust/src/opencv/hub/core.rs:3755: undefined reference to `cv_getCPUTickCount'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.3nkvkx3dpia7qndu.rcgu.o: in function `opencv::opencv::hub::core::get_number_of_cpus':
          /tmp/opencv-rust/src/opencv/hub/core.rs:3821: undefined reference to `cv_getNumberOfCPUs'
          /usr/bin/ld: /tmp/opencv-rust/target/debug/deps/marshalling-616d85a659d99857.3nkvkx3dpia7qndu.rcgu.o: in function `opencv::opencv::hub::core::get_tick_frequency':
          /tmp/opencv-rust/src/opencv/hub/core.rs:3913: undefined reference to `cv_getTickFrequency'

So in case the crate has opencv-rust as a dependency it cannot be profiled atm

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions