Bug#680590: gcc-4.7: FTBTS on lucid
Package: gcc-4.7
Version: 4.7.1-3
Severity: serious
Tags: patch
Justification: fails to build from source (but built successfully in the past)
The attached patches allow me to build 4.7.1-3 for amd64 on lucid, using the
upstream FSF tarball. Some of the below patches fix bit rot, some fix
mistaken assumptions about lucid, and I think some of them may be just
wrong. Please advise.
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (990, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Kernel: Linux 3.2.0-3-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages gcc-4.7 depends on:
ii binutils 2.22-7
ii cpp-4.7 4.7.1-3
ii gcc-4.7-base 4.7.1-3
ii libc6 2.13-34
ii libgcc1 1:4.7.1-3
ii libgmp10 2:5.0.5+dfsg-2
ii libgomp1 4.7.1-3
ii libitm1 4.7.1-3
ii libmpc2 0.9-4
ii libmpfr4 3.1.0-5
ii libquadmath0 4.7.1-3
ii zlib1g 1:1.2.7.dfsg-13
Versions of packages gcc-4.7 recommends:
ii libc6-dev 2.13-34
Versions of packages gcc-4.7 suggests:
ii binutils-gold 2.22-7
pn gcc-4.7-doc <none>
pn gcc-4.7-locales <none>
pn gcc-4.7-multilib <none>
pn libgcc1-dbg <none>
pn libgomp1-dbg <none>
pn libitm1-dbg <none>
ii libmudflap0-4.7-dev 4.7.1-3
pn libmudflap0-dbg <none>
pn libquadmath0-dbg <none>
-- no debconf information
diff -ru 3/debian/control.m4 gcc-4.7-4.7.1/debian/control.m4
--- 3/debian/control.m4 2012-07-06 17:34:33.624172652 -0700
+++ gcc-4.7-4.7.1/debian/control.m4 2012-06-24 14:55:50.133581721 -0700
@@ -185,8 +185,11 @@
Section: debug
Priority: extra
Depends: BASEDEP, libgcc1`'LS (= ${gcc:EpochVersion}), ${misc:Depends}
-ifdef(`TARGET',`dnl',ifdef(`MULTIARCH', `Multi-Arch: same'))
-ifdef(`TARGET',`dnl',`Provides: libgcc1-dbg-armel [armel], libgcc1-dbg-armhf [armhf]')
+ifdef(`TARGET',`dnl',`dnl
+ifdef(`MULTIARCH',`Multi-Arch: same
+')dnl
+Provides: libgcc1-dbg-armel [armel], libgcc1-dbg-armhf [armhf]
+')dnl
Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `')
Debug symbols for the GCC support library.
ifdef(`TARGET', `dnl
diff -ru 3/debian/patches/gcc-multilib64-multiarch.diff gcc-4.7-4.7.1/debian/patches/gcc-multilib64-multiarch.diff
--- 3/debian/patches/gcc-multilib64-multiarch.diff 2012-07-06 17:34:33.864169777 -0700
+++ gcc-4.7-4.7.1/debian/patches/gcc-multilib64-multiarch.diff 2012-06-24 15:31:43.473981030 -0700
@@ -14,8 +14,8 @@
+++ b/src/gcc/config/rs6000/t-linux64
@@ -33,6 +33,6 @@
MULTILIB_EXTRA_OPTS = fPIC mstrict-align
- MULTILIB_EXCEPTIONS =
- MULTILIB_EXCLUSIONS =
+ MULTILIB_EXCEPTIONS = m64/msoft-float
+ MULTILIB_EXCLUSIONS = m64/!m32/msoft-float
-MULTILIB_OSDIRNAMES = ../lib64$(call if_multiarch,:powerpc64-linux-gnu)
+MULTILIB_OSDIRNAMES = ../lib$(call if_multiarch,:powerpc64-linux-gnu)
MULTILIB_OSDIRNAMES += $(if $(wildcard $(shell echo $(SYSTEM_HEADER_DIR))/../../usr/lib32),../lib32,../lib)$(call if_multiarch,:powerpc-linux-gnu)
diff -ru 3/debian/rules.conf gcc-4.7-4.7.1/debian/rules.conf
--- 3/debian/rules.conf 2012-07-06 17:34:33.613661244 -0700
+++ gcc-4.7-4.7.1/debian/rules.conf 2012-07-06 17:47:57.183934519 -0700
@@ -264,14 +264,6 @@
LIBUNWIND_DEV_DEP := # nothing
endif
-ifneq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick natty))
- GMP_BUILD_DEP = libgmp3-dev,
- MPFR_BUILD_DEP = libmpfr-dev,
-else
- GMP_BUILD_DEP = libgmp-dev (>= 2:5.0.1~),
- MPFR_BUILD_DEP = libmpfr-dev (>= 3.0.0-9~),
-endif
-
cloog_parma =
ifeq ($(trunk_build),yes)
PPL_BUILD_DEP = libisl-dev,
@@ -287,6 +279,16 @@
# FIXME: currently not dl'opened.
#CLOOG_RUNTIME_DEP = libcloog-ppl0 (>= 0.15.9-2~), libppl-c2, libppl7
endif
+
+GMP_BUILD_DEP = libgmp-dev (>= 2:5.0.1~),
+MPFR_BUILD_DEP = libmpfr-dev (>= 3.0.0-9~),
+ifneq (,$(filter $(distrelease),lenny etch squeeze dapper hardy jaunty karmic lucid maverick natty))
+ ifeq ($(cloog_parma),yes)
+ GMP_BUILD_DEP = libgmp3-dev,
+ MPFR_BUILD_DEP = libmpfr-dev,
+ endif
+endif
+
MPC_BUILD_DEP = libmpc-dev,
ELF_BUILD_DEP = libelfg0-dev (>= 0.8.12),
diff -ru 3/debian/rules.defs gcc-4.7-4.7.1/debian/rules.defs
--- 3/debian/rules.defs 2012-07-06 17:34:33.613661244 -0700
+++ gcc-4.7-4.7.1/debian/rules.defs 2012-06-24 14:55:50.144185903 -0700
@@ -285,9 +285,11 @@
# build using fsf or linaro
ifeq ($(distribution),Ubuntu)
ifeq (,$(findstring gnat, $(PKGSOURCE)))
- ifneq (,$(findstring $(DEB_TARGET_ARCH),armel armhf amd64 i386 powerpc))
- with_linaro_branch = yes
- endif
+ ifneq (,$(findstring $(DEB_TARGET_ARCH),armel armhf amd64 i386 powerpc))
+# UB:linaro patch is borked
+# with_linaro_branch = yes
+# UB linaro patch is borked
+ endif
endif
endif
diff -ru 3/debian/rules.patch gcc-4.7-4.7.1/debian/rules.patch
--- 3/debian/rules.patch 2012-07-06 17:34:33.633662668 -0700
+++ gcc-4.7-4.7.1/debian/rules.patch 2012-07-06 17:47:57.183934519 -0700
@@ -249,10 +249,10 @@
else
debian_patches += gcc-multiarch$(if $(with_linaro_branch),-linaro)
endif
-ifneq ($(GFDL_INVARIANT_FREE),yes)
- debian_patches += gcc-multiarch-doc
-endif
ifeq ($(with_multiarch_lib),yes)
+ ifneq ($(GFDL_INVARIANT_FREE),yes)
+ debian_patches += gcc-multiarch-doc
+ endif
ifneq ($(single_package),yes)
debian_patches += libjava-multiarch
endif
@@ -264,14 +264,12 @@
debian_patches += cross-biarch
endif
endif
-debian_patches += gcc-powerpc-nof
+ifeq ($(with_multiarch_lib),yes)
+ debian_patches += gcc-powerpc-nof
+endif
debian_patches += gcc-powerpc-undef
ifeq ($(biarch32),yes)
- ifeq ($(with_multiarch_lib),yes)
- debian_patches += gcc-multilib64-multiarch
- else
- debian_patches += gcc-multilib64
- endif
+ debian_patches += gcc-multilib64-multiarch
endif
ifeq (,$(filter $(distrelease),lenny squeeze dapper hardy intrepid jaunty karmic lucid maverick))
Reply to: