GNU bug report logs - #49935
gcc-4.8 fails to build with recent GCC versions

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix; Reported by: Thiago Jung Bauermann <bauermann@HIDDEN>; dated Sat, 7 Aug 2021 23:08:02 UTC; Maintainer for guix is bug-guix@HIDDEN.

Message received at 49935 <at> debbugs.gnu.org:


Received: (at 49935) by debbugs.gnu.org; 19 Jan 2024 08:39:54 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jan 19 03:39:54 2024
Received: from localhost ([127.0.0.1]:57452 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1rQkPp-0003pV-Rn
	for submit <at> debbugs.gnu.org; Fri, 19 Jan 2024 03:39:54 -0500
Received: from smtprelay03.ispgateway.de ([80.67.31.30]:56883)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <outgoing@HIDDEN>) id 1rQkJk-0003ey-88
 for 49935 <at> debbugs.gnu.org; Fri, 19 Jan 2024 03:33:37 -0500
Received: from [93.210.55.122] (helo=euler.schwinge.homeip.net)
 by smtprelay03.ispgateway.de with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.97.1)
 (envelope-from <outgoing@HIDDEN>) id 1rQkJf-000000004i4-3vo6;
 Fri, 19 Jan 2024 09:33:32 +0100
Received: (nullmailer pid 725983 invoked by uid 1000);
 Fri, 19 Jan 2024 08:33:30 -0000
From: Thomas Schwinge <thomas@HIDDEN>
To: Thiago Jung Bauermann <bauermann@HIDDEN>, 49935 <at> debbugs.gnu.org
Subject: Re: bug#49935: gcc-4.8 fails to build with recent GCC versions
In-Reply-To: <3505131.mCAMElSiHm@popigai>
References: <3505131.mCAMElSiHm@popigai>
User-Agent: Notmuch/0.29.3+94~g74c3f1b (https://notmuchmail.org) Emacs/28.2
 (x86_64-pc-linux-gnu)
Date: Fri, 19 Jan 2024 09:33:28 +0100
Message-ID: <87mst1en8n.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Df-Sender: b3V0Z29pbmdAc2Nod2luZ2UubmFtZQ==
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 49935
X-Mailman-Approved-At: Fri, 19 Jan 2024 03:39:50 -0500
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On 2021-08-07T20:07:32-0300, Thiago Jung Bauermann via Bug reports for GNU =
Guix <bug-guix@HIDDEN> wrote:
> In file included from /tmp/guix-build-gcc-4.8.5.drv-0/build/powerpc64le-u=
nknown-linux-gnu/libstdc++-v3/include/cstdlib:72:0,
>                  from ../../../../gcc-4.8.5/libstdc++-v3/libsupc++/del_op=
.cc:38:
> /gnu/store/358n1m2c8fbn6nr1mib4racjh7wfqfmy-gcc-10.3.0/include/c++/stdlib=
.h:38:12: error: =E2=80=98std::abort=E2=80=99 has not been declared
>  using std::abort;
>             ^
> /gnu/store/358n1m2c8fbn6nr1mib4racjh7wfqfmy-gcc-10.3.0/include/c++/stdlib=
.h:39:12: error: =E2=80=98std::atexit=E2=80=99 has not been declared
>  using std::atexit;
>             ^
> [...]

This looks similar to <https://issues.guix.gnu.org/41209>
"AVR toolchain fails to build", fixed by
commit fd96ae4a709c5509f2d78af3968d64fe805ad1ef
"gnu: avr-gcc: Fix conflicting GCC headers", or
<https://issues.guix.gnu.org/41210>
"gcc-cross-sans-libc-arm-none-eabi-4.9.4-1.227977 fails to build", fixed
by commit 7f6d3f395023ff430cf8b7a981d4780698e9d132
"gnu: gcc-arm-none-eabi: Fix conflicting GCC headers".




Information forwarded to bug-guix@HIDDEN:
bug#49935; Package guix. Full text available.

Message received at 49935 <at> debbugs.gnu.org:


Received: (at 49935) by debbugs.gnu.org; 7 Aug 2021 23:23:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 07 19:23:29 2021
Received: from localhost ([127.0.0.1]:53328 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mCVf4-0003GV-F4
	for submit <at> debbugs.gnu.org; Sat, 07 Aug 2021 19:23:29 -0400
Received: from mx.kolabnow.com ([95.128.36.40]:59828)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bauermann@HIDDEN>) id 1mCVez-0003GC-QT
 for 49935 <at> debbugs.gnu.org; Sat, 07 Aug 2021 19:23:25 -0400
Received: from localhost (unknown [127.0.0.1])
 by ext-mx-out003.mykolab.com (Postfix) with ESMTP id 955D640AE3
 for <49935 <at> debbugs.gnu.org>; Sun,  8 Aug 2021 01:23:15 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h=
 content-transfer-encoding:mime-version:message-id:date:date
 :subject:subject:from:from:received:received:received; s=
 dkim20160331; t=1628378594; x=1630192995; bh=hLCmqWAkG6qu1zKyl9k
 YtHiF+dsv1OYhSm02/4Zhx2w=; b=5aKgEYGp3FgRlHl0f/jlwIXxLph8o86AUx8
 dwOvztVGo288prJPkaQ+VUOFMnRvYPLfxZimLaKxFTmP3ZGqwK6/BrLkwUQAbYG8
 SQdtPpdVYaUgt6B4/DrMpIjFSsDEX0G2pn5mzwKiSY9K88LNtM6RpUL2+YyKmGyS
 ihoe2MyGrsFdpevKIh6q/FgCMI7YSAVgjC7P2TTO5+9DOifYpdRqTGFZ6qz8T3tz
 Lj0i8cwycC1gH4XW27SWyjdWuBI38mv015DXneZ0Q230+nAyWXaibbXNsqF9B8k0
 gUOC0lWhkYlpULKz79s1CjfVW4KaDLEqP07NrVAMyvjySQycvfP56HlAbiZunYbS
 IXHC/vzyL548vUAPgByilv8BoASG0umJIUIm7rZlT6fklj6ApUMg8YGq0I8iXf8S
 0HkFJeouVQvGRLaDUK2aZJ/pFhGCJCHSvc34M5AVQH6VyNzzPVPUoi0rkSj5ZiDI
 o7lVF5vJlgceH82TdKW2LYSLT+kNqPthkrJgRGZFnXTHDEsr3lYzt8vP6c2yXz9M
 KGbkTqZZQoaaRHfBOTiJr9FBL3lT3+C7GpK8aMJz/rXMZELp4YBKy4ZZ6L+zbUQE
 mX/phImjcAjVQeni4s3VnkhXjA1sr6TjiHgZU/CY5XNZi4vLP2WJRjjVkTEjNO9r
 3OGhL2as=
X-Virus-Scanned: amavisd-new at mykolab.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-10 required=5
 tests=[BAYES_00=-1.9] autolearn=ham autolearn_force=no
Received: from mx.kolabnow.com ([127.0.0.1])
 by localhost (ext-mx-out003.mykolab.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id G-smV5mUe8JA for <49935 <at> debbugs.gnu.org>;
 Sun,  8 Aug 2021 01:23:14 +0200 (CEST)
Received: from int-mx002.mykolab.com (unknown [10.9.13.2])
 by ext-mx-out003.mykolab.com (Postfix) with ESMTPS id 86A0E4084C
 for <49935 <at> debbugs.gnu.org>; Sun,  8 Aug 2021 01:23:14 +0200 (CEST)
Received: from ext-subm003.mykolab.com (unknown [10.9.6.3])
 by int-mx002.mykolab.com (Postfix) with ESMTPS id 171214951;
 Sun,  8 Aug 2021 01:23:14 +0200 (CEST)
From: Thiago Jung Bauermann <bauermann@HIDDEN>
To: 49935 <at> debbugs.gnu.org
Subject: [PATCH] gnu: gcc-4.8: Fix build with GCC 6 and later
Date: Sat,  7 Aug 2021 20:23:00 -0300
Message-Id: <20210807232300.1074458-1-bauermann@HIDDEN>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: -0.0 (/)
X-Debbugs-Envelope-To: 49935
Cc: Thiago Jung Bauermann <bauermann@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Versions of GCC earlier than 6 need this change in order to be built by GCC
6 and later. At the time, the fix was backported to GCC 4.9 and GCC 5 but
not GCC 4.8.

Therefore, backport the fix from GCC 4.9 to GCC 4.8.

* gnu/packages/gcc.scm (gcc-4.8)[source]: Apply
gcc-4.8-fix-build-with-newer-gcc.patch.
* gnu/packages/patches/gcc-4.8-fix-build-with-newer-gcc.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add new file.
---

Hi,

This is the patch I mentioned in my previous email. Despite the subject
and the name of the patch file, this change is necessary but unfortunately
not sufficient to make GCC 4.8 build with GCC 6 or later.

This patch solves the same problem as gcc-4-compile-with-gcc-5.patch and
gcc-4.6-gnu-inline.patch (which are actually the exact same patch).

Regards,
Thiago

 gnu/local.mk                                  |   1 +
 gnu/packages/gcc.scm                          |   4 +-
 .../gcc-4.8-fix-build-with-newer-gcc.patch    | 181 ++++++++++++++++++
 3 files changed, 185 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/gcc-4.8-fix-build-with-newer-gcc.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 61ac39618a73..663f48f1833c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1059,6 +1059,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/gcc-cross-environment-variables.patch	\
   %D%/packages/patches/gcc-fix-texi2pod.patch			\
   %D%/packages/patches/gcc-4.8-libsanitizer-fix.patch		\
+  %D%/packages/patches/gcc-4.8-fix-build-with-newer-gcc.patch	\
   %D%/packages/patches/gcc-4.9-libsanitizer-fix.patch		\
   %D%/packages/patches/gcc-4.9-libsanitizer-ustat.patch		\
   %D%/packages/patches/gcc-libsanitizer-ustat.patch		\
diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm
index 2fe30b13210e..586673042a1c 100644
--- a/gnu/packages/gcc.scm
+++ b/gnu/packages/gcc.scm
@@ -383,7 +383,9 @@ Go.  It also includes runtime support libraries for these languages.")
               (patches (search-patches "gcc-arm-link-spec-fix.patch"
                                        "gcc-4.8-libsanitizer-fix.patch"
                                        "gcc-asan-missing-include.patch"
-                                       "gcc-fix-texi2pod.patch"))
+                                       "gcc-fix-texi2pod.patch"
+                                       ;; See https://gcc.gnu.org/legacy-ml/gcc-patches/2016-02/msg01409.html
+                                       "gcc-4.8-fix-build-with-newer-gcc.patch"))
               (modules '((guix build utils)))
               ;; This is required for building with glibc-2.26.
               ;; https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81712
diff --git a/gnu/packages/patches/gcc-4.8-fix-build-with-newer-gcc.patch b/gnu/packages/patches/gcc-4.8-fix-build-with-newer-gcc.patch
new file mode 100644
index 000000000000..e2fe2af03d08
--- /dev/null
+++ b/gnu/packages/patches/gcc-4.8-fix-build-with-newer-gcc.patch
@@ -0,0 +1,181 @@
+From 4c212bc2507fc8ab8caba7c5afc1257707572c45 Mon Sep 17 00:00:00 2001
+From: Bernd Edlinger <bernd.edlinger@HIDDEN>
+Date: Thu, 25 Feb 2016 15:36:41 +0000
+Subject: [PATCH] backport: Make-lang.in: Invoke gperf with -L C++.
+
+2016-02-25  Bernd Edlinger  <bernd.edlinger@HIDDEN>
+
+        Backported from mainline
+        2016-02-19  Jakub Jelinek  <jakub@HIDDEN>
+                    Bernd Edlinger  <bernd.edlinger@HIDDEN>
+
+        * Make-lang.in: Invoke gperf with -L C++.
+        * cfns.gperf: Remove prototypes for hash and libc_name_p
+        inlines.
+        * cfns.h: Regenerated.
+        * except.c (nothrow_libfn_p): Adjust.
+
+From-SVN: r233721
+---
+
+Obtained from:
+
+https://gcc.gnu.org/git/?p=gcc.git;a=patch;h=4c212bc2507fc8ab8caba7c5afc1257707572c45
+
+The gcc/cp/ChangeLog hunk was modified to apply on top of gcc-4.8's gcc/cp/ChangeLog.
+
+ gcc/cp/ChangeLog    | 12 ++++++++++++
+ gcc/cp/Make-lang.in |  2 +-
+ gcc/cp/cfns.gperf   | 10 ++--------
+ gcc/cp/cfns.h       | 41 ++++++++++++++---------------------------
+ gcc/cp/except.c     |  3 ++-
+ 5 files changed, 31 insertions(+), 37 deletions(-)
+
+diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
+index 02776465da7..8d014bef83c 100644
+--- a/gcc/cp/ChangeLog
++++ b/gcc/cp/ChangeLog
+@@ -1,3 +1,15 @@
++2016-02-25  Bernd Edlinger  <bernd.edlinger@HIDDEN>
++
++	Backported from mainline
++	2016-02-19  Jakub Jelinek  <jakub@HIDDEN>
++		    Bernd Edlinger  <bernd.edlinger@HIDDEN>
++
++	* Make-lang.in: Invoke gperf with -L C++.
++	* cfns.gperf: Remove prototypes for hash and libc_name_p
++	inlines.
++	* cfns.h: Regenerated.
++	* except.c (nothrow_libfn_p): Adjust.
++
+ 2015-06-23  Release Manager
+ 
+ 	* GCC 4.8.5 released.
+diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
+index bd1c1d78f88..a0ea0d48359 100644
+--- a/gcc/cp/Make-lang.in
++++ b/gcc/cp/Make-lang.in
+@@ -111,7 +111,7 @@ else
+ # deleting the $(srcdir)/cp/cfns.h file.
+ $(srcdir)/cp/cfns.h:
+ endif
+-	gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \
++	gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \
+ 		$(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h
+ 
+ #
+diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf
+index 05ca753927e..d9b16b800ef 100644
+--- a/gcc/cp/cfns.gperf
++++ b/gcc/cp/cfns.gperf
+@@ -1,3 +1,5 @@
++%language=C++
++%define class-name libc_name
+ %{
+ /* Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ 
+@@ -16,14 +18,6 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3.  If not see
+ <http://www.gnu.org/licenses/>.  */
+-#ifdef __GNUC__
+-__inline
+-#endif
+-static unsigned int hash (const char *, unsigned int);
+-#ifdef __GNUC__
+-__inline
+-#endif
+-const char * libc_name_p (const char *, unsigned int);
+ %}
+ %%
+ # The standard C library functions, for feeding to gperf; the result is used
+diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h
+index c845ddf08ea..65801d1ae31 100644
+--- a/gcc/cp/cfns.h
++++ b/gcc/cp/cfns.h
+@@ -1,5 +1,5 @@
+-/* ANSI-C code produced by gperf version 3.0.3 */
+-/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf  */
++/* C++ code produced by gperf version 3.0.4 */
++/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf  */
+ 
+ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
+       && ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
+@@ -28,7 +28,7 @@
+ #error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@HIDDEN>."
+ #endif
+ 
+-#line 1 "cfns.gperf"
++#line 3 "cfns.gperf"
+ 
+ /* Copyright (C) 2000-2014 Free Software Foundation, Inc.
+ 
+@@ -47,25 +47,18 @@ for more details.
+ You should have received a copy of the GNU General Public License
+ along with GCC; see the file COPYING3.  If not see
+ <http://www.gnu.org/licenses/>.  */
+-#ifdef __GNUC__
+-__inline
+-#endif
+-static unsigned int hash (const char *, unsigned int);
+-#ifdef __GNUC__
+-__inline
+-#endif
+-const char * libc_name_p (const char *, unsigned int);
+ /* maximum key range = 391, duplicates = 0 */
+ 
+-#ifdef __GNUC__
+-__inline
+-#else
+-#ifdef __cplusplus
+-inline
+-#endif
+-#endif
+-static unsigned int
+-hash (register const char *str, register unsigned int len)
++class libc_name
++{
++private:
++  static inline unsigned int hash (const char *str, unsigned int len);
++public:
++  static const char *libc_name_p (const char *str, unsigned int len);
++};
++
++inline unsigned int
++libc_name::hash (register const char *str, register unsigned int len)
+ {
+   static const unsigned short asso_values[] =
+     {
+@@ -122,14 +115,8 @@ hash (register const char *str, register unsigned int len)
+   return hval + asso_values[(unsigned char)str[len - 1]];
+ }
+ 
+-#ifdef __GNUC__
+-__inline
+-#ifdef __GNUC_STDC_INLINE__
+-__attribute__ ((__gnu_inline__))
+-#endif
+-#endif
+ const char *
+-libc_name_p (register const char *str, register unsigned int len)
++libc_name::libc_name_p (register const char *str, register unsigned int len)
+ {
+   enum
+     {
+diff --git a/gcc/cp/except.c b/gcc/cp/except.c
+index 221971ac956..32340f5ae83 100644
+--- a/gcc/cp/except.c
++++ b/gcc/cp/except.c
+@@ -1030,7 +1030,8 @@ nothrow_libfn_p (const_tree fn)
+      unless the system headers are playing rename tricks, and if
+      they are, we don't want to be confused by them.  */
+   id = DECL_NAME (fn);
+-  return !!libc_name_p (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id));
++  return !!libc_name::libc_name_p (IDENTIFIER_POINTER (id),
++				   IDENTIFIER_LENGTH (id));
+ }
+ 
+ /* Returns nonzero if an exception of type FROM will be caught by a
+-- 
+2.27.0
+




Information forwarded to bug-guix@HIDDEN:
bug#49935; Package guix. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 7 Aug 2021 23:07:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Aug 07 19:07:49 2021
Received: from localhost ([127.0.0.1]:53307 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1mCVPx-0002s1-Dm
	for submit <at> debbugs.gnu.org; Sat, 07 Aug 2021 19:07:49 -0400
Received: from lists.gnu.org ([209.51.188.17]:44430)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bauermann@HIDDEN>) id 1mCVPw-0002rv-Fe
 for submit <at> debbugs.gnu.org; Sat, 07 Aug 2021 19:07:49 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:51562)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <bauermann@HIDDEN>)
 id 1mCVPw-0001Tu-Ab
 for bug-guix@HIDDEN; Sat, 07 Aug 2021 19:07:48 -0400
Received: from mx.kolabnow.com ([95.128.36.41]:15360)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <bauermann@HIDDEN>)
 id 1mCVPt-0003Fx-G9
 for bug-guix@HIDDEN; Sat, 07 Aug 2021 19:07:47 -0400
Received: from localhost (unknown [127.0.0.1])
 by ext-mx-out002.mykolab.com (Postfix) with ESMTP id D8687109E
 for <bug-guix@HIDDEN>; Sun,  8 Aug 2021 01:07:40 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kolabnow.com; h=
 content-type:content-type:content-transfer-encoding:mime-version
 :message-id:date:date:subject:subject:from:from:received
 :received:received; s=dkim20160331; t=1628377660; x=1630192061;
 bh=FOeG8KeXC3uLmIB6UEQ27IMspoGxhLcq+jyew3cD7SE=; b=FH5OXcFuMapY
 CjsiQK5IqJgLSfXMAMYPAXnKxnwoAuU+2SExJmWRRYO58iYyaudYb9e8SRazf8D0
 vlHMNK1rKCgiZrcCLosHZqjdQZIlR7yyCYNkIE2+7c8nL9yKLOXwJP+16j1oqFVA
 r7Wd6XzywIzdT5Uw6tpvZZRk5/aefOiHZSNGHGhJktp/B/0mScOO294coKiGY/Df
 v1HHS697qzK2knId6O1iwig8e0RyuFRzbfVSIC9LMRaI+26DWFogaDgmI5wfrA4o
 Dmb4sSvfY7wo+Xz+622LbSYicuyVwTT/g/Ml0rMeJ2ue0xUrwgbBlnhvMQka6JI8
 depmwJzLRWtO26axrl4f/y5X5xSb+C39Ju1sbSOy/znXlbpWiG6mCkP2tI62OL7T
 3adWn+IzDkKxBQEej1AU7C8pq86cmbTHM/UUM2bOfHOzm8Yu0kMiqpqx0moAhuSL
 ZvbzaYyOP8L6ugjdbqlC6LO0qRi+0Sbt0ZnDhsTyYf9gRLllBS0YBNqXjh0ScBM7
 RnqZ0tabLR5U7wHMEnEBagxxO41kOuC7HnTED0mh40TJTFfXNjqjLig/MX9SrCHb
 jnDvKZBzFRumsMyj0SIWKu/med3V6Ouue5uy3+aPgpIA1/prl3SSmizWPX5oOYOz
 /yyvNuZBBLH7jpAEMeIN3PG97XU8Le0=
X-Virus-Scanned: amavisd-new at mykolab.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 tagged_above=-10 required=5
 tests=[BAYES_00=-1.9] autolearn=ham autolearn_force=no
Received: from mx.kolabnow.com ([127.0.0.1])
 by localhost (ext-mx-out002.mykolab.com [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id bxiEmHG3N1lG for <bug-guix@HIDDEN>;
 Sun,  8 Aug 2021 01:07:40 +0200 (CEST)
Received: from int-mx002.mykolab.com (unknown [10.9.13.2])
 by ext-mx-out002.mykolab.com (Postfix) with ESMTPS id 178E9BBA
 for <bug-guix@HIDDEN>; Sun,  8 Aug 2021 01:07:39 +0200 (CEST)
Received: from ext-subm001.mykolab.com (unknown [10.9.6.1])
 by int-mx002.mykolab.com (Postfix) with ESMTPS id 81761493F
 for <bug-guix@HIDDEN>; Sun,  8 Aug 2021 01:07:39 +0200 (CEST)
From: Thiago Jung Bauermann <bauermann@HIDDEN>
To: Bug Guix <bug-guix@HIDDEN>
Subject: gcc-4.8 fails to build with recent GCC versions
Date: Sat, 07 Aug 2021 20:07:32 -0300
Message-ID: <3505131.mCAMElSiHm@popigai>
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"
Received-SPF: pass client-ip=95.128.36.41; envelope-from=bauermann@HIDDEN;
 helo=mx.kolabnow.com
X-Spam_score_int: -18
X-Spam_score: -1.9
X-Spam_bar: -
X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, PDS_BTC_ID=0.197,
 PDS_BTC_MSGID=0.001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -0.9 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.9 (-)

Hello,

According to the CI results, gcc-4.8 hasn=E2=80=99t built successfuly in a =
while:

https://ci.guix.gnu.org/search?query=3Dgcc-4.8

I was able to fix the current build failure:

=2D-8<---------------cut here---------------start------------->8---
In file included from ../../gcc-4.8.5/gcc/cp/except.c:1008:0:
cfns.gperf: In function =E2=80=98const char* libc_name_p(const char*, unsig=
ned int)=E2=80=99:
cfns.gperf:101:1: error: =E2=80=98const char* libc_name_p(const char*, unsi=
gned int)=E2=80=99 redeclared inline with =E2=80=98gnu_inline=E2=80=99 attr=
ibute
cfns.gperf:26:14: note: =E2=80=98const char* libc_name_p(const char*, unsig=
ned int)=E2=80=99 previously declared here
=2D-8<---------------cut here---------------end--------------->8---

by backporting a patch from GCC 4.9 (which I will send in the next email),
but then I hit another failure:

=2D-8<---------------cut here---------------start------------->8---
In file included from /tmp/guix-build-gcc-4.8.5.drv-0/build/powerpc64le-unk=
nown-linux-gnu/libstdc++-v3/include/cstdlib:72:0,
                 from ../../../../gcc-4.8.5/libstdc++-v3/libsupc++/del_op.c=
c:38:
/gnu/store/358n1m2c8fbn6nr1mib4racjh7wfqfmy-gcc-10.3.0/include/c++/stdlib.h=
:38:12: error: =E2=80=98std::abort=E2=80=99 has not been declared
 using std::abort;
            ^
/gnu/store/358n1m2c8fbn6nr1mib4racjh7wfqfmy-gcc-10.3.0/include/c++/stdlib.h=
:39:12: error: =E2=80=98std::atexit=E2=80=99 has not been declared
 using std::atexit;
            ^
/gnu/store/358n1m2c8fbn6nr1mib4racjh7wfqfmy-gcc-10.3.0/include/c++/stdlib.h=
:40:12: error: =E2=80=98std::exit=E2=80=99 has not been declared
 using std::exit;
            ^
/gnu/store/358n1m2c8fbn6nr1mib4racjh7wfqfmy-gcc-10.3.0/include/c++/stdlib.h=
:51:12: error: =E2=80=98std::div_t=E2=80=99 has not been declared
 using std::div_t;
            ^
/gnu/store/358n1m2c8fbn6nr1mib4racjh7wfqfmy-gcc-10.3.0/include/c++/stdlib.h=
:52:12: error: =E2=80=98std::ldiv_t=E2=80=99 has not been declared
 using std::ldiv_t;
            ^
    =E2=8B=AE
=2D-8<---------------cut here---------------end--------------->8---

and so on, for several `std::` functions. Unlike the other old GCC build
failures I=E2=80=99ve investigated recently, I couldn=E2=80=99t find anyone=
 else hitting
this specific problem. So we would have to create our own patch to fix it.

This message from Jakub Jelinek about a similar error in some unspecified
package:

https://lists.fedoraproject.org/archives/list/devel@HIDDEN=
/message/Q2U4JFUB5RL7DU2XJZ4BDTRE4PVULOMG/

makes me think that there=E2=80=99s something in GCC 4.8=E2=80=99s libstdc+=
+ (probably
in libsupc++) doing something wrong with <stdlib.h> which trips GCC 6
and later.

However, I don=E2=80=99t think it=E2=80=99s worth making GCC 4.8 build agai=
n. It=E2=80=99s not
supported upstream anymore and if it=E2=80=99s needed in some bootstrap pat=
h,
it=E2=80=99s better to move it to =E2=80=98(gnu packages commencement)=E2=
=80=99 instead. In that
case, instead of fixing this build issue it=E2=80=99s likely better to just=
 build
it with a GCC older than version 6.

Is it needed for bootstrap though? The definition of =E2=80=98%bootstrap-gc=
c=E2=80=99
suggests that it=E2=80=99s needed at least for armhf-linux but since aarch6=
4-linux,
powerpc64le-linux and even i586-hurd use GCC 5.5, I suspect it would also
work for armhf-linux as well.

Therefore, my suggestion is to simply remove gcc-4.8.

=2D-=20
Thanks,
Thiago







Acknowledgement sent to Thiago Jung Bauermann <bauermann@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guix@HIDDEN. Full text available.
Report forwarded to bug-guix@HIDDEN:
bug#49935; Package guix. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sat, 20 Jan 2024 12:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.