[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#766708: breaks multiarch cross building



Control: tags -1 + patch

On Sat, Oct 25, 2014 at 05:58:36AM +0200, Helmut Grohne wrote:
> I'll look into the matter and try to provide a patch.

It seems that your upload forcibly clears with_deps_on_target_arch_pkgs
and no_biarch_libs. This functionality has been working very well over
the past months. Reverting just these hunks makes the build succeed
again.

Even if this approach is wrong, now is the wrong time to disable it due
to the imminent freeze. I have extensively tested that it does work and
there is no need to break what is known to work.

I assume that it is your goal to get rid of
with_deps_on_target_arch_pkgs. Can you help me understand how cross
building is supposed to work in that setting? In particular, how is
glibc supposed to provide all these packages? glibc is already building
about 50 different binary packages. Do you really want to multiply that
with the number of architectures (about 20)? That'd amount to 1000 lines
of Package-List in the .dsc file and severely bloat source lists. I am
not convinced that the approach you suggest is feasible at all. Even
assuming that we can work this out and we can build the -$arch-cross
libc packages, debootstrap will complain that plain libc6 is missing
only finding a foreign-arch libc6-$arch-cross package. So then glibc has
to be built one more time to obtain libc6:$arch as needed by
debootstrap. This seems like an awful complication to me. Nothing that
is appropriate now. Please revert.

Helmut
diff -u gcc-4.9-4.9.1/debian/rules.defs gcc-4.9-4.9.1/debian/rules.defs
--- gcc-4.9-4.9.1/debian/rules.defs
+++ gcc-4.9-4.9.1/debian/rules.defs
@@ -125,9 +125,6 @@
   $(error Invalid architecure.)
 endif
 
-# Force this, people get confused about the default. See #760770.
-with_deps_on_target_arch_pkgs :=
-
 # including unversiond symlinks for binaries
 #with_unversioned = yes
 
@@ -1449,7 +1447,9 @@
 #ifeq ($(trunk_build),yes)
 #  no_biarch_libs := yes
 #endif
+ifdef DEB_CROSS_NO_BIARCH
+  no_biarch_libs := yes
+endif
-no_biarch_libs :=
 
 ifeq ($(no_biarch_libs),yes)
   with_lib64gcc		:= no

Reply to: