From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: MinGW build on master fails with Error 127 Date: Sat, 24 Dec 2022 19:20:10 +0200 Message-ID: <83sfh44t2t.fsf@gnu.org> References: <83wn6wr5oz.fsf@gnu.org> <0c9519c9-add7-9fb1-ac7f-2f20e1916d65@bluewin.ch> <83tu20r4y7.fsf@gnu.org> <01b7362d-7d60-3054-5590-d4dbbcda76d7@bluewin.ch> <83r0x4r490.fsf@gnu.org> <837cyh71ft.fsf@gnu.org> <832966a5-bd27-76f9-4757-a8c246eca416@bluewin.ch> <835ye06ex7.fsf@gnu.org> <87sfh424ya.fsf@telefonica.net> <83y1qw4x8w.fsf@gnu.org> <87o7rs22yn.fsf@telefonica.net> <83v8m04un9.fsf@gnu.org> <87cz8820hx.fsf@telefonica.net> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="20686"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: =?iso-8859-1?Q?=D3scar?= Fuentes Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Dec 24 18:20:59 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1p98Ch-0005Ci-D7 for ged-emacs-devel@m.gmane-mx.org; Sat, 24 Dec 2022 18:20:59 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p98By-0007OJ-EH; Sat, 24 Dec 2022 12:20:14 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p98Bw-0007OA-GK for emacs-devel@gnu.org; Sat, 24 Dec 2022 12:20:12 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p98Bv-0008BG-MA; Sat, 24 Dec 2022 12:20:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=ozc2OExvALUq34Dw4/ZbqxSAXpi7J9anLz1lcLws1Mc=; b=BDphI4xigTVRjQ/7nQMJ eiFBnY6LwNPOxohFEfQZMv1vQwu0RB+UP4fcVhKaK59KT2D79jq4fpMFGgrYiD393PRKY5kpZA6Jw UtrDN+KNBHTr9VjoMF4AQxrBba2HCHxtvTJy2lp8QlddDve5BIrCHKNCYJFtwtGGr/bQ766b26YSY WtDmL9wcZ/K6zzpYsVHl8YT0Clxp0dWCbWhBfmftukqDkSof41BR8ZT02aKrAQkQibUMOWjfThxqb vXb1BSumqbZOOUkR6eYFPJRpsC9RaFyco/XWkXjdtN8PkFLL2pVXJ9miSLkoDeTLFVXNohpPNmWiI 3PBcnIQ+X3QZqg==; Original-Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p98Bv-0007pq-6p; Sat, 24 Dec 2022 12:20:11 -0500 In-Reply-To: <87cz8820hx.fsf@telefonica.net> (message from =?iso-8859-1?Q?=D3scar?= Fuentes on Sat, 24 Dec 2022 18:08:10 +0100) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:301869 Archived-At: > From: Óscar Fuentes > Cc: emacs-devel@gnu.org > Date: Sat, 24 Dec 2022 18:08:10 +0100 > > > And as long as I have your attention: what about the switch to UCRT64? > > Does Emacs need something in its Makefile's to specify linking against > > MSVCRT, even though UCRT64 is the default? The information at > > > > https://www.msys2.org/news/#2022-10-29-changing-the-default-environment-from-mingw64-to-ucrt64 > > > > doesn't provide any details about that. > > See > > https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-emacs There's nothing there regarding the runtime against which Emacs is being linked. How does GCC/ld know which runtime to link against? Up until now GCC would call the linker with the -lmsvcrt switch, so does it now use some other switch? And what can users do to force MinGW64 to link against MSVCRT, if they so wish? > There is a patch specific for UCRT support. It's quite simple although > the workaround for close_stream doesn't inspire confidence, hints that > there might be subtle differences on the behavior of C runtime > functions. It's a beginning of a very long journey, to learn about UCRT what we've invested decades to learn about MSVCRT. And the patch indeed is not really acceptable, as it disables useful behavior without a reasonable explanation. Are the sources of UCRT available somewhere (as MSVCRT sources were)?