From: Marius Bakke <marius@gnu.org>
To: Greg Hogan <code@greghogan.com>
Cc: guix-devel <guix-devel@gnu.org>
Subject: Re: Dealing with non-ASCII file names in BOOTSTRAP-ORIGIN
Date: Tue, 19 Jul 2022 22:56:17 +0200 [thread overview]
Message-ID: <877d48om8e.fsf@gnu.org> (raw)
In-Reply-To: <CA+3U0ZneV39i1jGuOR1bT6+yjryJPZvL5kY1dRMoA_b=QfgnGw@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 2922 bytes --]
Greg Hogan <code@greghogan.com> skriver:
> On the off chance that the following is helpful, in order to switch
> the build to GCC 11 or 12 I had to apply the patch (with the missing
> endif) from
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100017#c12
>
> You may have avoided or worked around this issue, but even though a
> different fix from the ticket was patched into our GCC 11.3 and 12.1,
> these would not bootstrap for me without that patch.
Neat. Do you have a patch submitted to the tracker already? Did you
also find a solution to the file name problem?
I took a slightly different route to work around the libstdc++ bootstrap
issue (see bottom hunk):
--8<---------------cut here---------------start------------->8---
(add-after 'unpack 'apply-patches-and-snippet
(lambda* (#:key inputs #:allow-other-keys)
(let ((patch1 (assoc-ref inputs "patch1"))
(patch2 (assoc-ref inputs "patch2"))
(libstdc++ (assoc-ref inputs "libstdc++")))
;; Apply the patch inputs added below.
(for-each (lambda (patch)
(invoke "patch" "-p1" "--input" patch
"--no-backup-if-mismatch"))
(list patch1 patch2))
;; Apply the gcc-canadian-cross-objdump snippet.
(substitute* "libcc1/configure"
(("\\$gcc_cv_objdump -T")
"$OBJDUMP_FOR_TARGET -T"))
;; Fix a regression in GCC 11 where the libstc++ input
;; shadows glibc headers when building libstdc++. An
;; upstream fix was added in GCC 11.3.0, but it only
;; hides system include directories, not those on
;; CPLUS_INCLUDE_PATH. See discussion at
;; <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100017>.
(substitute* "libstdc++-v3/src/c++17/Makefile.in"
(("^AM_CXXFLAGS = ")
(string-append "CPLUS_INCLUDE_PATH = "
(string-join
(remove (cut string-prefix? libstdc++ <>)
(string-split
(getenv "CPLUS_INCLUDE_PATH")
#\:))
":")
"\nAM_CXXFLAGS = "))))))))
--8<---------------cut here---------------end--------------->8---
It's not pretty, but does the job! I won't push it right away though,
waiting for feedback and checking that things generally work first.
--
Thanks,
Marius
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 247 bytes --]
next prev parent reply other threads:[~2022-07-19 20:56 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-18 19:37 Dealing with non-ASCII file names in BOOTSTRAP-ORIGIN Marius Bakke
2022-07-18 21:00 ` Attila Lendvai
2022-07-19 18:43 ` Greg Hogan
2022-07-19 20:56 ` Marius Bakke [this message]
2022-07-21 15:02 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877d48om8e.fsf@gnu.org \
--to=marius@gnu.org \
--cc=code@greghogan.com \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).