Re: pl/perl extension fails on Windows

From: Muralikrishna Bandaru <muralikrishna(dot)bandaru(at)enterprisedb(dot)com>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: pl/perl extension fails on Windows
Date: 2024-09-11 07:37:26
Message-ID: CA+uec8BargUS9vhj_mrScfnbO6tRbhLJf9bDbXgxwx3Y5f_L0A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

On Tue, Sep 10, 2024 at 7:17 PM Andrew Dunstan <andrew(at)dunslane(dot)net> wrote:

>
> On 2024-09-10 Tu 7:51 AM, Andrew Dunstan wrote:
>
>
> On 2024-09-10 Tu 6:20 AM, Muralikrishna Bandaru wrote:
>
> Hi,
> I built PG17 rc1 using meson on Windows with the option "-Dplperl=enabled"
> . When I tried to create the extension,it crashed the database.
> --
> postgres=# create extension plperl;
> server closed the connection unexpectedly
> This probably means the server terminated abnormally
> before or while processing the request.
> The connection to the server was lost. Attempting reset: Succeeded.
>
> The log contains the following error.
>
> *src/pl/plperl/Util.c: loadable library and perl binaries are mismatched
> (got first handshake key 0000000012d00080, needed 0000000012c00080)*
> --
> This issue is seen with strawberry perl *5.40* not with *5.38* . The Perl
> that is used during compilation and on the target machine is the same.
>
> I have used strawberry perl 5.40 , which is available in the strawberry
> perl home page <https://strawberryperl.com/> ,but 5.40 is not
> available in the release page <https://strawberryperl.com/releases.html>
> . So, is it recommended to use perl 5.40 ?
>
> Please let me know if you need any other information.
>
>
> We've seen similar things before. See for example:
>
> https://postgr.es/m/20211005004334.tgjmro4kuachwiuc@alap3.anarazel.de
> https://postgr.es/m/c2da86a0-2906-744c-923d-16da6047875e@dunslane.net
>
> This looks like we are defining something we should not be, or not
> defining something we should be. We just need to find out what it is :-)
>
> In the meantime, I would suggest sticking to 5.38.
>
>
>
>
>
> Now I've had a chance to take a look I see that Strawberry 5.40 has
> USE_THREAD_SAFE_LOCALE defined. Can you try what happens with 5.40 if you
> comment out theses lines in meson.build?
>
>
> if cc.get_id() == 'msvc'
> # prevent binary mismatch between MSVC built plperl and Strawberry
> or
> # msys ucrt perl libraries
> perl_ccflags += ['-DNO_THREAD_SAFE_LOCALE']
> endif
>
>
> Hi Andrew,
Thanks. I commented above lines in the meson.build file and built the
installer with Strawberry 5.40 . Now able to create the extension.
--
c:\Program Files\PostgreSQL\17>bin\psql.exe -d postgres -p 5436
psql (17rc1)
WARNING: Console code page (437) differs from Windows code page (1252)
8-bit characters might not work correctly. See psql reference
page "Notes for Windows users" for details.
Type "help" for help.

postgres=#
postgres=#
postgres=# create extension plperl;
--
So, will this change be a part of the PG17 GA release?

cheers
>
>
> andrew
>
> --
> Andrew Dunstan
> EDB: https://www.enterprisedb.com
>
>

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Daniel Gustafsson 2024-09-11 08:01:22 Re: BUG #18609: Repeated installcheck failure in test_pg_dump due to existing role
Previous Message PG Bug reporting form 2024-09-11 07:00:25 BUG #18610: llvm error: __aarch64_swp4_acq_rel which could not be resolved