GNU bug report logs -
#72335
An attempt to fix UCRT64 build failure
Previous Next
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
[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)]
[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)]
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.