Re: pl/perl extension fails on Windows

From: Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com>
To: Christoph Berg <myon(at)debian(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: pl/perl extension fails on Windows
Date: 2017-07-31 03:48:51
Message-ID: CAE9k0PnzYxyKHuwJonUEDt2xunPUc8VUVPWsd0BScRd3u+j8_A@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi Christoph,

On Mon, Jul 31, 2017 at 2:44 AM, Christoph Berg <myon(at)debian(dot)org> wrote:
> Re: Tom Lane 2017-07-28 <3254(dot)1501276475(at)sss(dot)pgh(dot)pa(dot)us>
>> Christoph Berg <myon(at)debian(dot)org> writes:
>> > The plperl segfault on Debian's kfreebsd port I reported back in 2013
>> > is also still present:
>> > https://www.postgresql.org/message-id/20130515064201.GC704%40msgid.df7cb.de
>> > https://buildd.debian.org/status/fetch.php?pkg=postgresql-10&arch=kfreebsd-amd64&ver=10~beta2-1&stamp=1499947011&raw=0
>>
>> So it'd be interesting to know if it's any better with HEAD ...
>
> Unfortunately not:
>
> ============== creating database "pl_regression" ==============
> CREATE DATABASE
> ALTER DATABASE
> ============== installing plperl ==============
> server closed the connection unexpectedly
> This probably means the server terminated abnormally
> before or while processing the request.
> connection to server was lost
>
> The only interesting line in log/postmaster.log is a log_line_prefix-less
> Util.c: loadable library and perl binaries are mismatched (got handshake key 0xd500080, needed 0xd600080)
> ... which is unchanged from the beta2 output.

I am not able to reproduce this issue on my Windows or Linux box. Have
you deleted Util.c and SPI.c files before starting with the build? The
point is, these files are generated during build time and if they
already exist then i think. they are not re generated. I would suggest
to delete both the .c files and rebuild your source and then give a
try.

Here are the results i got on Windows and Linux respectively on HEAD,

On Windows:

C:\Users\ashu\git-clone-postgresql\postgresql\src\tools\msvc>vcregress.bat
PLCHECK
============================================================
Checking plperl
(using postmaster on localhost, default port)
============== dropping database "pl_regression" ==============
NOTICE: database "pl_regression" does not exist, skipping
DROP DATABASE
============== creating database "pl_regression" ==============
CREATE DATABASE
ALTER DATABASE
============== installing plperl ==============
CREATE EXTENSION
============== installing plperlu ==============
CREATE EXTENSION
============== running regression test queries ==============
test plperl ... ok
test plperl_lc ... ok
test plperl_trigger ... ok
test plperl_shared ... ok
test plperl_elog ... ok
test plperl_util ... ok
test plperl_init ... ok
test plperlu ... ok
test plperl_array ... ok
test plperl_plperlu ... ok

======================
All 10 tests passed.
======================

On Linux:

LD_LIBRARY_PATH="/home/ashu/git-clone-postgresql/postgresql/tmp_install/home/ashu/git-clone-postgresql/postgresql/TMP/postgres/lib"
../../../src/test/regress/pg_regress --temp-instance=./tmp_check
--inputdir=. --bindir= --dbname=pl_regression
--load-extension=plperl --load-extension=plperlu plperl plperl_lc
plperl_trigger plperl_shared plperl_elog plperl_util plperl_init
plperlu plperl_array
============== creating temporary instance ==============
============== initializing database system ==============
============== starting postmaster ==============
running on port 50848 with PID 18140
============== creating database "pl_regression" ==============
CREATE DATABASE
ALTER DATABASE
============== installing plperl ==============
CREATE EXTENSION
============== installing plperlu ==============
CREATE EXTENSION
============== running regression test queries ==============
test plperl ... ok
test plperl_lc ... ok
test plperl_trigger ... ok
test plperl_shared ... ok
test plperl_elog ... ok
test plperl_util ... ok
test plperl_init ... ok
test plperlu ... ok
test plperl_array ... ok
============== shutting down postmaster ==============
============== removing temporary instance ==============

--
With Regards,
Ashutosh Sharma
EnterpriseDB:http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Zeray Kalayu 2017-07-31 05:03:30 Re: On Complex Source Code Reading Strategy
Previous Message Robert Haas 2017-07-31 03:02:31 Re: Partition-wise join for join between (declaratively) partitioned tables