diff mbox series

[meta-tensorflow] tensorflow-lite: don't install flatbuffers header files

Message ID 20260401053022.96757-1-martin.jansa@gmail.com
State New
Headers show
Series [meta-tensorflow] tensorflow-lite: don't install flatbuffers header files | expand

Commit Message

Martin Jansa April 1, 2026, 5:30 a.m. UTC
From: Martin Jansa <martin.jansa@gmail.com>

https://lists.yoctoproject.org/g/yocto-patches/message/2186
breaks a build for recipes which depend on both tensorflow-lite and flatbuffers because of conflicts in RSS as in:
ERROR: foo-1.0-r0 do_prepare_recipe_sysroot: The file /usr/include/flatbuffers/array.h is installed by both tensorflow-lite and flatbuffers, aborting

Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
---
 recipes-framework/tensorflow/tensorflow-lite_2.21.0.bb | 7 -------
 1 file changed, 7 deletions(-)

Comments

Hongxu Jia April 1, 2026, 5:34 a.m. UTC | #1
On 4/1/26 13:30, martin.jansa@gmail.com wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> From: Martin Jansa <martin.jansa@gmail.com>
>
> https://lists.yoctoproject.org/g/yocto-patches/message/2186
> breaks a build for recipes which depend on both tensorflow-lite and flatbuffers because of conflicts in RSS as in:
> ERROR: foo-1.0-r0 do_prepare_recipe_sysroot: The file /usr/include/flatbuffers/array.h is installed by both tensorflow-lite and flatbuffers, aborting
>
> Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
> ---
>   recipes-framework/tensorflow/tensorflow-lite_2.21.0.bb | 7 -------
>   1 file changed, 7 deletions(-)
>
> diff --git a/recipes-framework/tensorflow/tensorflow-lite_2.21.0.bb b/recipes-framework/tensorflow/tensorflow-lite_2.21.0.bb
> index 41646df..4951fbc 100644
> --- a/recipes-framework/tensorflow/tensorflow-lite_2.21.0.bb
> +++ b/recipes-framework/tensorflow/tensorflow-lite_2.21.0.bb
> @@ -123,13 +123,6 @@ do_install() {
>           install -D -m 0644 $header ${D}${includedir}/$header
>       done
>       cd -
> -
> -    cd ${WORKDIR}/bazel/output_base/external/flatbuffers/include
> -    for header in `find ./flatbuffers -type f`; do
> -        install -D -m 0644 $header ${D}${includedir}/$header
> -    done
> -    cd -
> -
>       # header installation done
>
>       #echo "Installing pip package"

Merged

//Hongxu
Martin Jansa April 1, 2026, 1:20 p.m. UTC | #2
On Wed, Apr 1, 2026 at 7:34 AM Hongxu Jia <hongxu.jia@windriver.com> wrote:
>
> On 4/1/26 13:30, martin.jansa@gmail.com wrote:
> > CAUTION: This email comes from a non Wind River email account!
> > Do not click links or open attachments unless you recognize the sender and know the content is safe.
> >
> > From: Martin Jansa <martin.jansa@gmail.com>
> >
> > https://lists.yoctoproject.org/g/yocto-patches/message/2186
> > breaks a build for recipes which depend on both tensorflow-lite and flatbuffers because of conflicts in RSS as in:
> > ERROR: foo-1.0-r0 do_prepare_recipe_sysroot: The file /usr/include/flatbuffers/array.h is installed by both tensorflow-lite and flatbuffers, aborting
> >
> > Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
> > ---
> >   recipes-framework/tensorflow/tensorflow-lite_2.21.0.bb | 7 -------
> >   1 file changed, 7 deletions(-)
>
> Merged
>
> //Hongxu

Thank you for quick update.

With newer ubuntu on host I'm seeing one more issue with bazel-native,
will send a patch or more details when I figure out what's wrong, but
it fails with ubuntu-25.04 and newer while in ubuntu-24.04 and 24.10
it built bazel-native fine.

I'm sharing it now just in case you've already seen this issue and
might have some pending fix already.

The log from 24.04 doesn't show "Linking src/main/cpp/util/libport.a"
at all, so I guess it's util:port dependency somehow not required, but
I'm still searching why (in all that bazel output which is a bit
confusing to me :)).

Regards,

tmp/work/x86_64-linux/bazel-native/7.7.0/sources/src/main/cpp/util/BUILD:95:11:
Linking src/main/cpp/util/libport.a failed: (Exit 1): ar failed: error
executing CppArchive command (from target //src/main/cpp/util:port)
  (cd tmp/bazel/bazel_EExPgtfN/out/execroot/_main && \
  exec env - \
    PATH=oe-core/scripts/native-intercept:tmp/work/x86_64-linux/bazel-native/7.7.0/recipe-sysroot-native/usr/bin/python3-native:oe-core/scripts:tmp/work/x86_64-linux/bazel-native/7.7.0/recipe-sysroot-native/usr/bin/x86_64-linux:tmp/work/x86_64-linux/bazel-native/7.7.0/recipe-sysroot-native/usr/bin:tmp/work/x86_64-linux/bazel-native/7.7.0/recipe-sysroot-native/usr/sbin:tmp/work/x86_64-linux/bazel-native/7.7.0/recipe-sysroot-native/usr/bin:tmp/work/x86_64-linux/bazel-native/7.7.0/recipe-sysroot-native/sbin:tmp/work/x86_64-linux/bazel-native/7.7.0/recipe-sysroot-native/bin:bitbake/bin:tmp/hosttools
\
    PWD=/proc/self/cwd \
    ZERO_AR_DATE=1 \
  oe-core/scripts/native-intercept/ar
@bazel-out/k8-opt/bin/src/main/cpp/util/libport.a-2.params)
# Configuration:
d26135a3254147264e37dd42dcbe81f92695ccaa36573733091ed4b195d3bf62
# Execution platform: //:default_host_platform
oe-core/scripts/native-intercept/ar: invalid option -- '@'
Usage: oe-core/scripts/native-intercept/ar [emulation options]
[-]{dmpqrstx}[abcDfilMNoOPsSTuvV] [--plugin <name>] [member-name]
[count] archive-file file...
       oe-core/scripts/native-intercept/ar -M [<mri-script]
Martin Jansa April 3, 2026, 9:06 p.m. UTC | #3
On Wed, Apr 1, 2026 at 3:21 PM Martin Jansa via lists.yoctoproject.org
<martin.jansa=gmail.com@lists.yoctoproject.org> wrote:
>
> On Wed, Apr 1, 2026 at 7:34 AM Hongxu Jia <hongxu.jia@windriver.com> wrote:
> >
> > On 4/1/26 13:30, martin.jansa@gmail.com wrote:
> > > CAUTION: This email comes from a non Wind River email account!
> > > Do not click links or open attachments unless you recognize the sender and know the content is safe.
> > >
> > > From: Martin Jansa <martin.jansa@gmail.com>
> > >
> > > https://lists.yoctoproject.org/g/yocto-patches/message/2186
> > > breaks a build for recipes which depend on both tensorflow-lite and flatbuffers because of conflicts in RSS as in:
> > > ERROR: foo-1.0-r0 do_prepare_recipe_sysroot: The file /usr/include/flatbuffers/array.h is installed by both tensorflow-lite and flatbuffers, aborting
> > >
> > > Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
> > > ---
> > >   recipes-framework/tensorflow/tensorflow-lite_2.21.0.bb | 7 -------
> > >   1 file changed, 7 deletions(-)
> >
> > Merged
> >
> > //Hongxu
>
> Thank you for quick update.
>
> With newer ubuntu on host I'm seeing one more issue with bazel-native,
> will send a patch or more details when I figure out what's wrong, but
> it fails with ubuntu-25.04 and newer while in ubuntu-24.04 and 24.10
> it built bazel-native fine.
>
> I'm sharing it now just in case you've already seen this issue and
> might have some pending fix already.
>
> The log from 24.04 doesn't show "Linking src/main/cpp/util/libport.a"
> at all, so I guess it's util:port dependency somehow not required, but
> I'm still searching why (in all that bazel output which is a bit
> confusing to me :)).

Thank you for merging those small cleanups for bazel recipe.

Maybe you've noticed the fix for this "ar" issue as well:
https://lists.openembedded.org/g/openembedded-core/message/234468

Now with a lot more debugging I also know why only ubuntu-26.04 called ar
while ubuntu-24.04 didn't and it boils down to detected features, mostly
supports_start_end_lib in gold linker preferred by bazel in 24.04:

work/x86_64-linux/bazel-native/7.7.0/sources $ diff -uNr
/OE/lge/.cache/bazel/_bazel_bitbake/*/external/rules_cc~~cc_configure_extension~local_config_cc/BUILD
--- /OE/lge/.cache/bazel/_bazel_bitbake/0e259dd960791f8b4e31fbc469f19299/external/rules_cc~~cc_configure_extension~local_config_cc/BUILD
       2026-04-03 20:55:30.662177841 +0200
+++ /OE/lge/.cache/bazel/_bazel_bitbake/a47ed104727c1f493f7aa830ae20096b/external/rules_cc~~cc_configure_extension~local_config_cc/BUILD
       2026-04-03 21:03:44.814557111 +0200
@@ -111,13 +111,13 @@
     target_libc = "local",
     abi_version = "local",
     abi_libc_version = "local",
-    cxx_builtin_include_directories =
["/usr/lib/gcc/x86_64-linux-gnu/13/include",
+    cxx_builtin_include_directories =
["/usr/lib/gcc/x86_64-linux-gnu/15/include",
     "/usr/local/include",
     "/usr/include/x86_64-linux-gnu",
     "/usr/include",
-    "/usr/include/c++/13",
-    "/usr/include/x86_64-linux-gnu/c++/13",
-    "/usr/include/c++/13/backward",
+    "/usr/include/c++/15",
+    "/usr/include/x86_64-linux-gnu/c++/15",
+    "/usr/include/c++/15/backward",
     "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk"],
     tool_paths = {"ar": "/usr/bin/ar",
         "ld": "/usr/bin/ld",
@@ -147,8 +147,7 @@
     dbg_compile_flags = ["-g"],
     conly_flags = [],
     cxx_flags = ["-std=c++17"],
-    link_flags = ["-fuse-ld=gold",
-    "-B/usr/bin",
+    link_flags = ["-B/usr/bin",
     "-Wl,-no-as-needed",
     "-Wl,-z,relro,-z,now",
     "-pass-exit-codes"],
@@ -166,7 +165,7 @@
     "-D__TIME__=\"redacted\""],
     coverage_compile_flags = ["--coverage"],
     coverage_link_flags = ["--coverage"],
-    supports_start_end_lib = True,
+    supports_start_end_lib = False,
     extra_flags_per_feature = {},
 )

And then linking e.g.
bazel-out/k8-fastbuild/bin/src/main/native/libunix_jni.so was on 24.04
using .o files directly with "-Wl,--start-lib .../*.pic.o
-Wl,--end-lib" while on 26.04 it was calling ar to create .a files
first.

24.04:
action 'Linking src/main/native/libunix_jni.so'
  Mnemonic: CppLink
  Target: //src/main/native:libunix_jni.so
  Configuration: k8-fastbuild
  Execution platform: //:default_host_platform
  ActionKey: d581ae102ab4782b26755373f49cb81a01b48d113e4cb7e31b4e876667acc6eb
  Inputs: [bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3.pic.o,
\
    bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_avx2_x86-64_unix.pic.o,
\
    bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_avx512_x86-64_unix.pic.o,
\
    bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_dispatch.pic.o,
\
    bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_portable.pic.o,
\
    bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_sse2_x86-64_unix.pic.o,
\
    bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_sse41_x86-64_unix.pic.o,
\
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/logging/logging.pic.o, \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/md5/md5.pic.o, \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/port/port.pic.o, \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/strings/strings.pic.o, \
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/blake3_jni/blake3_jni.pic.o,
\
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/latin1_jni_path/latin1_jni_path.pic.o,
\
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/process.pic.o,
\
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni.pic.o,
\
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni_linux.pic.o,
\
    bazel-out/k8-fastbuild/bin/src/main/native/libunix_jni.so-2.params, \
    external/bazel_tools/tools/cpp/build_interface_so, \
    external/bazel_tools/tools/cpp/link_dynamic_library.sh, \
    external/rules_cc~~cc_configure_extension~local_config_cc/builtin_include_directory_paths,
\
    external/rules_cc~~cc_configure_extension~local_config_cc/cc_wrapper.sh, \
    external/rules_cc~~cc_configure_extension~local_config_cc/deps_scanner_wrapper.sh,
\
    external/rules_cc~~cc_configure_extension~local_config_cc/validate_static_library.sh]
  Outputs: [bazel-out/k8-fastbuild/bin/src/main/native/libunix_jni.so]
  Command Line: (exec /usr/bin/gcc \
    -shared \
    -o \
    bazel-out/k8-fastbuild/bin/src/main/native/libunix_jni.so \
    -Wl,-S \
    '-fuse-ld=gold' \
    -B/usr/bin \
    -Wl,-no-as-needed \
    -Wl,-z,relro,-z,now \
    -pass-exit-codes \
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/process.pic.o
\
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni.pic.o
\
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni_linux.pic.o
\
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/blake3_jni/blake3_jni.pic.o
\
    -Wl,--start-lib \
    bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3.pic.o \
    bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_dispatch.pic.o
\
    bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_portable.pic.o
\
    bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_avx2_x86-64_unix.pic.o
\
    bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_avx512_x86-64_unix.pic.o
\
    bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_sse2_x86-64_unix.pic.o
\
    bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_sse41_x86-64_unix.pic.o
\
    -Wl,--end-lib \
    -Wl,--start-lib \
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/latin1_jni_path/latin1_jni_path.pic.o
\
    -Wl,--end-lib \
    -Wl,--start-lib \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/logging/logging.pic.o \
    -Wl,--end-lib \
    -Wl,--start-lib \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/strings/strings.pic.o \
    -Wl,--end-lib \
    -Wl,--start-lib \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/md5/md5.pic.o \
    -Wl,--end-lib \
    -Wl,--start-lib \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/port/port.pic.o \
    -Wl,--end-lib \
    -Wl,--push-state,-as-needed \
    -lstdc++ \
    -Wl,--pop-state \
    -Wl,--push-state,-as-needed \
    -lm \
    -Wl,--pop-state)
# Configuration:
7986f41e68c0f8695304d476c9d739fc4489b6ae519d039e958db1eb026d1faa
# Execution platform: //:default_host_platform

26.04:
action 'Linking src/main/native/libunix_jni.so'
  Mnemonic: CppLink
  Target: //src/main/native:libunix_jni.so
  Configuration: k8-fastbuild
  Execution platform: //:default_host_platform
  ActionKey: 7fd7cf007954470fff795125ded88171fc21fb1c446fe65adb18abfa40564ce8
  Inputs: [bazel-out/k8-fastbuild/bin/external/blake3~/libblake3.a, \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/liblogging.a, \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/libmd5.a, \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/libport.a, \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/libstrings.a, \
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/process.pic.o,
\
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni.pic.o,
\
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni_linux.pic.o,
\
    bazel-out/k8-fastbuild/bin/src/main/native/libblake3_jni.lo, \
    bazel-out/k8-fastbuild/bin/src/main/native/liblatin1_jni_path.a, \
    bazel-out/k8-fastbuild/bin/src/main/native/libunix_jni.so-2.params, \
    external/bazel_tools/tools/cpp/build_interface_so, \
    external/bazel_tools/tools/cpp/link_dynamic_library.sh, \
    external/rules_cc~~cc_configure_extension~local_config_cc/builtin_include_directory_paths,
\
    external/rules_cc~~cc_configure_extension~local_config_cc/cc_wrapper.sh, \
    external/rules_cc~~cc_configure_extension~local_config_cc/deps_scanner_wrapper.sh,
\
    external/rules_cc~~cc_configure_extension~local_config_cc/validate_static_library.sh]
  Outputs: [bazel-out/k8-fastbuild/bin/src/main/native/libunix_jni.so]
  Command Line: (exec /usr/bin/gcc \
    -shared \
    -o \
    bazel-out/k8-fastbuild/bin/src/main/native/libunix_jni.so \
    -Wl,-S \
    -B/usr/bin \
    -Wl,-no-as-needed \
    -Wl,-z,relro,-z,now \
    -pass-exit-codes \
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/process.pic.o
\
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni.pic.o
\
    bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni_linux.pic.o
\
    -Wl,-whole-archive \
    bazel-out/k8-fastbuild/bin/src/main/native/libblake3_jni.lo \
    -Wl,-no-whole-archive \
    bazel-out/k8-fastbuild/bin/external/blake3~/libblake3.a \
    bazel-out/k8-fastbuild/bin/src/main/native/liblatin1_jni_path.a \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/liblogging.a \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/libstrings.a \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/libmd5.a \
    bazel-out/k8-fastbuild/bin/src/main/cpp/util/libport.a \
    -Wl,--push-state,-as-needed \
    -lstdc++ \
    -Wl,--pop-state \
    -Wl,--push-state,-as-needed \
    -lm \
    -Wl,--pop-state)
# Configuration:
7986f41e68c0f8695304d476c9d739fc4489b6ae519d039e958db1eb026d1faa
# Execution platform: //:default_host_platform

now with intercept script fixes it builds fine with both (and
tensorflow-lite as well). Thank you.

Regards,
Hongxu Jia April 7, 2026, 2:39 a.m. UTC | #4
On 4/4/26 05:06, Martin Jansa wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On Wed, Apr 1, 2026 at 3:21 PM Martin Jansa via lists.yoctoproject.org
> <martin.jansa=gmail.com@lists.yoctoproject.org> wrote:
>> On Wed, Apr 1, 2026 at 7:34 AM Hongxu Jia <hongxu.jia@windriver.com> wrote:
>>> On 4/1/26 13:30, martin.jansa@gmail.com wrote:
>>>> CAUTION: This email comes from a non Wind River email account!
>>>> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>>>>
>>>> From: Martin Jansa <martin.jansa@gmail.com>
>>>>
>>>> https://lists.yoctoproject.org/g/yocto-patches/message/2186
>>>> breaks a build for recipes which depend on both tensorflow-lite and flatbuffers because of conflicts in RSS as in:
>>>> ERROR: foo-1.0-r0 do_prepare_recipe_sysroot: The file /usr/include/flatbuffers/array.h is installed by both tensorflow-lite and flatbuffers, aborting
>>>>
>>>> Signed-off-by: Martin Jansa <martin.jansa@gmail.com>
>>>> ---
>>>>    recipes-framework/tensorflow/tensorflow-lite_2.21.0.bb | 7 -------
>>>>    1 file changed, 7 deletions(-)
>>> Merged
>>>
>>> //Hongxu
>> Thank you for quick update.
>>
>> With newer ubuntu on host I'm seeing one more issue with bazel-native,
>> will send a patch or more details when I figure out what's wrong, but
>> it fails with ubuntu-25.04 and newer while in ubuntu-24.04 and 24.10
>> it built bazel-native fine.
>>
>> I'm sharing it now just in case you've already seen this issue and
>> might have some pending fix already.
>>
>> The log from 24.04 doesn't show "Linking src/main/cpp/util/libport.a"
>> at all, so I guess it's util:port dependency somehow not required, but
>> I'm still searching why (in all that bazel output which is a bit
>> confusing to me :)).
> Thank you for merging those small cleanups for bazel recipe.
>
> Maybe you've noticed the fix for this "ar" issue as well:
> https://lists.openembedded.org/g/openembedded-core/message/234468
>
> Now with a lot more debugging I also know why only ubuntu-26.04 called ar
> while ubuntu-24.04 didn't and it boils down to detected features, mostly
> supports_start_end_lib in gold linker preferred by bazel in 24.04:
>
> work/x86_64-linux/bazel-native/7.7.0/sources $ diff -uNr
> /OE/lge/.cache/bazel/_bazel_bitbake/*/external/rules_cc~~cc_configure_extension~local_config_cc/BUILD
> --- /OE/lge/.cache/bazel/_bazel_bitbake/0e259dd960791f8b4e31fbc469f19299/external/rules_cc~~cc_configure_extension~local_config_cc/BUILD
>         2026-04-03 20:55:30.662177841 +0200
> +++ /OE/lge/.cache/bazel/_bazel_bitbake/a47ed104727c1f493f7aa830ae20096b/external/rules_cc~~cc_configure_extension~local_config_cc/BUILD
>         2026-04-03 21:03:44.814557111 +0200
> @@ -111,13 +111,13 @@
>       target_libc = "local",
>       abi_version = "local",
>       abi_libc_version = "local",
> -    cxx_builtin_include_directories =
> ["/usr/lib/gcc/x86_64-linux-gnu/13/include",
> +    cxx_builtin_include_directories =
> ["/usr/lib/gcc/x86_64-linux-gnu/15/include",
>       "/usr/local/include",
>       "/usr/include/x86_64-linux-gnu",
>       "/usr/include",
> -    "/usr/include/c++/13",
> -    "/usr/include/x86_64-linux-gnu/c++/13",
> -    "/usr/include/c++/13/backward",
> +    "/usr/include/c++/15",
> +    "/usr/include/x86_64-linux-gnu/c++/15",
> +    "/usr/include/c++/15/backward",
>       "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk"],
>       tool_paths = {"ar": "/usr/bin/ar",
>           "ld": "/usr/bin/ld",
> @@ -147,8 +147,7 @@
>       dbg_compile_flags = ["-g"],
>       conly_flags = [],
>       cxx_flags = ["-std=c++17"],
> -    link_flags = ["-fuse-ld=gold",
> -    "-B/usr/bin",
> +    link_flags = ["-B/usr/bin",
>       "-Wl,-no-as-needed",
>       "-Wl,-z,relro,-z,now",
>       "-pass-exit-codes"],
> @@ -166,7 +165,7 @@
>       "-D__TIME__=\"redacted\""],
>       coverage_compile_flags = ["--coverage"],
>       coverage_link_flags = ["--coverage"],
> -    supports_start_end_lib = True,
> +    supports_start_end_lib = False,
>       extra_flags_per_feature = {},
>   )
>
> And then linking e.g.
> bazel-out/k8-fastbuild/bin/src/main/native/libunix_jni.so was on 24.04
> using .o files directly with "-Wl,--start-lib .../*.pic.o
> -Wl,--end-lib" while on 26.04 it was calling ar to create .a files
> first.
>
> 24.04:
> action 'Linking src/main/native/libunix_jni.so'
>    Mnemonic: CppLink
>    Target: //src/main/native:libunix_jni.so
>    Configuration: k8-fastbuild
>    Execution platform: //:default_host_platform
>    ActionKey: d581ae102ab4782b26755373f49cb81a01b48d113e4cb7e31b4e876667acc6eb
>    Inputs: [bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_avx2_x86-64_unix.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_avx512_x86-64_unix.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_dispatch.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_portable.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_sse2_x86-64_unix.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_sse41_x86-64_unix.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/logging/logging.pic.o, \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/md5/md5.pic.o, \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/port/port.pic.o, \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/strings/strings.pic.o, \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/blake3_jni/blake3_jni.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/latin1_jni_path/latin1_jni_path.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/process.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni_linux.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/src/main/native/libunix_jni.so-2.params, \
>      external/bazel_tools/tools/cpp/build_interface_so, \
>      external/bazel_tools/tools/cpp/link_dynamic_library.sh, \
>      external/rules_cc~~cc_configure_extension~local_config_cc/builtin_include_directory_paths,
> \
>      external/rules_cc~~cc_configure_extension~local_config_cc/cc_wrapper.sh, \
>      external/rules_cc~~cc_configure_extension~local_config_cc/deps_scanner_wrapper.sh,
> \
>      external/rules_cc~~cc_configure_extension~local_config_cc/validate_static_library.sh]
>    Outputs: [bazel-out/k8-fastbuild/bin/src/main/native/libunix_jni.so]
>    Command Line: (exec /usr/bin/gcc \
>      -shared \
>      -o \
>      bazel-out/k8-fastbuild/bin/src/main/native/libunix_jni.so \
>      -Wl,-S \
>      '-fuse-ld=gold' \
>      -B/usr/bin \
>      -Wl,-no-as-needed \
>      -Wl,-z,relro,-z,now \
>      -pass-exit-codes \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/process.pic.o
> \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni.pic.o
> \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni_linux.pic.o
> \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/blake3_jni/blake3_jni.pic.o
> \
>      -Wl,--start-lib \
>      bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3.pic.o \
>      bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_dispatch.pic.o
> \
>      bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_portable.pic.o
> \
>      bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_avx2_x86-64_unix.pic.o
> \
>      bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_avx512_x86-64_unix.pic.o
> \
>      bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_sse2_x86-64_unix.pic.o
> \
>      bazel-out/k8-fastbuild/bin/external/blake3~/_objs/blake3/blake3_sse41_x86-64_unix.pic.o
> \
>      -Wl,--end-lib \
>      -Wl,--start-lib \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/latin1_jni_path/latin1_jni_path.pic.o
> \
>      -Wl,--end-lib \
>      -Wl,--start-lib \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/logging/logging.pic.o \
>      -Wl,--end-lib \
>      -Wl,--start-lib \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/strings/strings.pic.o \
>      -Wl,--end-lib \
>      -Wl,--start-lib \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/md5/md5.pic.o \
>      -Wl,--end-lib \
>      -Wl,--start-lib \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/_objs/port/port.pic.o \
>      -Wl,--end-lib \
>      -Wl,--push-state,-as-needed \
>      -lstdc++ \
>      -Wl,--pop-state \
>      -Wl,--push-state,-as-needed \
>      -lm \
>      -Wl,--pop-state)
> # Configuration:
> 7986f41e68c0f8695304d476c9d739fc4489b6ae519d039e958db1eb026d1faa
> # Execution platform: //:default_host_platform
>
> 26.04:
> action 'Linking src/main/native/libunix_jni.so'
>    Mnemonic: CppLink
>    Target: //src/main/native:libunix_jni.so
>    Configuration: k8-fastbuild
>    Execution platform: //:default_host_platform
>    ActionKey: 7fd7cf007954470fff795125ded88171fc21fb1c446fe65adb18abfa40564ce8
>    Inputs: [bazel-out/k8-fastbuild/bin/external/blake3~/libblake3.a, \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/liblogging.a, \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/libmd5.a, \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/libport.a, \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/libstrings.a, \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/process.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni_linux.pic.o,
> \
>      bazel-out/k8-fastbuild/bin/src/main/native/libblake3_jni.lo, \
>      bazel-out/k8-fastbuild/bin/src/main/native/liblatin1_jni_path.a, \
>      bazel-out/k8-fastbuild/bin/src/main/native/libunix_jni.so-2.params, \
>      external/bazel_tools/tools/cpp/build_interface_so, \
>      external/bazel_tools/tools/cpp/link_dynamic_library.sh, \
>      external/rules_cc~~cc_configure_extension~local_config_cc/builtin_include_directory_paths,
> \
>      external/rules_cc~~cc_configure_extension~local_config_cc/cc_wrapper.sh, \
>      external/rules_cc~~cc_configure_extension~local_config_cc/deps_scanner_wrapper.sh,
> \
>      external/rules_cc~~cc_configure_extension~local_config_cc/validate_static_library.sh]
>    Outputs: [bazel-out/k8-fastbuild/bin/src/main/native/libunix_jni.so]
>    Command Line: (exec /usr/bin/gcc \
>      -shared \
>      -o \
>      bazel-out/k8-fastbuild/bin/src/main/native/libunix_jni.so \
>      -Wl,-S \
>      -B/usr/bin \
>      -Wl,-no-as-needed \
>      -Wl,-z,relro,-z,now \
>      -pass-exit-codes \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/process.pic.o
> \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni.pic.o
> \
>      bazel-out/k8-fastbuild/bin/src/main/native/_objs/libunix_jni.so/unix_jni_linux.pic.o
> \
>      -Wl,-whole-archive \
>      bazel-out/k8-fastbuild/bin/src/main/native/libblake3_jni.lo \
>      -Wl,-no-whole-archive \
>      bazel-out/k8-fastbuild/bin/external/blake3~/libblake3.a \
>      bazel-out/k8-fastbuild/bin/src/main/native/liblatin1_jni_path.a \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/liblogging.a \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/libstrings.a \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/libmd5.a \
>      bazel-out/k8-fastbuild/bin/src/main/cpp/util/libport.a \
>      -Wl,--push-state,-as-needed \
>      -lstdc++ \
>      -Wl,--pop-state \
>      -Wl,--push-state,-as-needed \
>      -lm \
>      -Wl,--pop-state)
> # Configuration:
> 7986f41e68c0f8695304d476c9d739fc4489b6ae519d039e958db1eb026d1faa
> # Execution platform: //:default_host_platform
>
> now with intercept script fixes it builds fine with both (and
> tensorflow-lite as well). Thank you.

Copy, thanks for the tracing

//Hongxu

> Regards,
diff mbox series

Patch

diff --git a/recipes-framework/tensorflow/tensorflow-lite_2.21.0.bb b/recipes-framework/tensorflow/tensorflow-lite_2.21.0.bb
index 41646df..4951fbc 100644
--- a/recipes-framework/tensorflow/tensorflow-lite_2.21.0.bb
+++ b/recipes-framework/tensorflow/tensorflow-lite_2.21.0.bb
@@ -123,13 +123,6 @@  do_install() {
         install -D -m 0644 $header ${D}${includedir}/$header
     done
     cd -
-
-    cd ${WORKDIR}/bazel/output_base/external/flatbuffers/include
-    for header in `find ./flatbuffers -type f`; do
-        install -D -m 0644 $header ${D}${includedir}/$header
-    done
-    cd -
-
     # header installation done
 
     #echo "Installing pip package"