Re: Simplify documentation related to Windows builds

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Nazir Bilal Yavuz <byavuz81(at)gmail(dot)com>, Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Simplify documentation related to Windows builds
Date: 2024-04-12 23:30:35
Message-ID: ZhnEG46PRQaXjVXE@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Fri, Apr 12, 2024 at 02:53:58PM -0700, Andres Freund wrote:
> Hi,
>
> On 2024-04-12 10:27:01 +0900, Michael Paquier wrote:
> > Yeah. These days I personally just go through stuff like Chocolatey
> > or msys2 to get all my dependencies, or even a minimal set of them. I
> > suspect that most folks hanging around on pgsql-hackers do that as
> > well.
>
> Did that work with openssl for you? Because it didn't for me, when I tried
> that for CI.

Yes, I recall pulling in OpenSSL from Chocolatey the last time I've
tested it. Perhaps my memories are fuzzy though, it was a couple of
months ago and I don't have the host at hand anymore.

> I didn't find it easy to find a working openssl for msvc, and when I did, it
> was one a page that could easily just have been some phishing attempt. Because
> of that I don't think we should remove the link to
> https://slproweb.com/products/Win32OpenSSL.html

Okay, noted.

>> So, yes, you're right that removing completely this list may be too
>> aggressive for the end-user. As far as I can see, there are a few
>> things that stand out:
>
>> - Diff is not mentioned in the list of dependencies on the meson page,
>> and it may not exist by default on Windows. I think that we should
>> add it.
>
> That seems quite basic compared to everything else. But also not opposed.
>
> I guess it might be worth checking if diff is present during meson configure,
> so it's not just some weird error. I didn't really think about that when
> writing the meson stuff, because it's just a hardcoded command in
> pg_regress.c, not something that visible to src/tools/msvc, configure or such.

A meson check would make sense here to catch that earlier. We do that
for IPC::Run.

>> - We don't use activeperl anymore in the buildfarm, and recommending
>> it is not a good idea based on the state of the project. If we don't
>> remove the entry, I would switch it to point to msys perl or even
>> strawberry perl. Andres has expressed concerns about the strawberry
>> part, so perhaps mentioning only msys perl would be enough?
>
> I think it's nonobvious enough to install that I think it's worth keeping
> something. I tried at some point, and unfortunately the perl from
> git-for-windows install doesn't quite work. It needs to be a perl targeting
> ucrt (or perhaps some other native target).

The question would be which one. Msys perl is used across a few
buildfarm members, and Andrew has some success with it.

>>> So I think that it's pretty darn helpful to have some installation
>>> instructions in the documentation for stuff like this, just like I
>>> think it's useful that in the documentation index we tell people how
>>> to get the doc toolchain working on various platforms.
>
> FWIW, here's the mingw install commands to install a suitable environment for
> building postgres on windows with mingw, from the automated image generation
> for CI:
>
> https://github.com/anarazel/pg-vm-images/blob/main/scripts/windows_install_mingw64.ps1#L21-L22
>
> I wonder if we should maintain something like that list somewhere in the
> postgres repo instead...

+1. That sounds to me like the doc material we could add in the
Windows build section for meson.
--
Michael

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message jian he 2024-04-13 00:00:00 Re: Can't find not null constraint, but \d+ shows that
Previous Message David Steele 2024-04-12 23:23:25 Re: post-freeze damage control