Undefined references to absl functions cause OpenCV v4.10 to build failing; protobuf v4.25.3 and abseil-cpp v20140116.1 were used as dependencies.
OpenCV version: 4.10.0
Operating System / Platform: Rhel v9.3
Compiler & compiler version: GCC 13.3.1
/opt/rh/gcc-toolset-13/root/usr/libexec/gcc/ppc64le-redhat-linux/13/ld: tf_importer.cpp:(.text._ZN2cv3dnn14dnn4_v2024052112_GLOBAL__N_1L13addConstNodesERN17opencv_tensorflow8GraphDefERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessISC_ESaISt4pairIKSC_iEEERSt3setISC_SE_SaISC_EE+0x6d4): undefined reference to `absl::lts_20240116::log_internal::LogMessage::operator<<(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/opt/rh/gcc-toolset-13/root/usr/libexec/gcc/ppc64le-redhat-linux/13/ld: tf_importer.cpp:(.text._ZN2cv3dnn14dnn4_v2024052112_GLOBAL__N_1L13addConstNodesERN17opencv_tensorflow8GraphDefERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessISC_ESaISt4pairIKSC_iEEERSt3setISC_SE_SaISC_EE+0x704): undefined reference to `absl::lts_20240116::log_internal::LogMessageFatal::~LogMessageFatal()'
/opt/rh/gcc-toolset-13/root/usr/libexec/gcc/ppc64le-redhat-linux/13/ld: tf_importer.cpp:(.text._ZN2cv3dnn14dnn4_v2024052112_GLOBAL__N_1L13addConstNodesERN17opencv_tensorflow8GraphDefERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessISC_ESaISt4pairIKSC_iEEERSt3setISC_SE_SaISC_EE+0x9a8): undefined reference to `absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, std::basic_string_view<char, std::char_traits<char> >)'
/opt/rh/gcc-toolset-13/root/usr/libexec/gcc/ppc64le-redhat-linux/13/ld: tf_importer.cpp:(.text._ZN2cv3dnn14dnn4_v2024052112_GLOBAL__N_1L13addConstNodesERN17opencv_tensorflow8GraphDefERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessISC_ESaISt4pairIKSC_iEEERSt3setISC_SE_SaISC_EE+0x9e0): undefined reference to `absl::lts_20240116::log_internal::LogMessage::operator<<(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/opt/rh/gcc-toolset-13/root/usr/libexec/gcc/ppc64le-redhat-linux/13/ld: tf_importer.cpp:(.text._ZN2cv3dnn14dnn4_v2024052112_GLOBAL__N_1L13addConstNodesERN17opencv_tensorflow8GraphDefERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessISC_ESaISt4pairIKSC_iEEERSt3setISC_SE_SaISC_EE+0x1554): undefined reference to `absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, std::basic_string_view<char, std::char_traits<char> >)'
/opt/rh/gcc-toolset-13/root/usr/libexec/gcc/ppc64le-redhat-linux/13/ld: tf_importer.cpp:(.text._ZN2cv3dnn14dnn4_v2024052112_GLOBAL__N_1L13addConstNodesERN17opencv_tensorflow8GraphDefERSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEiSt4lessISC_ESaISt4pairIKSC_iEEERSt3setISC_SE_SaISC_EE+0x158c): undefined reference to `absl::lts_20240116::log_internal::LogMessage::operator<<(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
tf_importer.cpp:(.text._ZN2cv3dnn14dnn4_v2024052114writeTextGraphERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_+0x66c): undefined reference to `absl::lts_20240116::log_internal::LogMessageFatal::LogMessageFatal(char const*, int, std::basic_string_view<char, std::char_traits<char> >)'
/opt/rh/gcc-toolset-13/root/usr/libexec/gcc/ppc64le-redhat-linux/13/ld: tf_importer.cpp:(.text._ZN2cv3dnn14dnn4_v2024052114writeTextGraphERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_+0x6a8): undefined reference to `absl::lts_20240116::log_internal::LogMessage::operator<<(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
/opt/rh/gcc-toolset-13/root/usr/libexec/gcc/ppc64le-redhat-linux/13/ld: tf_importer.cpp:(.text._ZN2cv3dnn14dnn4_v2024052114writeTextGraphERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES9_+0x6d4): undefined reference to `absl::lts_20240116::log_internal::LogMessageFatal::~LogMessageFatal()'
/opt/rh/gcc-toolset-13/root/usr/libexec/gcc/ppc64le-redhat-linux/13/ld: modules/dnn/CMakeFiles/opencv_dnn.dir/src/tensorflow/tf_graph_simplifier.cpp.o:(.toc+0x18): undefined reference to `absl::lts_20240116::hash_internal::MixingHashState::kSeed'
tf_graph_simplifier.cpp:(.text._ZN4absl12lts_2024011612log_internal10LogMessagelsILi16EEERS2_RAT__Kc[_ZN4absl12lts_2024011612log_internal10LogMessagelsILi16EEERS2_RAT__Kc]+0x3c): undefined reference to `void absl::lts_20240116::log_internal::LogMessage::CopyToEncodedBuffer<(absl::lts_20240116::log_internal::LogMessage
following flags are set during cmake build
cmake -LAH -G "Ninja" \
-DCMAKE_BUILD_TYPE="Release" \
-DCMAKE_CXX_STANDARD=17 \
-DCMAKE_INSTALL_LIBDIR="lib" \
-DOPENCV_DOWNLOAD_PARAMS=INACTIVITY_TIMEOUT\;30\;TIMEOUT\;180\;SHOW_PROGRESS \
-DOPENCV_GENERATE_PKGCONFIG=ON \
-DENABLE_CONFIG_VERIFICATION=ON \
-DENABLE_PRECOMPILED_HEADERS=ON \
-DWITH_LAPACK=0 \
-DHAVE_LAPACK=0 \
-DWITH_EIGEN=0 \
-DBUILD_TESTS=0 \
-DBUILD_DOCS=0 \
-DBUILD_PERF_TESTS=0 \
-DBUILD_ZLIB=0 \
-DBUILD_TIFF=0 \
-DBUILD_PNG=0 \
-DBUILD_OPENEXR=1 \
-DBUILD_JASPER=0 \
-DBUILD_JPEG=0 \
-DBUILD_PROTOBUF=0 \
-DWITH_PROTOBUF=1 \
-DWITH_V4L=$V4L \
-DBUILD_LIBPROTOBUF_FROM_SOURCES=0 \
-DWITH_OPENCL=0 \
-DWITH_OPENCLAMDFFT=0 \
-DWITH_OPENCLAMDBLAS=0 \
-DWITH_OPENCL_D3D11_NV=0 \
-DWITH_1394=0 \
-DWITH_CARBON=0 \
-DWITH_OPENNI=0 \
-DWITH_FFMPEG=0 \
-DHAVE_FFMPEG=0 \
-DWITH_JASPER=0 \
-DWITH_VA=0 \
-DWITH_VA_INTEL=0 \
-DWITH_GSTREAMER=0 \
-DWITH_MATLAB=0 \
-DWITH_TESSERACT=0 \
-DWITH_VTK=0 \
-DWITH_GTK=0 \
-DWITH_QT=0 \
-DWITH_GPHOTO2=0 \
-DINSTALL_C_EXAMPLES=0 \
-DOPENCV_EXTRA_MODULES_PATH="../opencv_contrib/modules" \
-DCMAKE_SKIP_RPATH:bool=ON \
-DBUILD_opencv_sfm:bool=OFF \
-DOPENCV_SKIP_PYTHON_LOADER=1 \
-DPROTOBUF_UPDATE_FILES=ON \
-DWITH_OPENMP=ON \
-DPROTOBUF_INCLUDE_DIR=${PROTOBUF_PREFIX}/include \
-DPROTOBUF_LIBRARY=${PROTOBUF_PREFIX}/lib64/libprotobuf.so \
-DPROTOBUF_PROTOC_EXECUTABLE=${PROTOBUF_PREFIX}/bin/protoc \
-DProtobuf_PROTOC_EXECUTABLE=${PROTOBUF_PREFIX}/bin/protoc \
-DCMAKE_INSTALL_PREFIX=${PREFIX} \
..
ninja install -v