Subject: bug#49246: closed (Re: bug#49246: [PATCH] libtool with mingw hangs in func_convert_core_msys_to_w32)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 14 Aug 2024 15:58:02 +0000

Your bug report

#49246: [PATCH] libtool with mingw hangs in func_convert_core_msys_to_w32

which was filed against the libtool package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
49246: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=49246
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#49246: [PATCH] libtool with mingw hangs in func_convert_core_msys_to_w32
From: Ileana Dumitrescu <[email-masked]>
To: [email-masked]
Date: Wed, 14 Aug 2024 18:56:04 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

This looks like a duplicate of bug#10949:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=10949

It explains why the double slash is intentional and where in the
documentation to look to better understand cross-building.

-- 
Ileana Dumitrescu

GPG Public Key: FA26 CA78 4BE1 8892 7F22 B99F 6570 EA01 146F 7354

Subject: [PATCH] libtool with mingw hangs in func_convert_core_msys_to_w32
From: Brian Inglis <[email-masked]>
To: [email-masked], Libtool Patches <[email-masked]>
Date: Sun, 27 Jun 2021 14:19:45 -0600
List-Id: <debbugs-submit.debbugs.gnu.org>

Problem reported by a downstream Cygwin user inadvertently
misconfiguring a package cross-build with mingw toolchain:

libtool with mingw hangs building openocd in
func_convert_core_msys_to_w32:

	https://cygwin.com/pipermail/cygwin/2021-June/248791.html

The issue exists in libtool build-aux/ltmain.in line 963 in
func_convert_core_msys_to_w32 Windows subshell command:

	( cmd //c echo "$1" )

see:

https://git.savannah.gnu.org/cgit/libtool.git/tree/build-aux/ltmain.in#n963

where the switch char "/" is duplicated, so instead of executing one
command in the Windows subshell context, a subshell is spawned and hangs
until manually exited e.g.:

$ cmd //c echo "$1"
Microsoft Windows [Version 10.0.19042.985]
(c) Microsoft Corporation. All rights reserved.

C:\...>exit
$

The patch merely removes the extraneous duplicated switch char "/".

As the patch is trivial, no copyright assignemnt should be required.

---
 build-aux/ltmain.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/build-aux/ltmain.in b/build-aux/ltmain.in
index 96b3700347d5..4b8088903740 100644
--- a/build-aux/ltmain.in
+++ b/build-aux/ltmain.in
@@ -960,7 +960,7 @@ func_convert_core_msys_to_w32 ()
   $debug_cmd
 
   # awkward: cmd appends spaces to result
-  func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null |
+  func_convert_core_msys_to_w32_result=`( cmd /c echo "$1" ) 2>/dev/null |
     $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
 }
 #end: func_convert_core_msys_to_w32