Get newest gcc for debian?

17,191

Solution 1

Debian 6.0 is Squeeze (currently stable); Lenny was 5.0 (currently oldstable). I'll assume you meant Squeeze.

Use apt-pinning to safely add Wheezy (currently testing) to your sources.list, then install gcc-4.7/wheezy.

In other words, your /etc/apt/sources.list should look something like this:

deb local.debian.mirror squeeze main
deb local.debian.mirror wheezy main

while your /etc/apt/preferences should look something like this:

Package: *
Pin: release n=squeeze
Pin-Priority: 900

Package: *
Pin: release n=wheezy
Pin-Priority: 200

(The exact numbers don't matter too much; see man 5 apt_preferences for details on what various ranges mean.)

This will prevent testing packages from being unintentionally installed. (Of course, you could just upgrade your whole system to testing.)

You may get some resolution errors with apt-get install gcc-4.7/testing as it will have dependencies that require versions greater than stable; apt-get --target-release testing install gcc-4.7 will set testing to priority 990 for the duration of the command.

Solution 2

Backporting to squeeze/stable is possible, but non-trivial. Here is a patch against files in the debian directory that applies against the 4.7.0-1 Debian sources in testing (should also work against the presumably slightly different version 4.7.0-3 in unstable), and should allow one to successfully build on squeeze, though I have not tested the patch directly by applying it to pristine sources. Obviously, installing binary packages from testing on stable is possible, but not a good idea in general. Doing such things is a recipe for instability, and defeats the purpose of using stable in the first place. However, backporting in this fashion should not force any additional upgrades, and cause no problems with your system.

I don't recall making changes to rules.parameters, but most of the rest of the patch is changes I made, as opposed to machine generated changes. Try applying this patch to the Debian sources, and running debuild binary or similar. I could upload the patch somewhere if there is interest, and if getting it from this message is not convenient. Reports of success and failure welcomed.

Notes:

  • This will require installing a bunch of build dependencies, but only from squeeze,
    and apt-get build-dep won't work since the build dependencies have been locally
    altered - you'll have to do it manually.
  • The build of libgcc1-dbg was giving errors, so I took it out.
  • The test suite has some problems, so I disabled them. See the lines with_check := disabled by hand. The issue is not the tests failing, but the build can't find some files related to the tests, so it errors out.
  • I replaced binutils by the version in squeeze, namely binutils (>= 2.20.1).
  • I disabled multilib, since squeeze does not use it.
  • This version was tested on amd64, but should also work in i386 at least.
#
diff -r 04f0dc0998f4 -r 77371b9693ea control
--- a/control   Tue Apr 03 04:38:21 2012 -0400
+++ b/control   Sun Apr 15 03:46:44 2012 -0400
@@ -4,7 +4,7 @@
 Maintainer: Debian GCC Maintainers <[email protected]>
 Uploaders: Matthias Klose <[email protected]>
 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-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 [!knetbsd-i386 !knetbsd-alpha], procps, sharutils, 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.14.15), debhelper (>= 5.0.62), g++-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc], libc6.1-dev (>= 2.11) [alpha ia64] | libc0.3-dev (>= 2.11) [hurd-i386] | libc0.1-dev (>= 2.11) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.11), 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.20.1) | binutils-multiarch (>= 2.20.1), binutils-hppa64 (>= 2.20.1) [hppa], gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, texinfo (>= 4.3), locales [!knetbsd-i386 !knetbsd-alpha], procps, sharutils, binutils-spu (>= 2.20.1) [powerpc ppc64], newlib-spu (>= 1.16.0) [powerpc ppc64], libcloog-ppl-dev (>= 0.15.9-2~), libmpc-dev, libmpfr-dev, libgmp3-dev, libelfg0-dev (>= 0.8.12), dejagnu [!m68k !hurd-i386 !hurd-alpha], autogen, realpath (>= 1.9.12), chrpath, lsb-release, make (>= 3.81), quilt
 Build-Conflicts: binutils-gold
 Homepage: http://gcc.gnu.org/
 XS-Vcs-Browser: http://svn.debian.org/viewsvn/gcccvs/branches/sid/gcc-4.7/
@@ -12,7 +12,6 @@

 Package: gcc-4.7-base
 Architecture: any
-Multi-Arch: same
 Section: libs
 Priority: required
 Depends: ${misc:Depends}
@@ -27,33 +26,32 @@
 Section: libs
 Priority: required
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
-Multi-Arch: same
-Pre-Depends: multiarch-support
-Breaks: ${multiarch:breaks}
 Provides: libgcc1-armel [armel], libgcc1-armhf [armhf]
 Description: GCC support library
  Shared version of the support library, a library of internal subroutines
  that GCC uses to overcome shortcomings of particular machines, or
  special needs for some languages.

-Package: libgcc1-dbg
-Architecture: any
-Section: debug
-Priority: extra
-Depends: gcc-4.7-base (= ${gcc:Version}), libgcc1 (= ${gcc:EpochVersion}), ${misc:Depends}
-Multi-Arch: same
-Provides: libgcc1-dbg-armel [armel], libgcc1-dbg-armhf [armhf]
-Description: GCC support library (debug symbols)
- Debug symbols for the GCC support library.
+# Package: libgcc1-dbg`'LS
+# Architecture: ifdef(`TARGET',`all',`any')
+# 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]')
+# Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `')
+#  Debug symbols for the GCC support library.
+# ifdef(`TARGET', `dnl
+#  .
+#  This package contains files for TARGET architecture, for use in cross-compile
+#  environment.
+# ')`'dnl

 Package: libgcc2
 Architecture: m68k
 Section: libs
 Priority: required
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
-Multi-Arch: same
-Pre-Depends: multiarch-support
-Breaks: ${multiarch:breaks}
 Description: GCC support library
  Shared version of the support library, a library of internal subroutines
  that GCC uses to overcome shortcomings of particular machines, or
@@ -64,15 +62,11 @@
 Section: debug
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libgcc2 (= ${gcc:Version}), ${misc:Depends}
-Multi-Arch: same
 Description: GCC support library (debug symbols)
  Debug symbols for the GCC support library.

 Package: libgcc4
 Architecture: hppa
-Multi-Arch: same
-Pre-Depends: multiarch-support
-Breaks: ${multiarch:breaks}
 Section: libs
 Priority: required
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -83,7 +77,6 @@

 Package: libgcc4-dbg
 Architecture: hppa
-Multi-Arch: same
 Section: debug
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libgcc4 (= ${gcc:Version}), ${misc:Depends}
@@ -174,7 +167,7 @@
 Architecture: any
 Section: devel
 Priority: optional
-Depends: gcc-4.7-base (= ${gcc:Version}), gcc-4.7 (= ${gcc:Version}), libgmp-dev (>= 2:5.0.1~), ${shlibs:Depends}, ${misc:Depends}
+Depends: gcc-4.7-base (= ${gcc:Version}), gcc-4.7 (= ${gcc:Version}), libgmp3-dev, ${shlibs:Depends}, ${misc:Depends}
 Description: Files for GNU GCC plugin development.
  This package contains (header) files for GNU GCC plugin development. It
  is only used for the development of GCC plugins, but not needed to run
@@ -268,9 +261,6 @@

 Package: libmudflap0
 Architecture: any
-Multi-Arch: same
-Pre-Depends: multiarch-support
-Breaks: ${multiarch:breaks}
 Provides: libmudflap0-armel [armel], libmudflap0-armhf [armhf]
 Section: libs
 Priority: optional
@@ -281,7 +271,6 @@

 Package: libmudflap0-dbg
 Architecture: any
-Multi-Arch: same
 Provides: libmudflap0-dbg-armel [armel], libmudflap0-dbg-armhf [armhf]
 Section: debug
 Priority: extra
@@ -364,9 +353,6 @@
 Package: libgomp1
 Section: libs
 Architecture: any
-Multi-Arch: same
-Pre-Depends: multiarch-support
-Breaks: ${multiarch:breaks}
 Provides: libgomp1-armel [armel], libgomp1-armhf [armhf]
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -379,7 +365,6 @@
 Section: debug
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libgomp1 (= ${gcc:Version}), ${misc:Depends}
-Multi-Arch: same
 Provides: libgomp1-dbg-armel [armel], libgomp1-dbg-armhf [armhf]
 Description: GCC OpenMP (GOMP) support library (debug symbols)
  GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
@@ -442,8 +427,6 @@
 Package: libitm1
 Section: libs
 Architecture: any
-Multi-Arch: same
-Pre-Depends: multiarch-support
 Provides: libitm1-armel [armel], libitm1-armhf [armhf]
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -457,7 +440,6 @@
 Section: debug
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libitm1 (= ${gcc:Version}), ${misc:Depends}
-Multi-Arch: same
 Provides: libitm1-dbg-armel [armel], libitm1-dbg-armhf [armhf]
 Description: GNU Transactional Memory Library (debug symbols)
  This manual documents the usage and internals of libitm. It provides
@@ -528,8 +510,6 @@
 Package: libquadmath0
 Section: libs
 Architecture: any
-Multi-Arch: same
-Pre-Depends: multiarch-support
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
 Description: GCC Quad-Precision Math Library
@@ -542,7 +522,6 @@
 Section: debug
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libquadmath0 (= ${gcc:Version}), ${misc:Depends}
-Multi-Arch: same
 Description: GCC Quad-Precision Math Library (debug symbols)
  A library, which provides quad-precision mathematical functions on targets
  supporting the __float128 datatype.
@@ -654,8 +633,6 @@
 Package: libobjc4
 Section: libs
 Architecture: any
-Multi-Arch: same
-Pre-Depends: multiarch-support
 Provides: libobjc4-armel [armel], libobjc4-armhf [armhf]
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -665,7 +642,6 @@
 Package: libobjc4-dbg
 Section: debug
 Architecture: any
-Multi-Arch: same
 Provides: libobjc4-dbg-armel [armel], libobjc4-dbg-armhf [armhf]
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libobjc4 (= ${gcc:Version}), libgcc1-dbg, ${misc:Depends}
@@ -748,9 +724,6 @@
 Package: libgfortran3
 Section: libs
 Architecture: any
-Multi-Arch: same
-Pre-Depends: multiarch-support
-Breaks: ${multiarch:breaks}
 Provides: libgfortran3-armel [armel], libgfortran3-armhf [armhf]
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -761,7 +734,6 @@
 Package: libgfortran3-dbg
 Section: debug
 Architecture: any
-Multi-Arch: same
 Provides: libgfortran3-dbg-armel [armel], libgfortran3-dbg-armhf [armhf]
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libgfortran3 (= ${gcc:Version}), ${misc:Depends}
@@ -850,8 +822,6 @@
 Package: libgo0
 Section: libs
 Architecture: any
-Multi-Arch: same
-Pre-Depends: multiarch-support
 Provides: libgo0-armel [armel], libgo0-armhf [armhf]
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -862,7 +832,6 @@
 Package: libgo0-dbg
 Section: debug
 Architecture: any
-Multi-Arch: same
 Provides: libgo0-dbg-armel [armel], libgo0-dbg-armhf [armhf]
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libgo0 (= ${gcc:Version}), ${misc:Depends}
@@ -930,9 +899,6 @@
 Section: libs
 Priority: important
 Depends: gcc-4.7-base (= ${gcc:Version}), ${dep:libc}, ${shlibs:Depends}, ${misc:Depends}
-Multi-Arch: same
-Pre-Depends: multiarch-support
-Breaks: ${multiarch:breaks}
 Provides: libstdc++6-armel [armel], libstdc++6-armhf [armhf]
 Conflicts: scim (<< 1.4.2-1)
 Description: GNU Standard C++ Library v3
@@ -1011,7 +977,6 @@
 Section: debug
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}), libgcc1-dbg, ${shlibs:Depends}, ${misc:Depends}
-Multi-Arch: same
 Provides: libstdc++6-4.7-dbg-armel [armel], libstdc++6-4.7-dbg-armhf [armhf]
 Recommends: libstdc++6-4.7-dev (= ${gcc:Version})
 Conflicts: libstdc++5-dbg, libstdc++5-3.3-dbg, libstdc++6-dbg, libstdc++6-4.0-dbg, libstdc++6-4.1-dbg, libstdc++6-4.2-dbg, libstdc++6-4.3-dbg, libstdc++6-4.4-dbg, libstdc++6-4.5-dbg, libstdc++6-4.6-dbg
diff -r 04f0dc0998f4 -r 77371b9693ea control.m4
--- a/control.m4    Tue Apr 03 04:38:21 2012 -0400
+++ b/control.m4    Sun Apr 15 03:46:44 2012 -0400
@@ -182,20 +182,20 @@
  environment.
 ')`'dnl

-Package: libgcc1-dbg`'LS
-Architecture: ifdef(`TARGET',`all',`any')
-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]')
-Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `')
- Debug symbols for the GCC support library.
-ifdef(`TARGET', `dnl
- .
- This package contains files for TARGET architecture, for use in cross-compile
- environment.
-')`'dnl
+# Package: libgcc1-dbg`'LS
+# Architecture: ifdef(`TARGET',`all',`any')
+# 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]')
+# Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `')
+#  Debug symbols for the GCC support library.
+# ifdef(`TARGET', `dnl
+#  .
+#  This package contains files for TARGET architecture, for use in cross-compile
+#  environment.
+# ')`'dnl

 Package: libgcc2`'LS
 Architecture: ifdef(`TARGET',`all',`m68k')
diff -r 04f0dc0998f4 -r 77371b9693ea rules.conf
--- a/rules.conf    Tue Apr 03 04:38:21 2012 -0400
+++ b/rules.conf    Sun Apr 15 03:46:44 2012 -0400
@@ -132,9 +132,9 @@
 # We need binutils (>= 2.19.1) for a new dwarf unwind expression opcode.
 # See http://gcc.gnu.org/ml/gcc-patches/2008-09/msg01713.html
 ifeq ($(trunk_build),yes)
-  BINUTILSV = 2.22
+  BINUTILSV = 2.20.1
 else
-  BINUTILSV = 2.21.1
+  BINUTILSV = 2.20.1
 endif
 ifeq ($(DEB_CROSS),yes)
   BINUTILS_BUILD_DEP = binutils$(TS) (>= $(BINUTILSV)), binutils-multiarch (>= $(BINUTILSV))
diff -r 04f0dc0998f4 -r 77371b9693ea rules.d/binary-libgcc.mk
--- a/rules.d/binary-libgcc.mk  Tue Apr 03 04:38:21 2012 -0400
+++ b/rules.d/binary-libgcc.mk  Sun Apr 15 03:46:44 2012 -0400
@@ -65,16 +65,14 @@
    )

    debian/dh_doclink -p$(p_l) $(if $(3),$(3),$(p_base))
-   debian/dh_doclink -p$(p_d) $(if $(3),$(3),$(p_base))
    debian/dh_rmemptydirs -p$(p_l)
-   debian/dh_rmemptydirs -p$(p_d)
-   dh_strip -p$(p_l) --dbg-package=$(p_d)
+   dh_strip -p$(p_l)

    # see Debian #533843 for the __aeabi symbol handling; this construct is
    # just to include the symbols for dpkg versions older than 1.15.3 which
    # didn't allow bypassing the symbol blacklist
    $(if $(filter yes,$(with_shared_libgcc)),
-       dh_makeshlibs -p$(p_l) -p$(p_d) \
+       dh_makeshlibs -p$(p_l) \
            -- -v$(DEB_LIBGCC_VERSION)
        $(call cross_mangle_shlibs,$(p_l))
        $(if $(filter arm-linux-gnueabi%,$(DEB_TARGET_GNU_TYPE)),
@@ -89,9 +87,9 @@
    DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l)
    $(call cross_mangle_substvars,$(p_l))

-   dh_compress -p$(p_l) -p$(p_d)
-   dh_fixperms -p$(p_l) -p$(p_d)
-   dh_gencontrol -p$(p_l) -p$(p_d) \
+   dh_compress -p$(p_l)
+   dh_fixperms -p$(p_l)
+   dh_gencontrol -p$(p_l) \
        -- -v$(DEB_LIBGCC_VERSION) $(common_substvars)
    $(call cross_mangle_control,$(p_l))

@@ -101,9 +99,9 @@
            > $(d_l)/usr/share/lintian/overrides/$(p_l)
    )

-   dh_installdeb -p$(p_l) -p$(p_d)
-   dh_md5sums -p$(p_l) -p$(p_d)
-   dh_builddeb -p$(p_l) -p$(p_d)
+   dh_installdeb -p$(p_l)
+   dh_md5sums -p$(p_l)
+   dh_builddeb -p$(p_l)

    trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
 endef
diff -r 04f0dc0998f4 -r 77371b9693ea rules.defs
--- a/rules.defs    Tue Apr 03 04:38:21 2012 -0400
+++ b/rules.defs    Sun Apr 15 03:46:44 2012 -0400
@@ -991,7 +991,7 @@
 # run testsuite ---------------
 with_check := yes
 # if you don't want to run the gcc testsuite, uncomment the next line
-#with_check := disabled by hand
+with_check := disabled by hand
 ifeq ($(with_base_only),yes)
   with_check := no
 endif
diff -r 04f0dc0998f4 -r 77371b9693ea rules.parameters
--- a/rules.parameters  Tue Apr 03 04:38:21 2012 -0400
+++ b/rules.parameters  Sun Apr 15 03:46:44 2012 -0400
@@ -2,15 +2,15 @@
 GCC_VERSION    := 4.7.0
 NEXT_GCC_VERSION   := 4.7.1
 BASE_VERSION   := 4.7
-SOURCE_VERSION := 4.7.0~rc2-1
-DEB_VERSION    := 4.7.0~rc2-1
-DEB_EVERSION   := 1:4.7.0~rc2-1
+SOURCE_VERSION := 4.7.0-1
+DEB_VERSION    := 4.7.0-1
+DEB_EVERSION   := 1:4.7.0-1
 GDC_BASE_VERSION  := 
 DEB_GDC_VERSION    := 
 DEB_SOVERSION  := 4.7
 DEB_SOEVERSION := 1:4.7
 DEB_LIBGCC_SOVERSION   := 1:4.7
-DEB_LIBGCC_VERSION := 1:4.7.0~rc2-1
+DEB_LIBGCC_VERSION := 1:4.7.0-1
 DEB_STDCXX_SOVERSION   := 4.7
 DEB_GCJ_SOVERSION  := 4.7
 PKG_GCJ_EXT    := 13
Share:
17,191

Related videos on Youtube

Kevin
Author by

Kevin

Updated on September 18, 2022

Comments

  • Kevin
    Kevin over 1 year

    I can't build my apps on gcc since I use various c++0x features. I'm on Debian 6 (Lenny) and after upgrade/updating I have gcc version 4.4.5-8. I'm unsure which version is required but mingw 4.6.2 works. gcc 4.7.0 is out.

    How do I install gcc version 4.6+ on Debian?

    • Admin
      Admin about 12 years
      Are you looking for an alternative to downloading the gcc source files and compiling yourself, or are you ok with building the package from source?
    • Admin
      Admin about 12 years
      @sbtkd85 whichever gets the job done but i prefer the simplest way like downloading binaries or adding a repo to apt-get or such
    • Admin
      Admin about 12 years
      Lenny is Debian 5. Squeeze is Debian 6. Are you on 5 or 6?
    • Admin
      Admin about 12 years
      Also, is there a particular reason you need 4.7? One of the reasons Debian doesn't rapidly add the latest versions is because they feel production level stability trumps having the latest and greatest.
    • Admin
      Admin about 12 years
      @acidzombie24: If you mean squeeze, as I think you do, please edit your question to say that. Thanks.
    • Admin
      Admin about 10 years
      See also the more recent unix.stackexchange.com/q/126433/4671
  • Sune Kaae
    Sune Kaae about 12 years
    D'oh, i use to use lenny, i like it (the OS and name!). I meant squeeze correct. I tried to get wheezy but thats not ready yet
  • matiu
    matiu almost 12 years
    That was brilliant, I wish I could plus 5 :) Thanks for doing the work there @ephemient
  • Alen Milakovic
    Alen Milakovic about 10 years
    This is an incorrect and possibly dangerous procedure. Mixing binary packages from two different versions of Debian is a Bad Idea. The correct approach is backports. See unix.stackexchange.com/q/112157/4671
  • lppier
    lppier over 9 years
    @maitu Did it work for you? I'm desperate enough to try anything at this point. Anyone I don't think gcc is in a backport release (I need 4.7)