bug#79468: libtool-2.6.0 released [alpha]

Kirill Makurin <[email protected]> Fri, 2 Jan 2026 16:14:02 +0000
Newsgroups gmane.comp.gnu.libtool.bugs
Message-ID <LV5PR05MB998298D901BC6782C81AB38282B1BBA@LV5PR05MB998298.namprd05.prod.outlook.com>
--_000_LV5PR05MB998298D901BC6782C81AB38282B1BBALV5PR05MB998298_
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

I copied code to a small `silly.sh`:

```
#!/bin/sh

SED=3Dsed
sed_naive_backslashify=3D's|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'

func_convert_core_msys_to_w32_with_cygpath ()
{
  $debug_cmd

  # Since MSYS2 is packaged with cygpath, call cygpath in $PATH; no need
  # to use LT_CYGPATH in this case.
  func_convert_core_msys_to_w32_result=3D`cygpath "$@" 2>/dev/null |
        $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
  if test "$?" -ne 0; then
      # on failure, ensure result is empty
      func_convert_core_msys_to_w32_result=3D
  fi
}

func_convert_core_msys_to_w32_with_cygpath "$1"
printf %s "$func_convert_core_msys_to_w32_result"
```

Running "./silly.sh /c/Windows" resulted in "\\c\\Windows". I think cygpath=
 invokation is missing -w option :)

- Kirill Makurin

________________________________
From: Ileana Dumitrescu
Sent: Saturday, January 3, 2026 1:05 AM
To: Kirill Makurin
Cc: [email protected]
Subject: Re: bug#79468: libtool-2.6.0 released [alpha]

On 02/01/2026 17:43, Kirill Makurin wrote:
> Let's see how it goes in configure's output. The build machine is
> detected correctly...
>
> ```
> checking build system type... x86_64-w64-mingw32
> checking host system type... x86_64-w64-mingw32
> ```
>
> And a little later...
>
> ```
> checking how to convert x86_64-w64-mingw32 file names to x86_64-w64-
> mingw32 format... func_convert_file_msys_to_w32
> checking how to convert x86_64-w64-mingw32 file names to toolchain
> format... func_convert_file_msys_to_w32
> checking whether cygpath is installed... yes
> ```
>
> I feel like check for cygpath must happen first, isn't it? Any idea what
> could be wrong?

The cached value for cygpath is checked later in
func_convert_file_msys_to_w32:

```
func_convert_file_msys_to_w32 ()
{
   $debug_cmd

   func_to_host_file_result=3D$1
   if test -n "$1"; then
     if test "Xyes" =3D "X$cygpath_installed"; then
       func_convert_core_msys_to_w32_with_cygpath -w "$1"

func_to_host_file_result=3D$func_convert_core_msys_to_w32_with_cygpath_resu=
lt
     else
       func_convert_core_msys_to_w32 "$1"
       func_to_host_file_result=3D$func_convert_core_msys_to_w32_result
     fi
   fi
   func_convert_file_check "$1" "$func_to_host_file_result"
}
```

func_convert_core_msys_to_w32_with_cygpath is called to do the
conversion:

```
func_convert_core_msys_to_w32_with_cygpath ()
{
   $debug_cmd

   # Since MSYS2 is packaged with cygpath, call cygpath in $PATH; no need
   # to use LT_CYGPATH in this case.
   func_convert_core_msys_to_w32_result=3D`cygpath "$@" 2>/dev/null |
        $SED -e 's/[ ]*$//' -e "$sed_naive_backslashify"`
   if test "$?" -ne 0; then
       # on failure, ensure result is empty
       func_convert_core_msys_to_w32_result=3D
   fi
}
```

Maybe there is an issue with the result command?

--
Ileana Dumitrescu

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


--_000_LV5PR05MB998298D901BC6782C81AB38282B1BBALV5PR05MB998298_
Content-Type: text/html; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<html>
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Diso-8859-=
1">
<style type=3D"text/css" style=3D"display:none;"> P {margin-top:0;margin-bo=
ttom:0;} </style>
</head>
<body dir=3D"ltr">
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
I copied code to a small `silly.sh`:</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
```</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
#!/bin/sh</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
SED=3Dsed</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
sed_naive_backslashify=3D's|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g'</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
func_convert_core_msys_to_w32_with_cygpath ()</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
{</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
&nbsp; $debug_cmd</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
&nbsp; # Since MSYS2 is packaged with cygpath, call cygpath in $PATH; no ne=
ed</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
&nbsp; # to use LT_CYGPATH in this case.</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
&nbsp; func_convert_core_msys_to_w32_result=3D`cygpath &quot;$@&quot; 2&gt;=
/dev/null |</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
&nbsp; &nbsp; &nbsp; &nbsp; $SED -e 's/[ ]*$//' -e &quot;$sed_naive_backsla=
shify&quot;`</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
&nbsp; if test &quot;$?&quot; -ne 0; then</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
&nbsp; &nbsp; &nbsp; # on failure, ensure result is empty</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
&nbsp; &nbsp; &nbsp; func_convert_core_msys_to_w32_result=3D</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
&nbsp; fi</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
}</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
func_convert_core_msys_to_w32_with_cygpath &quot;$1&quot;</div>
<div style=3D"font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, =
Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
printf %s &quot;$func_convert_core_msys_to_w32_result&quot;</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
```</div>
<div><br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
Running &quot;./silly.sh /c/Windows&quot; resulted in &quot;<a class=3D"OWA=
AutoLink" id=3D"OWA0b9ac82a-670b-5712-1772-ecb1c8ebdb73" href=3D"\\c\\Windo=
ws">\\c\\Windows</a>&quot;. I think cygpath invokation is missing -w option=
 :)</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
<br>
</div>
<div class=3D"elementToProof" style=3D"font-family: Aptos, Aptos_EmbeddedFo=
nt, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; c=
olor: rgb(0, 0, 0);">
- Kirill Makurin</div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style=3D"display: inline-block; width: 98%;">
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<b>From:</b>&nbsp;Ileana Dumitrescu<br>
<b>Sent:</b>&nbsp;Saturday, January 3, 2026 1:05 AM<br>
<b>To:</b>&nbsp;Kirill Makurin<br>
<b>Cc:</b>&nbsp;[email protected]<br>
<b>Subject:</b>&nbsp;Re: bug#79468: libtool-2.6.0 released [alpha] </div>
<div style=3D"font-family: Calibri, Arial, Helvetica, sans-serif; font-size=
: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style=3D"font-size: 11pt;">On 02/01/2026 17:43, Kirill Makurin wrote:<=
br>
&gt; Let's see how it goes in configure's output. The build machine is<br>
&gt; detected correctly...<br>
&gt;<br>
&gt; ```<br>
&gt; checking build system type... x86_64-w64-mingw32<br>
&gt; checking host system type... x86_64-w64-mingw32<br>
&gt; ```<br>
&gt;<br>
&gt; And a little later...<br>
&gt;<br>
&gt; ```<br>
&gt; checking how to convert x86_64-w64-mingw32 file names to x86_64-w64-<b=
r>
&gt; mingw32 format... func_convert_file_msys_to_w32<br>
&gt; checking how to convert x86_64-w64-mingw32 file names to toolchain<br>
&gt; format... func_convert_file_msys_to_w32<br>
&gt; checking whether cygpath is installed... yes<br>
&gt; ```<br>
&gt;<br>
&gt; I feel like check for cygpath must happen first, isn't it? Any idea wh=
at<br>
&gt; could be wrong?<br>
<br>
The cached value for cygpath is checked later in<br>
func_convert_file_msys_to_w32:<br>
<br>
```<br>
func_convert_file_msys_to_w32 ()<br>
{<br>
&nbsp;&nbsp; $debug_cmd<br>
<br>
&nbsp;&nbsp; func_to_host_file_result=3D$1<br>
&nbsp;&nbsp; if test -n &quot;$1&quot;; then<br>
&nbsp;&nbsp;&nbsp;&nbsp; if test &quot;Xyes&quot; =3D &quot;X$cygpath_insta=
lled&quot;; then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; func_convert_core_msys_to_w32_with_cyg=
path -w &quot;$1&quot;<br>
&nbsp;<br>
func_to_host_file_result=3D$func_convert_core_msys_to_w32_with_cygpath_resu=
lt<br>
&nbsp;&nbsp;&nbsp;&nbsp; else<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; func_convert_core_msys_to_w32 &quot;$1=
&quot;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; func_to_host_file_result=3D$func_conve=
rt_core_msys_to_w32_result<br>
&nbsp;&nbsp;&nbsp;&nbsp; fi<br>
&nbsp;&nbsp; fi<br>
&nbsp;&nbsp; func_convert_file_check &quot;$1&quot; &quot;$func_to_host_fil=
e_result&quot;<br>
}<br>
```<br>
<br>
func_convert_core_msys_to_w32_with_cygpath is called to do the<br>
conversion:<br>
<br>
```<br>
func_convert_core_msys_to_w32_with_cygpath ()<br>
{<br>
&nbsp;&nbsp; $debug_cmd<br>
<br>
&nbsp;&nbsp; # Since MSYS2 is packaged with cygpath, call cygpath in $PATH;=
 no need<br>
&nbsp;&nbsp; # to use LT_CYGPATH in this case.<br>
&nbsp;&nbsp; func_convert_core_msys_to_w32_result=3D`cygpath &quot;$@&quot;=
 2&gt;/dev/null |<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $SED -e 's/[ ]*$//' -e &quot;$se=
d_naive_backslashify&quot;`<br>
&nbsp;&nbsp; if test &quot;$?&quot; -ne 0; then<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # on failure, ensure result is empty<b=
r>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; func_convert_core_msys_to_w32_result=
=3D<br>
&nbsp;&nbsp; fi<br>
}<br>
```<br>
<br>
Maybe there is an issue with the result command?<br>
<br>
--<br>
Ileana Dumitrescu<br>
<br>
GPG Public Key: FA26 CA78 4BE1 8892 7F22 B99F 6570 EA01 146F 7354<br>
<br>
</div>
</body>
</html>

--_000_LV5PR05MB998298D901BC6782C81AB38282B1BBALV5PR05MB998298_--