-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[opencv] add missing features to defaults and improve test matrix #42371
Conversation
I marked this as draft because the build is still broken in ways that do not appear to be baseline issues. Please feel free to un-draft when it's working :) |
can someone help me understand why is it failing? |
It seems that the CI error occurs in linux:
config-x64-linux-out (3).log Hope that helps。 :) |
yes thanks, the error is above that line
opencv now has a verification in place, that the feature you ask are then really activated. if not it errors, instead of silently building without that feature (which was a terrible behaviour, masking build reproducibility and any guarantee towards the library consumer). I admit i was concentrating on windows triplet. I was not able to obtain any log, just an error due to a cascade dependency failure which was very obscure. |
Maybe it is not the right point in time to deal with LAPACK here. (I worked on blas/openblas recently, after starting to look into lapacke. I think we might actually want to use BLAS, LAPACK and LAPACKE from openblas as a single lib, which is also expected by opencv's find modules.) |
I have personally given up using vcpkg to manage LAPACK and relevant packages. It's a headache. |
in fact i tried adding it to ci, verified it always fail and so I delisted lapack feature since it's non working. I don't plan to recover it in this PR. |
16964ed
to
dc0a2f1
Compare
|
same error in #42351. It's requiring attention for sure |
Might https://cmake.org/cmake/help/latest/policy/CMP0156.html#policy:CMP0156 help with the rtabmap regression? (Assuming CMake detects a "tradtional linker" on Linux.) |
could it be due to a bug in cmake 3.30? https://cmake.org/cmake/help/latest/release/3.31.html see release notes of 3.31 and how they modified exactly this feature you're talking about |
This has always been a little bit flaky with CMake. |
I cannot even reproduce the error locally to better diagnose and fix the error... |
trying this suggestion blindly in CI |
0048930
to
6828802
Compare
nope, the test failed. |
In any case, I would check the cmake trace that there is no unexpected |
i tried to add an explicit --trace-expand on the rtabmap port. Let's see the results. I'm lost if it is inconclusive on what to do to fix this regression, that as of today is blocking two PRs related to opencv (which might be at fault?) Any help is appreciated |
so here it is the broken command line that fails in ci (with spaces replaced with newlines to improve comparisons handling)
|
and here it is the same identical step on my machine:
|
this is the diff (- for the working step, + for the failing step) --- a/working.newlines.txt
+++ b/failing.newlines.txt
@@ -11,7 +11,7 @@
app/src/CMakeFiles/rtabmap_app.dir/main.cpp.o
-o
bin/rtabmap
--Wl,-rpath,/mnt/vcpkg-ci/installed/x64-linux/lib:
+-Wl,-rpath,/usr/local/cuda-12.1/targets/x86_64-linux/lib:/mnt/vcpkg-ci/installed/x64-linux/lib:
/mnt/vcpkg-ci/installed/x64-linux/lib/objects-Release/Widgets_resources_1/.qt/rcc/qrc_qstyle_init.cpp.o
/mnt/vcpkg-ci/installed/x64-linux/lib/objects-Release/Widgets_resources_2/.qt/rcc/qrc_qstyle1_init.cpp.o
/mnt/vcpkg-ci/installed/x64-linux/lib/objects-Release/Widgets_resources_3/.qt/rcc/qrc_qstyle_fusion_init.cpp.o
@@ -42,12 +42,10 @@ lib/librtabmap_utilite.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libopencv_videoio4.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgstbase-1.0.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgstreamer-1.0.a
-/usr/lib/x86_64-linux-gnu/libdl.a
+/usr/lib/x86_64-linux-gnu/libnsl.so
/mnt/vcpkg-ci/installed/x64-linux/lib/libgobject-2.0.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libffi.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgmodule-2.0.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libglib-2.0.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libpcre2-8.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgstapp-1.0.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgstriff-1.0.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgstaudio-1.0.a
@@ -56,12 +54,10 @@ lib/librtabmap_utilite.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgstvideo-1.0.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgstbase-1.0.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgstreamer-1.0.a
-/usr/lib/x86_64-linux-gnu/libdl.a
+/usr/lib/x86_64-linux-gnu/libnsl.so
/mnt/vcpkg-ci/installed/x64-linux/lib/libgobject-2.0.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libffi.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgmodule-2.0.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libglib-2.0.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libpcre2-8.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgstapp-1.0.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgstriff-1.0.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgstaudio-1.0.a
@@ -72,9 +68,51 @@ lib/librtabmap_utilite.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libavfilter.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libavformat.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libavcodec.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libpostproc.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libswresample.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libswscale.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libavutil.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libasound.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libSDL2.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libass.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libharfbuzz.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libpcre2-8.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libfribidi.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libfontconfig.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libexpat.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libfreetype.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libxml2.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libmodplug.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libopenmpt.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libvorbisfile.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libmpg123.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libsrt.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libssh.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libvpx.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libdav1d.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libsnappy.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libaom.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libfdk-aac.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libilbc.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libmp3lame.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libopenjp2.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libopus.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libspeex.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libtheoraenc.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libtheoradec.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libvorbisenc.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libvorbis.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libogg.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libx264.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libx265.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libopenh264.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libsoxr.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libmfx.a
+-lstdc++
+/mnt/vcpkg-ci/installed/x64-linux/lib/libOpenCL.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libssl.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libcrypto.a
+/usr/lib/x86_64-linux-gnu/libdl.a
-pthread
-latomic
/mnt/vcpkg-ci/installed/x64-linux/lib/libopencv_aruco4.a
@@ -107,28 +145,25 @@ lib/librtabmap_utilite.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgdcmuuid.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libjpeg.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libwebpdecoder.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libwebp.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libwebpdemux.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libwebpmux.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libsharpyuv.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libtiff.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/liblzma.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libjpeg.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libwebpdecoder.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libwebp.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libwebpdemux.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libtiff.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libwebpmux.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libwebp.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libsharpyuv.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libtiff.a
/mnt/vcpkg-ci/installed/x64-linux/lib/liblzma.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libzstd.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libLerc.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libdeflate.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libopenjp2.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libOpenEXR-3_3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libIlmThread-3_3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libIex-3_3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libOpenEXRCore-3_3.a
--lm
/mnt/vcpkg-ci/installed/x64-linux/lib/libImath-3_1.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libdeflate.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libopencv_dnn4.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libprotobuf.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libabsl_log_internal_check_op.a
@@ -225,20 +260,20 @@ lib/librtabmap_utilite.a
-lrt
/mnt/vcpkg-ci/installed/x64-linux/lib/manual-link/opencv4_thirdparty/libippiw.a
/mnt/vcpkg-ci/installed/x64-linux/lib/manual-link/opencv4_thirdparty/libippicv.a
-/usr/lib/x86_64-linux-gnu/libcudart_static.a
-/usr/lib/x86_64-linux-gnu/libnppial_static.a
-/usr/lib/x86_64-linux-gnu/libnppitc_static.a
-/usr/lib/x86_64-linux-gnu/libnppig_static.a
-/usr/lib/x86_64-linux-gnu/libnppist_static.a
-/usr/lib/x86_64-linux-gnu/libnppidei_static.a
-/usr/lib/x86_64-linux-gnu/libcublas_static.a
-/usr/lib/x86_64-linux-gnu/libcublasLt_static.a
-/usr/lib/x86_64-linux-gnu/libcufft.so
-/usr/lib/x86_64-linux-gnu/libnppif_static.a
-/usr/lib/x86_64-linux-gnu/libnppim_static.a
-/usr/lib/x86_64-linux-gnu/libnppicc_static.a
-/usr/lib/x86_64-linux-gnu/libnppc_static.a
-/usr/lib/x86_64-linux-gnu/libculibos.a
+/usr/local/cuda-12.1/targets/x86_64-linux/lib/libcudart_static.a
+/usr/local/cuda-12.1/targets/x86_64-linux/lib/libnppial_static.a
+/usr/local/cuda-12.1/targets/x86_64-linux/lib/libnppitc_static.a
+/usr/local/cuda-12.1/targets/x86_64-linux/lib/libnppig_static.a
+/usr/local/cuda-12.1/targets/x86_64-linux/lib/libnppist_static.a
+/usr/local/cuda-12.1/targets/x86_64-linux/lib/libnppidei_static.a
+/usr/local/cuda-12.1/targets/x86_64-linux/lib/libcublas_static.a
+/usr/local/cuda-12.1/targets/x86_64-linux/lib/libcublasLt_static.a
+/usr/local/cuda-12.1/targets/x86_64-linux/lib/libcufft.so
+/usr/local/cuda-12.1/targets/x86_64-linux/lib/libnppif_static.a
+/usr/local/cuda-12.1/targets/x86_64-linux/lib/libnppim_static.a
+/usr/local/cuda-12.1/targets/x86_64-linux/lib/libnppicc_static.a
+/usr/local/cuda-12.1/targets/x86_64-linux/lib/libnppc_static.a
+/usr/local/cuda-12.1/targets/x86_64-linux/lib/libculibos.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libpcl_surface.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libpcl_registration.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libpcl_segmentation.a
@@ -280,11 +315,13 @@ lib/librtabmap_utilite.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkFiltersExtraction-9.3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkFiltersStatistics-9.3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkParallelDIY-9.3.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkParallelCore-9.3.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkIOLegacy-9.3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkIOXML-9.3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkIOXMLParser-9.3.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkParallelMPI-9.3.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkParallelCore-9.3.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkIOLegacy-9.3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkIOCore-9.3.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libmpi.so
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkRenderingAnnotation-9.3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkRenderingContext2D-9.3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkRenderingFreeType-9.3.a
@@ -303,6 +340,10 @@ lib/librtabmap_utilite.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkmetaio-9.3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libtiff.a
/mnt/vcpkg-ci/installed/x64-linux/lib/liblzma.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libwebp.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libsharpyuv.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libLerc.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libdeflate.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkRenderingUI-9.3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkRenderingHyperTreeGrid-9.3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkFiltersHyperTree-9.3.a
@@ -324,8 +365,8 @@ lib/librtabmap_utilite.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libverdict.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libfmt.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libGLEW.a
-/usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/x86_64-linux-gnu/libGLU.so
+/usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/x86_64-linux-gnu/libSM.so
/usr/lib/x86_64-linux-gnu/libICE.so
/usr/lib/x86_64-linux-gnu/libXext.so
@@ -339,15 +380,19 @@ lib/librtabmap_utilite.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkkissfft-9.3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkCommonSystem-9.3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkCommonCore-9.3.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libvtktoken-9.3.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libvtktoken-9.3.so.9.3
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtkloguru-9.3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libvtksys-9.3.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libsqlite3.a
-/usr/lib/gcc/x86_64-linux-gnu/13/libgomp.so
+/usr/lib/gcc/x86_64-linux-gnu/11/libgomp.so
/usr/lib/x86_64-linux-gnu/libpthread.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libceres.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libglog.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libgflags.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/liblapack.a
+-lm
+/usr/lib/x86_64-linux-gnu/libgfortran.so.5
+/mnt/vcpkg-ci/installed/x64-linux/lib/libopenblas.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libQt6PrintSupport.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libQt6Widgets.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libQt6Gui.a
@@ -404,6 +449,7 @@ lib/librtabmap_utilite.a
/usr/lib/x86_64-linux-gnu/libGLX.so
/usr/lib/x86_64-linux-gnu/libOpenGL.so
/mnt/vcpkg-ci/installed/x64-linux/lib/libharfbuzz.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libglib-2.0.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libfontconfig.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libexpat.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libuuid.a
@@ -415,11 +461,11 @@ lib/librtabmap_utilite.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libbz2.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libpng16.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libfreetype.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libbz2.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libpng16.a
-/mnt/vcpkg-ci/installed/x64-linux/lib/libz.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libbrotlidec.a
/mnt/vcpkg-ci/installed/x64-linux/lib/libbrotlicommon.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libbz2.a
+/mnt/vcpkg-ci/installed/x64-linux/lib/libz.a
/usr/lib/x86_64-linux-gnu/libX11.so
/usr/lib/x86_64-linux-gnu/libxkbcommon.so
/usr/lib/x86_64-linux-gnu/libX11-xcb.so |
5d5f522
to
6797d88
Compare
cleaned up the history in order to ease the review |
0017-missing-include.patch | ||
0019-fix-tbb.patch | ||
0017-enable-gtk.patch | ||
0019-enable-pkgconf.patch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
rename to 0018?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are still two leading zeros. Who really cares? xD
The version DB fix requested has been done.
Thanks for the improvements! |
Fixes #42367
Fixes #42501
Closes #42598
Removes gtk feature from opencv2 since it depends on gtk2, unavailable now on vcpkg
Adds pkgconfig to properly handle some dependencies in all opencv versions
Removes lapack from all opencv versions since it is broken in the current vcpkg (any lapack source has been purged of lapacke)
A lot of additional work on rtabmap (all "find_package" calls moved to "required" in order to increase determinism + remove building of unnecessary tools in CI), triggered by a very strange non-reproducible regression
./vcpkg x-add-version --all
and committing the result.