Re: BUG #18940: PostgreSQL 18beta1 fails 'collate.windows.win1252' regression when building with MSYS/mingw

From: Joseph Ayers <joseph(dot)ayers(at)crunchydata(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #18940: PostgreSQL 18beta1 fails 'collate.windows.win1252' regression when building with MSYS/mingw
Date: 2025-06-05 23:08:20
Message-ID: CAD1ugPH7cc-z5UrNn_vfBtRuWB2F_WdOQC8jivvTtMPspa_SyQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Wed, Jun 4, 2025 at 9:32 AM Andres Freund <andres(at)anarazel(dot)de> wrote:

> Hi,
>
> On 2025-06-04 09:28:15 -0700, Joseph Ayers wrote:
> > On Wed, Jun 4, 2025 at 4:40 AM Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
> wrote:
> >
> > > On Fri, May 30, 2025 at 7:42 AM PG Bug reporting form
> > > <noreply(at)postgresql(dot)org> wrote:
> > > > The following bug has been logged on the website:
> > > >
> > > > Bug reference: 18940
> > > > Logged by: Joe Ayers
> > > > Email address: joseph(dot)ayers(at)crunchydata(dot)com
> > > > PostgreSQL version: 18beta1
> > > > Operating system: Windows Server 2022
> > > > Description:
> > > >
> > > > Hey there!
> > > > In working on some test builds, PostgreSQL 18beta1 is failing the
> > > > 'collate.windows.win1252' regression test due to missing locales.
> When
> > > > building with MYS2/mingw (Tested Windows Server 2022 and Windows
> Server
> > > > 2019), default locale that's pulled in is typically 'american_usa' as
> > > > opposed to 'en_US', which causes the test to fail citing:
> > > > +ERROR: could not create locale "en-US": No such file or
> directory
> > > > +DETAIL: The operating system could not find any locale data
> for the
> > > > locale name "en-US".
> > > > The above error is repeated several times. Hoping to learn how to
> adjust
> > > the
> > > > config to get this to pass, as the error did not occur for PG17 and
> > > below.
> > > > Any info is appreciated.
> > > > I can attach the full regression.diffs file for additional
> information
> > > if it
> > > > would be of help.
> > >
> > > Huh. It passes on our CI:
> > >
> > > https://cirrus-ci.com/task/4738549062303744
> > >
> > > And on our build farm machine:
> > >
> > >
> > >
> https://buildfarm.postgresql.org/cgi-bin/show_history.pl?nm=fairywren&br=master
> > >
> > > I wonder what is different. Are you using ucrt? We started removing
> > > bits and pieces related to the old msvcrt C runtime, but my
> > > understanding is that msys2 compile should target ucrt by default.
> > >
> >
> > (Forgot to reply-all, apologies)
> >
> > We're using the mingw64 toolchain for this. I think per the MSYS
> > environments guide here: https://www.msys2.org/docs/environments/
> > that this would mean we're using msvcrt and not ucrt? That may be the
> > issue. Would we maybe have to move to a different kind of MSYS
> environment?
>
> I would *strongly* advise to moving to ucrt. Personally I think we should
> just
> refuse to build with msvcrt.
>
> Greetings,
>
> Andres Freund
>

Thanks for the responses here! Working on switching to UCRT64 for PG18+
builds. Making the switch appears to get the Locale regression to pass.

Thanks again!
--
-------
Joe Ayers
Crunchy Data
www.crunchydata.com

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Luke Muther 2025-06-06 02:50:23 Function Error Response Is Not Clear
Previous Message Masahiko Sawada 2025-06-05 21:59:12 Re: Logical replication 'invalid memory alloc request size 1585837200' after upgrading to 17.5