Re: [meta-arago][master][PATCH 1/1] tensorflow-lite: fix undefined Abseil logging symbols in shared library
Pratham Deshmukh <[email protected]> Mon, 16 Mar 2026 12:57:19 +0530
| Newsgroups | org.yoctoproject.lists.meta-arago |
|---|---|
| Message-ID | <[email protected]> |
On 12/03/26 8:06 pm, Andrew Davis wrote: > On 3/12/26 9:19 AM, Pratham Deshmukh wrote: >> Add patch to resolve GStreamer pipeline failures when using >> TensorFlow Lite >> object detection models. The tensorflow2-lite NNStreamer plugin was >> failing >> to load due to missing Abseil logging symbols (_ZN4absl12lts_2025012712 >> log_internal9kCharNullE, >> _ZN4absl12lts_2025012712log_internal10LogMessage >> C1EPKciNS2_8ErrorTagE) in the libtensorflow-lite.so.2 shared library. >> > > You could demangle these symbols[0] to make them more readable here, > or just > not list them at all, the exact symbols that where missing can be seen in > the patch itself. > > Andrew > > [0] https://www.demangler.com/ > Understood. I'll ensure this in future patch submissions. Thanks. >> The fix adds missing Abseil logging targets to the CMake build system >> and >> links required logging libraries (log_internal_nullguard, >> log_internal_message, >> log_severity, raw_logging_internal) to ensure all symbols are >> available at >> runtime. >> >> Added Patch: >> - 0003-Fix-GStreamer-TensorFlow-Lite-pipeline-failures-due-.patch >> >> Signed-off-by: Pratham Deshmukh <[email protected]> >> --- >> ...nsorFlow-Lite-pipeline-failures-due-.patch | 62 +++++++++++++++++++ >> .../tensorflow-lite/tensorflow-lite_2.20.0.bb | 1 + >> 2 files changed, 63 insertions(+) >> create mode 100644 >> meta-arago-extras/recipes-framework/tensorflow-lite/tensorflow-lite/0003-Fix-GStreamer-TensorFlow-Lite-pipeline-failures-due-.patch >> >> diff --git >> a/meta-arago-extras/recipes-framework/tensorflow-lite/tensorflow-lite/0003-Fix-GStreamer-TensorFlow-Lite-pipeline-failures-due-.patch >> b/meta-arago-extras/recipes-framework/tensorflow-lite/tensorflow-lite/0003-Fix-GStreamer-TensorFlow-Lite-pipeline-failures-due-.patch >> >> new file mode 100644 >> index 00000000..f286018f >> --- /dev/null >> +++ >> b/meta-arago-extras/recipes-framework/tensorflow-lite/tensorflow-lite/0003-Fix-GStreamer-TensorFlow-Lite-pipeline-failures-due-.patch >> @@ -0,0 +1,62 @@ >> +From 0e6c2c6d0911897e38f54dd0739e13ea15ccedd8 Mon Sep 17 00:00:00 2001 >> +From: Pratham Deshmukh <[email protected]> >> +Date: Thu, 12 Mar 2026 16:50:33 +0530 >> +Subject: [PATCH] Fix GStreamer TensorFlow Lite pipeline failures due to >> + missing Abseil logging symbols >> + >> +When running GStreamer pipelines with TensorFlow Lite object >> detection [0] >> + >> +The pipeline failed with undefined symbol errors: >> + undefined symbol: _ZN4absl12lts_2025012712log_internal9kCharNullE >> + undefined symbol: >> _ZN4absl12lts_2025012712log_internal10LogMessageC1EPKciNS2_8ErrorTagE >> + >> +TensorFlow Lite shared library was missing Abseil logging >> +components that are required at runtime but weren't being linked >> during build. >> + >> +Add missing Abseil logging targets (log_internal_message, >> log_internal_nullguard) >> +to the Findabsl.cmake module and link the required Abseil logging >> libraries in the >> +tensorflow-lite target, including absl::log_internal_nullguard for >> the kCharNull >> +symbol, absl::log_internal_message for the LogMessage constructor, >> and absl::log_severity >> +and absl::raw_logging_internal for base logging support. >> + >> +[0] >> https://texasinstruments.github.io/processor-sdk-doc/processor-sdk-linux-AM62X/esd/docs/master/linux/Foundational_Components/Machine_Learning/tflite.html#example-applications >> + >> +Upstream-Status: Pending >> + >> +Signed-off-by: Pratham Deshmukh <[email protected]> >> +--- >> + tensorflow/lite/CMakeLists.txt | 4 ++++ >> + tensorflow/lite/tools/cmake/modules/Findabsl.cmake | 2 ++ >> + 2 files changed, 6 insertions(+) >> + >> +diff --git a/tensorflow/lite/CMakeLists.txt >> b/tensorflow/lite/CMakeLists.txt >> +index 7e0004ef..8c43fdac 100644 >> +--- a/tensorflow/lite/CMakeLists.txt >> ++++ b/tensorflow/lite/CMakeLists.txt >> +@@ -732,6 +732,10 @@ target_link_libraries(tensorflow-lite >> + absl::strings >> + absl::synchronization >> + absl::variant >> ++ absl::log_internal_nullguard >> ++ absl::log_severity >> ++ absl::raw_logging_internal >> ++ absl::log_internal_message >> + farmhash >> + fft2d_fftsg2d >> + flatbuffers::flatbuffers >> +diff --git a/tensorflow/lite/tools/cmake/modules/Findabsl.cmake >> b/tensorflow/lite/tools/cmake/modules/Findabsl.cmake >> +index 75041749..685b851b 100644 >> +--- a/tensorflow/lite/tools/cmake/modules/Findabsl.cmake >> ++++ b/tensorflow/lite/tools/cmake/modules/Findabsl.cmake >> +@@ -99,6 +99,8 @@ if(abseil-cpp_POPULATED) >> + leak_check_api_enabled_for_testing >> + leak_check_disable >> + log_severity >> ++ log_internal_message >> ++ log_internal_nullguard >> + main_lib >> + malloc_internal >> + memory >> +-- >> +2.34.1 >> + >> diff --git >> a/meta-arago-extras/recipes-framework/tensorflow-lite/tensorflow-lite_2.20.0.bb >> b/meta-arago-extras/recipes-framework/tensorflow-lite/tensorflow-lite_2.20.0.bb >> >> index 43562303..ee445e75 100644 >> --- >> a/meta-arago-extras/recipes-framework/tensorflow-lite/tensorflow-lite_2.20.0.bb >> +++ >> b/meta-arago-extras/recipes-framework/tensorflow-lite/tensorflow-lite_2.20.0.bb >> @@ -16,6 +16,7 @@ SRC_URI = " \ >> git://github.com/tensorflow/tensorflow.git;protocol=https;branch=r2.20 \ >> file://0001-Update-CMakeLists-for-building.patch \ >> file://0002-Update-CMakeLists-for-building-shared-object.patch \ >> + >> file://0003-Fix-GStreamer-TensorFlow-Lite-pipeline-failures-due-.patch \ >> file://tensorflow2-lite.pc.in \ >> " >