Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1maMeH-00036W-LR for pgsql-hackers@arkaria.postgresql.org; Tue, 12 Oct 2021 18:37:13 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1maMeG-0005Eh-KI for pgsql-hackers@arkaria.postgresql.org; Tue, 12 Oct 2021 18:37:12 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1maMeG-0005EY-C7 for pgsql-hackers@lists.postgresql.org; Tue, 12 Oct 2021 18:37:12 +0000 Received: from relay5-d.mail.gandi.net ([217.70.183.197]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1maMeD-0005jZ-Da for pgsql-hackers@postgresql.org; Tue, 12 Oct 2021 18:37:11 +0000 Received: (Authenticated sender: adsend@dunslane.net) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id C4B8C1C0007; Tue, 12 Oct 2021 18:37:06 +0000 (UTC) Subject: Re: [RFC] building postgres with meson To: Andres Freund Cc: pgsql-hackers@postgresql.org References: <20211012083721.hvixq4pnh2pixr3j@alap3.anarazel.de> <20211012165926.phrxn7vwx6ysfioj@alap3.anarazel.de> <20211012180934.b22v5nznbgtaoxyn@alap3.anarazel.de> From: Andrew Dunstan Message-ID: Date: Tue, 12 Oct 2021 14:37:04 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.0 MIME-Version: 1.0 In-Reply-To: <20211012180934.b22v5nznbgtaoxyn@alap3.anarazel.de> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-Language: en-US List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk On 10/12/21 2:09 PM, Andres Freund wrote: > Hi, > > On 2021-10-12 09:59:26 -0700, Andres Freund wrote: >> On 2021-10-12 11:50:03 -0400, Andrew Dunstan wrote: >>> It hung because it expected the compiler to be 'ccache cc'. Hanging in >>> such a case is kinda unforgivable. I remedied that by setting 'CC=gcc' >>> but it then errored out looking for perl libs. I think msys2 is going to >>> be a bit difficult here :-( >> Hm. Yea, the perl thing is my fault - you should be able to get past it with >> -Dperl=disabled, and I'll take a look at fixing the perl detection. (*) > This is a weird one. I don't know much about msys, so it's probably related to > that. Perl spits out /usr/lib/perl5/core_perl/ as its archlibexp. According to > shell commands that exists, but not according to msys's own python > > $ /mingw64/bin/python -c "import os; p = '/usr/lib/perl5/core_perl/CORE'; print(f'does {p} exist:', os.path.exists(p))" > does /usr/lib/perl5/core_perl/CORE exist: False > > $ ls -ld /usr/lib/perl5/core_perl/CORE > drwxr-xr-x 1 anfreund anfreund 0 Oct 10 10:19 /usr/lib/perl5/core_perl/CORE Looks to me like a python issue: # perl -e 'my $p = "/usr/lib/perl5/core_perl/CORE"; print qq(does $p exist: ), -e $p, qq{\n};' does /usr/lib/perl5/core_perl/CORE exist: 1 # python -c "import os; p = '/usr/lib/perl5/core_perl/CORE'; print(f'does {p} exist:', os.path.exists(p))" does /usr/lib/perl5/core_perl/CORE exist: False # cygpath -m /usr/lib/perl5/core_perl/CORE C:/tools/msys64/usr/lib/perl5/core_perl/CORE # python -c "import os; p = 'C:/tools/msys64/usr/lib/perl5/core_perl/CORE'; print(f'does {p} exist:', os.path.exists(p))" does C:/tools/msys64/usr/lib/perl5/core_perl/CORE exist: True Clearly python is not understanding msys virtualized paths. > > > I guess I should figure out how to commandline install msys and add it to CI. > here's what I do: # msys2 outputs esc-[3J which clears the screen's scroll buffer. Nasty. # so we redirect the output # find the log in c:\Windows\System32 if needed choco install -y --no-progress --limit-output msys2 > msys2inst.log c:\tools\msys64\usr\bin\bash -l '/c/vfiles/windows-uploads/msys2-packages.sh' Here's what's in msys-packages.sh: pacman -S --needed --noconfirm \     base-devel \     msys/git \     msys/ccache \     msys/vim  \     msys/perl-Crypt-SSLeay \     mingw-w64-clang-x86_64-toolchain \     mingw-w64-x86_64-toolchain # could do: pacman -S --needed --noconfirm development # this is more economical. These should cover most of the things you might # want to configure with pacman -S --needed --noconfirm \        msys/gettext-devel \        msys/icu-devel \        msys/libiconv-devel \        msys/libreadline-devel \        msys/libxml2-devel \        msys/libxslt-devel \        msys/openssl-devel \        msys/zlib-devel cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com