How to add new abseil-cpp to image ? Please convert this layer/metadata

I try add newer abseil-cpp to image abseil-cpp-20230802.1
and replace old abseil-cpp-20211102.0

version old builds without problems
in new I have error

ERROR: abseil-cpp-20230802.1-r0 do_package: Variable Requires: absl_config = 20230802, absl_core_headers = 20230802, absl_log_internal_append_truncated = 20230802, absl_log_internal_config = 20230802, absl_log_internal_globals = 20230802, absl_log_severity = 20230802, absl_strings = 20230802, absl_str_format = 20230802, absl_time = 20230802, absl_span  contains an operation using the old override syntax. Please convert this layer/metadata before attempting to use with a newer bitbake.
ERROR: Logfile of failure stored in: /home/max/toradex/oe-core/build/tmp/work/cortexa35-tdx-linux/abseil-cpp/20230802.1-r0/temp/log.do_package.262871
ERROR: Task (/home/max/toradex/meta-dram-iscan3/recipes-bsp/abseil-cpp/abseil-cpp_git.bb:do_package) failed with exit code '1'

Please convert this layer/metadata before attempting to use with a newer bitbake.

I don’t know where to look for fix this problem

old and new .bb have only changed GIT SHA
but error suggests ==> the problem is with bitbake

Hi @MariusM ,

This problem looks related to syntax changes in recipes that are in newer Yocto versions, specifically about override syntax changes, as shown here:

What version of the Yocto Project Release are you working with? Also, about the updated recipe you’re trying to use, which Yocto version was it made for?

Keep in mind that using a different Yocto version than the one the recipe was originally developed for usually requires adapting the recipe, and this isn’t always a straightforward process.

Best regards,
Lucas Akira

@lucas_a.tx Thank you for your suggestions, I tried to go this route but it didn’t help

But I found solution: This commit break build:

How to fix it:

  • revert change 615f2147028688b5e36f159ccd2958552488215c in file absl/log/CMakeLists.txt
diff --git a/absl/log/CMakeLists.txt b/absl/log/CMakeLists.txt
index 9320ce59..20fb2101 100644
--- a/absl/log/CMakeLists.txt
+++ b/absl/log/CMakeLists.txt
@@ -113,7 +113,7 @@ absl_cc_library(
   DEPS
     absl::config
     absl::core_headers
-    absl::log_internal_append_truncated
+#    absl::log_internal_append_truncated
     absl::log_internal_config
     absl::log_internal_globals
     absl::log_severity
@@ -196,7 +196,7 @@ absl_cc_library(
     absl::errno_saver
     absl::inlined_vector
     absl::examine_stack
-    absl::log_internal_append_truncated
+#    absl::log_internal_append_truncated
     absl::log_internal_format
     absl::log_internal_globals
     absl::log_internal_proto
@@ -373,21 +373,21 @@ absl_cc_library(
     absl::config
 )

-absl_cc_library(
-  NAME
-    log_internal_append_truncated
-  SRCS
-  HDRS
-    "internal/append_truncated.h"
-  COPTS
-    ${ABSL_DEFAULT_COPTS}
-  LINKOPTS
-    ${ABSL_DEFAULT_LINKOPTS}
-  DEPS
-    absl::config
-    absl::strings
-    absl::span
-)
+#absl_cc_library(
+#  NAME
+#    log_internal_append_truncated
+#  SRCS
+#  HDRS
+#    "internal/append_truncated.h"
+#  COPTS
+#    ${ABSL_DEFAULT_COPTS}
+#  LINKOPTS
+#    ${ABSL_DEFAULT_LINKOPTS}
+#  DEPS
+#    absl::config
+#    absl::strings
+#    absl::span
+#)

 # Public targets
 absl_cc_library(

1 Like

Fun fact
Just change log_internal_append_truncated ==> log_internal_ppend_truncated
and everything works

The problem is caused by append in library name :smile:

1 Like

Hi @MariusM ,

Glad you were able to solve the problem!

The problem is caused by append in library name :smile:

I think you’re on point here. Yocto is considering the _append parts in the source files append overrides. As newer Yocto releases changed the override syntax to be :append instead of _append it’s trying to correct the recipe. First time I’ve seen a Yocto error like this, so that’s very interesting to know.

Thank you for sharing your solution. I’m sure this will be useful to other customers.

Best regards,
Lucas Akira

1 Like

One more thing: You can also consider bringing up this issue upstream to the meta-openembedded maintainers, it might be a bug related with Yocto/Bitbake.

Best regards,
Lucas Akira

I thought about it !
But I don’t know how to create a simple example showing error.
My level of knowledge in bitbake is too low.
I know how to build/modify a Toradex image but I don’t know how to create everything from scratch.