GNU bug report logs - #74783
gcc@4.9.4 fails to build

Previous Next

Package: guix;

Reported by: gay <at> disroot.org

Date: Wed, 11 Dec 2024 10:02:02 UTC

Severity: normal

To reply to this bug, email your comments to 74783 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#74783; Package guix. (Wed, 11 Dec 2024 10:02:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to gay <at> disroot.org:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Wed, 11 Dec 2024 10:02:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: gay <at> disroot.org
To: bug-guix <at> gnu.org
Subject: gcc <at> 4.9.4 fails to build
Date: Wed, 11 Dec 2024 10:01:10 +0000
[Message part 1 (text/plain, inline)]
Hi, trying to run "guix shell hugs" results in error as its dependency 
fails to build.

Attached gzip compressed log.
[64hky1gk2l54im9wa7j2r55a3xyhi8-gcc-4.9.4.drv.gz (application/gzip, attachment)]

Information forwarded to bug-guix <at> gnu.org:
bug#74783; Package guix. (Thu, 26 Dec 2024 08:35:01 GMT) Full text and rfc822 format available.

Message #8 received at 74783 <at> debbugs.gnu.org (full text, mbox):

From: Gábor Stefanik <netrolller.3d <at> gmail.com>
To: 74783 <at> debbugs.gnu.org
Date: Thu, 26 Dec 2024 09:01:31 +0100
[Message part 1 (text/plain, inline)]
Currently bisecting this issue, the range I have right now is
3db653a2c235207b347849200eeb3f89bb4ba51 ..
9dbaa10aa755f33f8050082bb443d1f9eabf6e21

That's a 3 minute commit time difference, but containing 216 commits.
Nothing immediately obvious to my eyes. Many (most?) of the intermediate
commits die well before they would start building gcc-4.9.4, making
bisection incredibly tedious.
[Message part 2 (text/html, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#74783; Package guix. (Tue, 07 Jan 2025 08:01:02 GMT) Full text and rfc822 format available.

Message #11 received at 74783 <at> debbugs.gnu.org (full text, mbox):

From: Gábor Stefanik <netrolller.3d <at> gmail.com>
To: 74783 <at> debbugs.gnu.org
Date: Tue, 7 Jan 2025 03:34:59 +0100
Between 2.35 and 2.38, glibc added the following code to sys/mount.h:

> #ifdef __has_include
> # if __has_include ("linux/mount.h")
> #  include "linux/mount.h"
> # endif
> #endif

This is then used to conditionally define structures that would be in
linux/mount.h, in case linux/mount.h is either unavailable or missing
those structures.

The __has_include directive was added to GCC in v5.0, and didn't
become standard until C++17. Unfortunately, this causes the first
#ifdef to fail, and so linux/mount.h is never checked. Any code trying
to include both sys/mount.h and linux/mount.h will therefore fail when
compiled with GCC < 5.0 and glibc >= 2.38.

Possible solutions:
* Patch sys/mount.h to make it include linux/mount.h unconditionally
on all platforms using the Linux kernel.
* Somehow remove linux/mount.h from GCC 4.9's
sanitizer_platform_limits_posix.cc. Unfortunately it's an indirect
include from linux/fs.h.




This bug report was last modified 213 days ago.

Previous Next


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