Package: gcc-4.7 Version: 4.7.2-4 Severity: wishlist Tags: patch User: j.scha...@email.de Usertags: bootstrap-conflicts
Inter-package conflicts currently limit the ability of a CUDF solver to optimize the dependency graph created during bootstrapping of Debian for new architectures. Luckily there are only nine conflicts in the core set of Debian packages in Debian Sid as of now. One of those conflicts is between libelf-dev and libelfg0-dev. From the core packages, only gcc-4.7, gcc-4.6 and gcj-4.7 build-depend on libelfg0-dev. It also seems that the only component in gcc that needs libelfg0-dev is the LTO plugin. And according to [1] LTO is perfectly happy with libelf-dev from elfutils. My tests confirm this report. It seems no modifications other than of the Build-Depends have to be done. The attached patch replaces gcc-4.7's current dependency on libelfg0-dev with a disjunction between libelfg0-dev and libelf-dev because apparently it builds fine with either of them. Can you please confirm my observation and then apply the attached patch so that libelfg0-dev is not strictly needed anymore to build gcc-4.7? As mentioned above the dependency also occurs in gcc-4.6 and gcj-4.7 but I didnt want to bugreport three times without first making sure that my idea can be implemented. Making the strong dependency on libelfg0-dev a disjunction between libelfg0-dev and libelf-dev not only benefits a solver when analyzing the bootstrapping situation but also allows to compile gcc side by side with other packages that build-depend on libelf-dev. Packages of the core packages that do so are dwarves-dfsg, glib2.0 and rpm. cheers, josch [1] http://gcc.gnu.org/ml/gcc/2010-03/msg00126.html
Index: gcc-4.7-4.7.2/debian/control =================================================================== --- gcc-4.7-4.7.2.orig/debian/control 2012-10-19 14:44:44.000000000 +0200 +++ gcc-4.7-4.7.2/debian/control 2012-10-19 14:47:12.249685554 +0200 @@ -4,7 +4,7 @@ Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> Uploaders: Matthias Klose <d...@debian.org> Standards-Version: 3.9.3 -Build-Depends: dpkg-dev (>= 1.16.0~ubuntu4), debhelper (>= 5.0.62), g++-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc], libc6.1-dev (>= 2.13-5) [alpha ia64] | libc0.3-dev (>= 2.13-5) [hurd-i386] | libc0.1-dev (>= 2.13-5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-5), libc6-dev (>= 2.13-31) [armel armhf], libc6-dev-amd64 [i386], libc6-dev-sparc64 [sparc], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 s390x], lib64gcc1 [i386 powerpc sparc s390], libc6-dev-mips64 [mips mipsel], libc6-dev-mipsn32 [mips mipsel], m4, libtool, autoconf2.64, automake (>= 1:1.11), automake (<< 1:1.12), libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], zlib1g-dev, gawk, lzma, xz-utils, patchutils, binutils (>= 2.21.1) | binutils-multiarch (>= 2.21.1), binutils-hppa64 (>= 2.21.1) [hppa], gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, texinfo (>= 4.3), locales, procps, sharutils, netbase, binutils-spu (>= 2.21.1) [powerpc ppc64], newlib-spu (>= 1.16.0) [powerpc ppc64], libcloog-ppl-dev (>= 0.15.9-2~), libmpc-dev, libmpfr-dev (>= 3.0.0-9~), libgmp-dev (>= 2:5.0.1~), libelfg0-dev (>= 0.8.12), dejagnu [!m68k !hurd-i386 !hurd-alpha], autogen, realpath (>= 1.9.12), chrpath, lsb-release, make (>= 3.81), quilt +Build-Depends: dpkg-dev (>= 1.16.0~ubuntu4), debhelper (>= 5.0.62), g++-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc], libc6.1-dev (>= 2.13-5) [alpha ia64] | libc0.3-dev (>= 2.13-5) [hurd-i386] | libc0.1-dev (>= 2.13-5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-5), libc6-dev (>= 2.13-31) [armel armhf], libc6-dev-amd64 [i386], libc6-dev-sparc64 [sparc], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 s390x], lib64gcc1 [i386 powerpc sparc s390], libc6-dev-mips64 [mips mipsel], libc6-dev-mipsn32 [mips mipsel], m4, libtool, autoconf2.64, automake (>= 1:1.11), automake (<< 1:1.12), libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], zlib1g-dev, gawk, lzma, xz-utils, patchutils, binutils (>= 2.21.1) | binutils-multiarch (>= 2.21.1), binutils-hppa64 (>= 2.21.1) [hppa], gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, texinfo (>= 4.3), locales, procps, sharutils, netbase, binutils-spu (>= 2.21.1) [powerpc ppc64], newlib-spu (>= 1.16.0) [powerpc ppc64], libcloog-ppl-dev (>= 0.15.9-2~), libmpc-dev, libmpfr-dev (>= 3.0.0-9~), libgmp-dev (>= 2:5.0.1~), libelfg0-dev (>= 0.8.12) | libelf-dev, dejagnu [!m68k !hurd-i386 !hurd-alpha], autogen, realpath (>= 1.9.12), chrpath, lsb-release, make (>= 3.81), quilt Build-Depends-Indep: doxygen (>= 1.7.2), graphviz (>= 2.2), gsfonts-x11, texlive-latex-base, Build-Conflicts: binutils-gold Homepage: http://gcc.gnu.org/