Hi, On 2022-01-30 15:14:32 -0800, Noah Misch wrote: > Last I looked (~2017), EDB distributed an MSVC-built Perl as the designated > Perl to use with https://www.postgresql.org/download/windows/ plperl.
Ah, interesting. I didn't find a perl binary in the archive offered, and I didn't immediately figure out how to extract the files from the installer, so I didn't check further. > > > The error message about mismatched lib / perl binary could really use a > > > bit > > > more detail. It's pretty darn annoying to figure out right now what it > > > could > > > mean. > > > > I wonder if we could do something to improve that on our side. This isn't > > the > > first time we've hunted down this kind of mismatch. It'd be much friendlier > > if > > we could get an error at build time, rather than runtime. > > The MSVC build system does give a build-time error ("Perl test fails with or > without ...") for a Perl ABI mismatch. Hm? I encountered this on an msvc build, building against strawberry perl (and then also against msys ucrt perl, I was trying to exclude a problem in strawberry perl). So perl is gcc built and postgres with msvc. It fails when creating the plperl extension, with loadable library and binaries are mismatched (got handshake key 0000000012800080, needed 0000000012900080) but not at build time. Ah, I see. The problem is that the test is only done for 32bit perl. I guess this stuff would need to be extracted in a helper function, so we can use it for different defines without a lot of repetition. Greetings, Andres Freund