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

Bug#859938: gcc-7: DEB_STAGE=rtlibs build not installable: unsatisfiable dependencies on gcc-7-cross-base



Source: gcc-7
Tags: patch
User: helmutg@debian.org
Usertags: rebootstrap

Building gcc libraries with DEB_STAGE=rtlibs is now successful. Yet the
resulting packages are not currently installable. See e.g.:

> Setting up gcc-7-base:tilegx (7-20170316-1) ...
> dpkg: dependency problems prevent configuration of libgcc1-dbg:tilegx:
>  libgcc1-dbg:tilegx depends on gcc-7-cross-base (= 7-20170316-1).
>
> dpkg: error processing package libgcc1-dbg:tilegx (--install):
>  dependency problems - leaving unconfigured
> dpkg: dependency problems prevent configuration of libgcc1:tilegx:
>  libgcc1:tilegx depends on gcc-7-cross-base (= 7-20170316-1).
>
> dpkg: error processing package libgcc1:tilegx (--install):
>  dependency problems - leaving unconfigured

While my previous patch #857074 fixed the inconsistency between
debian/control and p_base during package build, the emitted dependencies
still reference the -cross-base. Those are generated in
debian/control.m4 (BASELDEP and SOFTBASELDEP). Since we are in the case
where TARGET is defined, we end up injecting the "-cross" that is
necessary for cross compiler builds. I propose suppressing it when
CROSS_ARCH isn't all, because all cross compiler builds set CROSS_ARCH
to all. The attached patch does just that. What do you think?

Helmut
--- a/debian/control.m4
+++ b/debian/control.m4
@@ -123,8 +123,8 @@
 define(`SOFTBASEDEP', `gcc`'PV`'TS-base (>= ${gcc:SoftVersion})')
 
 ifdef(`TARGET',`
-define(`BASELDEP', `gcc`'PV-cross-base`'GCC_PORTS_BUILD (= ${gcc:Version})')
-define(`SOFTBASELDEP', `gcc`'PV-cross-base`'GCC_PORTS_BUILD (>= ${gcc:SoftVersion})')
+define(`BASELDEP', `gcc`'PV`'ifelse(CROSS_ARCH,`all',`-cross')-base`'GCC_PORTS_BUILD (= ${gcc:Version})')
+define(`SOFTBASELDEP', `gcc`'PV`'ifelse(CROSS_ARCH, `all',`-cross')-base`'GCC_PORTS_BUILD (>= ${gcc:SoftVersion})')
 ',`dnl
 define(`BASELDEP', `BASEDEP')
 define(`SOFTBASELDEP', `SOFTBASEDEP')

Reply to: