Skip to content

msys2-runtime: update to 3.6.7-1#277

Merged
dscho merged 3 commits intomainfrom
msys2-runtime-8e8e0917c53ffb51b7d12a9099b310f8321ea92e
Mar 5, 2026
Merged

msys2-runtime: update to 3.6.7-1#277
dscho merged 3 commits intomainfrom
msys2-runtime-8e8e0917c53ffb51b7d12a9099b310f8321ea92e

Conversation

@gitforwindowshelper
Copy link

This corresponds to git-for-windows/msys2-runtime#127

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
dscho added 2 commits March 3, 2026 11:18
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
When building with the recently-updated `gawk` v5.4.0 using Git for
Windows' fork of the MSYS2 runtime, the invocation of `gentls_offsets`
fails. The unhelpful symptom is:

    GEN      tlsoffsets
  <stdin>:6:37: error: expected initializer before '*' token
  <stdin>:6:41: error: expected unqualified-id before '=' token
  <stdin>:6:71: error: expected unqualified-id before ')' token
  awk: fatal: cannot open file `tlsoffsets' for reading: No such file or directory
  /d/a/MSYS2-packages/MSYS2-packages/msys2-runtime/src/msys2-runtime/winsup/cygwin/scripts/gentls_offsets: line 104: [: -ne: unary operator expected

The underlying reason is that the bug fix for
git-for-windows/git#2189 interacts badly with
the new gawk version's behavior when setting `LC_ALL` to `C`. The
concrete problem is that:

	printf 'void (*func) (int, siginfo_t *, void *);\n' |
	gawk '
	  {
	      # Filter out function names
	      print gensub (/\(\*(\w+)\)\s*\([^\)]*\)/, "\\1", "g");
	  }
	'

no longer prints the expected:

	void func;

but instead:

	void (*func) (int, siginfo_t *, void *);

The worst part is that this patch seems not even necessary to fix the
bug anymore, some other change in the past six years must have gotten
to the true root cause that I must have missed.

Therefore, I _will_ revert that patch, but in the meantime I also have
to work around the current build failure because I have to build a new
MSYS2 runtime to fix the bug that prevents the MSYS2 runtime from being
built correctly, a classic Catch-22.

Let's just force `LC_ALL=C.UTF-8` specifically for `gawk`. We can
always drop that work-around later, once a fixed MSYS2 runtime is
deployed.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
@dscho
Copy link
Member

dscho commented Mar 5, 2026

/deploy

@dscho

This comment was marked as outdated.

@dscho dscho merged commit b6d39f4 into main Mar 5, 2026
4 checks passed
@dscho dscho deleted the msys2-runtime-8e8e0917c53ffb51b7d12a9099b310f8321ea92e branch March 5, 2026 08:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant