GNU bug report logs -
#74783
gcc@4.9.4 fails to build
Previous Next
To reply to this bug, email your comments to 74783 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
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):
[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):
[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):
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.