GNU bug report logs - #72335
An attempt to fix UCRT64 build failure

Previous Next

Package: emacs;

Reported by: "YI Yue" <include_yy <at> qq.com>

Date: Sun, 28 Jul 2024 13:57:02 UTC

Severity: normal

Tags: wontfix

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Stefan Kangas <stefankangas <at> gmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#72335: closed (An attempt to fix UCRT64 build failure)
Date: Tue, 11 Feb 2025 07:35:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 10 Feb 2025 23:34:17 -0800
with message-id <CADwFkm=r-5ewNcJP=d3vdcpETQyUMvLmQe1G4ZM6o4iReE703g <at> mail.gmail.com>
and subject line Re: bug#72335: An attempt to fix UCRT64 build failure
has caused the debbugs.gnu.org bug report #72335,
regarding An attempt to fix UCRT64 build failure
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
72335: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=72335
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: "YI Yue" <include_yy <at> qq.com>
To: "bug-gnu-emacs" <bug-gnu-emacs <at> gnu.org>
Subject: An attempt to fix UCRT64 build failure
Date: Sun, 28 Jul 2024 22:55:48 +0900
[Message part 3 (text/plain, inline)]
Hello, everyone

I occasionally try to compile Emacs to get the latest commits. But on Windows, I
only use Mingw64 because it's the only one officially supported by Emacs.[1]
When I try to build Emacs in MSYS2/UCRT64, I'll get these outputs:

./temacs --batch  -l loadup --temacs=pbootstrap \
        --bin-dest '/d/user/yy/emacs-build/bin/' --eln-dest '/d/user/yy/emacs-build/lib/emacs/31.0.50/'
D:\user\yy\emacs-master\src\temacs.exe: Write error to standard output: No such file or directory

MSYS2 do provides a patch[2] that do something about function
`close_output_streams' in src/sysdep.c. By applying it, I can get these results:

***
*** "make all" succeeded, but Emacs is not functional.
***

Sometimes I'll check emacs-devel to see if there are any progress in solving
this problem, such as this[3]. Two days ago I saw Pip Cet's "MPS: Win64
testers?"[4] and it inspired me that the problem may come from `init_ntproc' in
src/w32.c. After seeing UCRT's documentation[5], I think maybe we can use
`_fcloseall' instead of `fclose'? By using this, I get no error above when building 
in MSYS2/UCRT64.

I have little knowledge of MSVCRT and UCRT, it just works :)

Here is my patch, regards.

[1]: https://lists.gnu.org/archive/html/help-gnu-emacs/2022-01/msg00441.html
[2]: https://github.com/msys2/MINGW-packages/blob/master/mingw-w64-emacs/001-ucrt.patch
[3]: https://lists.gnu.org/archive/html/emacs-devel/2024-02/msg00744.html
[4]: https://lists.gnu.org/archive/html/emacs-devel/2024-07/msg01055.html
[5]: https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/fclose-fcloseall
[ucrt.patch (application/octet-stream, attachment)]
[Message part 5 (message/rfc822, inline)]
From: Stefan Kangas <stefankangas <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 72335-done <at> debbugs.gnu.org, YI Yue <include_yy <at> qq.com>
Subject: Re: bug#72335: An attempt to fix UCRT64 build failure
Date: Mon, 10 Feb 2025 23:34:17 -0800
Eli Zaretskii <eliz <at> gnu.org> writes:

> tags 72335 wontfix
> thanks
>
>> Date: Sun, 28 Jul 2024 22:55:48 +0900
>> From:  "YI Yue" via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <bug-gnu-emacs <at> gnu.org>
>>
>> I occasionally try to compile Emacs to get the latest commits. But on Windows, I
>> only use Mingw64 because it's the only one officially supported by Emacs.[1]
>> When I try to build Emacs in MSYS2/UCRT64, I'll get these outputs:
>>
>> ./temacs --batch  -l loadup --temacs=pbootstrap \
>>         --bin-dest '/d/user/yy/emacs-build/bin/' --eln-dest '/d/user/yy/emacs-build/lib/emacs/31.0.50/'
>> D:\user\yy\emacs-master\src\temacs.exe: Write error to standard output: No such file or directory
>
> The UCRT build of Emacs on MS-Windows is not officially supported.
> And it will remain unsupported until some volunteer steps forward to
> take the responsibility for testing, maintaining, and developing Emacs
> on Windows when linked with UCRT.  I asked several times for such a
> volunteer, but no one picked up the gauntlet.

I'm therefore closing this bug report.


This bug report was last modified 99 days ago.

Previous Next


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