On 2025-03-15 11:08, Matthias Klose wrote: > On 15.03.25 10:55, Aurelien Jarno wrote: > > On 2025-03-15 07:01, Helmut Grohne wrote: > > > Control: reassign -1 libc6-dev-i386 > > > Control: affects -1 = src:gcc-14-cross > > > Control: tags -1 + ftbfs > > > > > > On Sat, Mar 15, 2025 at 05:45:15AM +0100, Matthias Klose wrote: > > > > sudo apt build-dep gcc-14-cross > > > > > > > > Some packages could not be installed. This may mean that you have > > > > requested an impossible situation or if you are using the unstable > > > > distribution that some required packages have not yet been created > > > > or been moved out of Incoming. > > > > The following information may help to resolve the situation: > > > > > > > > Unsatisfied dependencies: > > > > builddeps:gcc-14-cross : Depends: libc6-dev-amd64-cross (>= 2.37) but > > > > it is > > > > not installable > > > > libc6-dev-i386-amd64-cross : Depends: libc6-dev-amd64-cross (= > > > > 2.40-4cross1) but it is not installable > > > > libc6-dev-x32-amd64-cross : Depends: libc6-dev-amd64-cross (= > > > > 2.40-4cross1) > > > > but it is not installable > > > > Error: Unable to correct problems, you have held broken packages. > > > > > > Matthias and me discussed the matter on irc. The bug introducing the > > > problem was #1092278 asking for libc6-dev-* to conflict with one > > > another. Now the transformed libc6-dev-*-*-cross packages move e.g. > > > /usr/lib32 to /usr/<triplet>/lib32 thereby resolving the underyling > > > conflict in the transformed packages. Moreover, since the conflicts lack > > > architecture qualifiers we get funky ones such as > > > libc6-dev-amd64-amd64-cross that don't exist anywhere. Qualifying them > > > is not a solution, because gcc-14-cross really wants both > > > libc6-dev-x32-i386-cross and libc6-dev-x32-amd64-cross at the same time > > > and while their package contents are coinstallable, the underlying glibc > > > packages libc6-dev-x32:i386 and libc6-dev-x32:amd64 really are not > > > coinstallable. It is the sysroot transformation that renders them > > > coinstallable. > > > > > > Our discussion arrived at three ways to move forward from here and we > > > did not reach any agreement here. > > > > > > 1. glibc should conditionally emit these Conflicts. When a particular > > > environment variable is set by c-t-b, their emission is suppressed. > > > > > > 2. Someone (me?) develops a c-t-b patch that discards the conflicts in > > > the repacking step as that also is the step that fixes > > > coinstallability. > > > > > > 3. We revert those conflicts in trixie and retry with more time in > > > forky. > > > > > > Matthias prefers 1. I object to 1 on reproducibility grounds and > > > favour 3 given the state of discussion. > > > > cross-toolchain-base has been an increasing burden in packaging glibc, > > imposing too many development constraints and limiting changes that can > > be made. Therefore my plan is to stop shipping the debian/ directory in > > the glibc-source package starting with forky. cross-toolchain-base we'll > > have to build the glibc from sources in its own way. > > > > The toolchain being already frozen (since today), any change needs a > > pre-approval, so I would rather go with option 1 to make the approval > > easier. > > so instead of fixing the issue, threatening to remove the cross compilers > from the distro. Great! Users are our priority!
I am not threatening to remove them. I am telling that we will have to find alternative way to build the cross toolchain-base packages. The current approach of just cross-building the glibc and later converting the resulting packages just imposes a lot of constraints. Even minor change to the glibc packaging can lead to breakages (and complaints), so I am avoiding too many changes, even if it shows not enough. This in turns removed me the courage to look at bigger packaging changes like locales-all or gconv libraries splitting. > This is now the another time that patches from Helmut for out-of-the-archive > cross builds are breaking the in-archive cross compilers. You are completely mixing things. This has nothing to do with out-of-the-archive cross build. Those are conflicts that users can encounter when installing libc-dev biarch packages on a multiarch system. And as you say it well: Users are our priority! Regards Aurelien -- Aurelien Jarno GPG: 4096R/1DDD8C9B aurel...@aurel32.net http://aurel32.net