Maneage - Bugs: bug #60282, Git installation crashes in macOS...
You are not allowed to post comments on this tracker with your current authentication level.
bug #60282: Git installation crashes in macOS after upgrading to Big Sur
Submitter: | Raul Infante-Sainz <infantesainz> | ||
Submitted: | Tue 23 Mar 2021 10:52:04 PM UTC | ||
Category: | Software | Severity: | 3 - Normal |
Item Group: | Crash | Status: | None |
Privacy: | Public | Assigned to: | None |
Open/Closed: | Open |
Thu 15 Jul 2021 07:07:03 PM UTC, comment #3: |
Boud Roukema <boud>![]() |
Thu 15 Jul 2021 06:48:21 PM UTC, comment #2: Git has been upgraded a lot since last year (when we done the latest software update in Maneage): four releases have come out since then (it is currently 2.32).
I have a feeling that the Git people have already found this bug in macOS and fixed it. So probably its best to do checks after updating the Git version in Maneage.
Generally, we need to start a new run of updating the Maneage software, many updates have come for many of our tools :-). |
Mohammad Akhlaghi <makhlaghi>![]() |
Thu 15 Jul 2021 05:50:43 PM UTC, comment #1: Looking at git-2.28.0 that we have currently in Maneage, it looks like:
So failure is expected if:
(i) no system-level include file regex.h is found, or (ii) if the system regex.h is found but it does not define RE_TRANSLATE_TYPE,
and
(iii) if __USE_GNU is false (e.g. undefined).
(i) should cause a compile error. So the bug appears to be (ii) + (iii).
It looks to me like the relevant code (all lines containing RE_TRANSLATE_TYPE) are identical in git-2.26.2 (Maneage prior to b3b4479), git-2.28.0 and git-2.32.0.
It looks like regex.h is a glibc header file, associated with glibc source code or a compiled library, of course, e.g.
and it says on line 8 quite clearly that "This file is part of the GNU C Library."
I can't judge if this is considered to be a bug in git or rather in Darwin/xnu. My guess is that git accepts the GNU approach, i.e. it is happy to provide a backup in case the system-level regex.h is missing, but considers that if regex.h does not define RE_TRANSLATE_TYPE and the system is non-GNU, then it's better to have a compile failure than to guess what RE_TRANSLATE_TYPE should be defined to.
The other missing types I see are reg_errcode_t (an enum type) and reg_syntax_t a macro related to syntax.
There's also ret and REG_NOERROR.
I haven't checked if these are all defined as part of a POSIX standard.
The practical question is whether a hack to provide the if __USE_GNU definitions as a fallback for a non-GNU system that fails to provide these would be safe. Darwin/xnu presumably has its own (possibly secret, since the system is generally not free) hack for compiling git - I can't believe that git is not available as a binary install on a standard recent Darwin/xnu system...
|
Boud Roukema <boud>![]() |
Tue 23 Mar 2021 10:52:04 PM UTC, original submission:
After the upgrade of macOS to Big Sur 11.2.3 with Xcode 12.4 there are many problems during the installation of a number of programs. I had to remove zip and unzip from the prerequisites of tar (so they are not installed). After that I was able to fix several of the problems by just upgrading the version of those programs. In particular, I had to upgrade:
bash 5.0.18 -> 5.1
But then, when it goes to install Git, it crashes. Even after upgrading it to the latest version:
git 2.28.0 -> 2.31.0
The last and relevant lines of the crash are:
Attached in this post there is the full log. Thanks a lot for the help. |
Raul Infante-Sainz <infantesainz>![]() |
Depends on the following items: None found
Items that depend on this one: None found
There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.
Follows 1 latest change.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2021-03-23 | infantesainz | Attached File | - | ![]() |
Added git-crash.tar.gz, #51125 |
I'd be happy for someone with a Darwin/xnu system to try git-2.32.0, and would be pleased for the bug to disappear :), but I'm sceptical:
Neither regex.h, regex_internal.h, nor regex.c change between git-2.28.0 and 2.32.0.