On 10/12/21 2:37 PM, Andrew Dunstan wrote: > 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.
It's a matter of which python you use. The one that understands msys paths is msys/python. The mingw64 packages are normally pure native windows and so don't understand msys paths. I know it's confusing :-( # /usr/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: True cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com