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

Bug#690952: gcc-4.7: Please allow gcc to be built with libelf-dev



Package: gcc-4.7
Version: 4.7.2-4
Severity: wishlist
Tags: patch
User: j.schauer@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 <doko@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/

Reply to: