Bug 15809 - ERROR: core-image-sato-sdk-1.0-r0 do_sdk_depends: The file /usr/lib/tclConfig.sh is installed by both tcl8 and tcl, aborting
Summary: ERROR: core-image-sato-sdk-1.0-r0 do_sdk_depends: The file /usr/lib/tclConfig...
Status: IN PROGRESS DESIGN
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 5.1.4
Hardware: x86 Multiple
: Medium normal
Target Milestone: 6.1
Assignee: Robert Berger
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2025-03-25 07:17 UTC by Robert Berger
Modified: 2026-05-28 15:28 UTC (History)
5 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: Don't know


Attachments
patch which make it build (4.62 KB, patch)
2025-12-16 11:15 UTC, Robert Berger
no flags Details | Diff
new patch (5.06 KB, patch)
2025-12-16 16:58 UTC, Robert Berger
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Berger 2025-03-25 07:17:15 UTC
poky master:

commit 769a4479e123a5c2951eab8915cbd2b29d82c7f9

ERROR: core-image-sato-sdk-1.0-r0 do_sdk_depends: The file /usr/lib/tclConfig.sh is installed by both tcl8 and tcl, aborting
ERROR: Logfile of failure stored in: /workdir/build/multi-v7-ml-debug-training-master/tmp/work/multi_v7_ml-resy-linux-gnueabi/core-image-sato-sdk/1.0/temp/log.do_sdk_depends.2054073
ERROR: Task (/workdir/sources/poky-training-master/meta/recipes-sato/images/core-image-sato-sdk.bb:do_sdk_depends) failed with exit code '1'

It looks like there were already some changes made to the tcl8 recipe with respect to the conflict with tcl, but this one was missed.
Comment 1 Robert Berger 2025-03-25 09:21:41 UTC
Please note, that this happens with:

bitbake core-image-sato-sdk -c populate_sdk_ext
Comment 2 Robert Berger 2025-03-25 16:39:21 UTC
$ find | grep Config.sh | grep -v ".in"

./8.6.16/tcl8.6.16/unix/tclooConfig.sh
./8.6.16/sysroot-destdir/usr/lib/tclConfig.sh
./8.6.16/sysroot-destdir/usr/lib/tclooConfig.sh
./8.6.16/package/usr/lib/tcl8ooConfig.sh
./8.6.16/package/usr/lib/tcl8Config.sh
./8.6.16/packages-split/tcl8-dev/usr/lib/tcl8ooConfig.sh
./8.6.16/packages-split/tcl8-dev/usr/lib/tcl8Config.sh
./8.6.16/recipe-sysroot-native/usr/lib/tclConfig.sh
./8.6.16/recipe-sysroot-native/usr/lib/tclooConfig.sh
./8.6.16/image/usr/lib/tclConfig.sh
./8.6.16/image/usr/lib/tclooConfig.sh
./8.6.16/build/tclConfig.sh

$ find | grep Config.sh | grep -v ".in"

./9.0.1/tcl9.0.1/unix/tclooConfig.sh
./9.0.1/sysroot-destdir/usr/lib/tclConfig.sh
./9.0.1/sysroot-destdir/usr/lib/tclooConfig.sh
./9.0.1/package/usr/lib/tclConfig.sh
./9.0.1/package/usr/lib/tclooConfig.sh
./9.0.1/packages-split/tcl-dev/usr/lib/tclConfig.sh
./9.0.1/packages-split/tcl-dev/usr/lib/tclooConfig.sh
./9.0.1/recipe-sysroot-native/usr/lib/tclConfig.sh
./9.0.1/recipe-sysroot-native/usr/lib/tclooConfig.sh
./9.0.1/image/usr/lib/tclConfig.sh
./9.0.1/image/usr/lib/tclooConfig.sh
./9.0.1/build/tclConfig.sh
Comment 3 Randy MacLeod 2025-03-27 14:39:07 UTC
Robert, 
Can you provide details steps to reproduce this issue using poky only ideally?
Is it a mulitlib-only issue?
Comment 4 Robert Berger 2025-03-28 07:30:20 UTC
It has nothing to do with multilib I believe.

We have 2 recipes for tcl and they are both included in the image.
Currently I try to come up with a simple test where I just include those 2 recipes in an image.

Something like:

bitbake core-image-minimal -c populate_sdk_ext


Let's see ;)
Comment 5 Robert Berger 2025-03-30 09:59:32 UTC
Here is a testcase only with poky:

1) check out poky master branch
2) use this commit

commit 769a4479e123a5c2951eab8915cbd2b29d82c7f9 (HEAD)
Author: Peter Marko <peter.marko@siemens.com>
Date:   Thu Mar 20 13:15:33 2025 +0100

    spdx30: handle links to inaccessible locations
    
    This is the same as e105befbe4ee0d85e94c2048a744f0373e2dbcdf on
    additional place in the code.
    
    When a link is pointing to location inaccessible to build user (e.g. "/root/something"),
    filepath.is_file() throws "PermissionError: [Errno 13] Permission denied".
    Fix this by first checking if it is a link.
    
    (From OE-Core rev: 26f35f866cf7888431963cf4fc5d2019cd28de74)
    
    Signed-off-by: Peter Marko <peter.marko@siemens.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

3) default config
4) add to local.conf

IMAGE_INSTALL:append = " tcl8"
IMAGE_INSTALL:append = " tcl"

5) bitbake core-image-minimal
6)

pokyuser@hp-zbook-15-g6-17:/workdir/build/poky-master-test$ bitbake core-image-minimal -c populate_sdk_ext
Loading cache: 100% |##########################################################################################################################################################| Time: 0:00:01
Loaded 1886 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION           = "2.9.1"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "x86_64-poky-linux"
MACHINE              = "qemux86-64"
DISTRO               = "poky"
DISTRO_VERSION       = "5.2.66"
TUNE_FEATURES        = "m64 core2"
TARGET_FPU           = ""
meta
meta-poky
meta-yocto-bsp       = "master:b18ada3ac99c3c13b057054aec633526cddbe664"

Sstate summary: Wanted 33 Local 0 Mirrors 0 Missed 33 Current 2674 (0% match, 98% complete)####################################################################                | ETA:  0:00:00
Initialising tasks: 100% |#####################################################################################################################################################| Time: 0:00:06
NOTE: Executing Tasks
ERROR: core-image-minimal-1.0-r0 do_sdk_depends: The file /usr/lib/tclConfig.sh is installed by both tcl8 and tcl, aborting
ERROR: Logfile of failure stored in: /workdir/build/poky-master-test/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/temp/log.do_sdk_depends.3071555
ERROR: Task (/workdir/sources/poky-master/meta/recipes-core/images/core-image-minimal.bb:do_sdk_depends) failed with exit code '1'
NOTE: Tasks Summary: Attempted 5628 tasks of which 5575 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /workdir/sources/poky-master/meta/recipes-core/images/core-image-minimal.bb:do_sdk_depends
    log: /workdir/build/poky-master-test/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/temp/log.do_sdk_depends.3071555
Summary: There was 1 ERROR message, returning a non-zero exit code.
Comment 6 Robert Berger 2025-03-30 12:52:11 UTC
It also happens with poky master latest:

$ bitbake core-image-minimal -c populate_sdk_ext
Loading cache: 100% |                                                                                                                                                         | ETA:  --:--:--
Loaded 0 entries from dependency cache.
Parsing recipes: 100% |########################################################################################################################################################| Time: 0:00:24
Parsing of 924 .bb files complete (0 cached, 924 parsed). 1886 targets, 49 skipped, 0 masked, 0 errors.
Removing 2 recipes from the core2-64 sysroot: 100% |###########################################################################################################################| Time: 0:00:00
Removing 2 recipes from the qemux86_64 sysroot: 100% |#########################################################################################################################| Time: 0:00:00
Removing 2 recipes from the x86_64 sysroot: 100% |#############################################################################################################################| Time: 0:00:00
Removing 1 recipes from the x86_64_linux sysroot: 100% |#######################################################################################################################| Time: 0:00:00
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION           = "2.12.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "x86_64-poky-linux"
MACHINE              = "qemux86-64"
DISTRO               = "poky"
DISTRO_VERSION       = "5.2"
TUNE_FEATURES        = "m64 core2"
TARGET_FPU           = ""
meta                 
meta-poky            
meta-yocto-bsp       = "master:e894acce6ede8bedafc1859ea0345ee6d80e9c74"

Sstate summary: Wanted 1736 Local 0 Mirrors 0 Missed 1736 Current 965 (0% match, 35% complete)#################################################################                | ETA:  0:00:00
Removing 150 stale sstate objects for arch qemux86_64: 100% |##################################################################################################################| Time: 0:00:00
Removing 6 stale sstate objects for arch x86_64_x86_64-nativesdk: 100% |#######################################################################################################| Time: 0:00:00
Removing 477 stale sstate objects for arch x86_64_linux: 100% |################################################################################################################| Time: 0:00:01
Removing 551 stale sstate objects for arch core2-64: 100% |####################################################################################################################| Time: 0:00:01
Removing 30 stale sstate objects for arch allarch: 100% |######################################################################################################################| Time: 0:00:00
Removing 7 stale sstate objects for arch x86_64_x86_64_linux: 100% |###########################################################################################################| Time: 0:00:00
Removing 471 stale sstate objects for arch x86_64: 100% |######################################################################################################################| Time: 0:00:00
NOTE: Executing Tasks
ERROR: core-image-minimal-1.0-r0 do_sdk_depends: The file /usr/lib/tclConfig.sh is installed by both tcl8 and tcl, aborting
ERROR: Logfile of failure stored in: /workdir/build/poky-master-test/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/temp/log.do_sdk_depends.193260
ERROR: Task (/workdir/sources/poky-master/meta/recipes-core/images/core-image-minimal.bb:do_sdk_depends) failed with exit code '1'
NOTE: Tasks Summary: Attempted 5616 tasks of which 3177 didn't need to be rerun and 1 failed.

Summary: 1 task failed:
  /workdir/sources/poky-master/meta/recipes-core/images/core-image-minimal.bb:do_sdk_depends
    log: /workdir/build/poky-master-test/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0/temp/log.do_sdk_depends.193260
Summary: There was 1 ERROR message, returning a non-zero exit code.
Comment 7 Randy MacLeod 2025-04-03 14:41:17 UTC
Yoann has offered to work on this issue.
Comment 8 Yoann Congal 2025-04-04 07:36:22 UTC
I can reproduce in my setup. I'll look into it.
Comment 9 Robert Berger 2025-04-09 13:11:57 UTC
@Yoann Congal

I think it might be the way '-c populate_sdk_ext' detects dependencies.

This might be a shot in the dark, but it's possible to create a classic SDK and also meta-ide-support SDK without this issue.
Comment 10 Yoann Congal 2025-11-06 10:57:03 UTC
Bulk move to 6.0 M1
Comment 11 Robert Berger 2025-12-16 11:15:16 UTC
Created attachment 5161 [details]
patch which make it build

I am not sure how it behaves in runtime, but at least I got it to build in the meantime with the attached patch.
Comment 12 Robert Berger 2025-12-16 11:18:36 UTC
Hmm there are still some problems. Not sure how I made it build before ;)
Comment 13 Robert Berger 2025-12-16 16:58:24 UTC
Created attachment 5162 [details]
new patch

I know this is an ugly patch, but at least it makes it build with the standalone extensible SDK. Having said that, I think it is right not to build, because the same files are installed by the different tcl packages.
Comment 14 Yoann Congal 2026-04-03 09:28:51 UTC
Robert, did you send the patches to the mailing lists?
(I'm unassigning myself to make it clear that I don't have the time to work on this, sorry)
Comment 15 Randy MacLeod 2026-05-28 15:28:27 UTC
It would be nice to only have one tcl recipe...
otherwise fix the install.

We could get rid of the older version headers from the SDK for example
since it's likely only required by expect.