Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-13 Thread Noah Misch
On Mon, Jul 13, 2015 at 06:19:49PM -0400, Andrew Dunstan wrote:
 On 7/13/2015 5:36 PM, Andrew Dunstan wrote:
 hstore_plpython.o: In function `hstore_to_plpython':
 /home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython/hstore_plpython.c:35:
 undefined reference to `PLyUnicode_FromStringAndSize'

 The functions are in fact apparently built - the names are present in the
 object file and the DLL.

Per objdump -x src/pl/plpython/plpython3.dll | less -pOrdinal/Name, those
symbols aren't exported.  The Cygwin toolchain appears to export every
function until you mark one with __declspec (dllexport), after which it
exports just the ones so marked.  Since plpython3.dll has an explicit
__declspec on PyInit_plpy(), that's the sole function exported.  Adding
-Wl,--export-all-symbols to the PL/Python link lets the build complete; I have
not researched whether it is a proper fix.


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-13 Thread Marco Atzeri

On 7/13/2015 5:36 PM, Andrew Dunstan wrote:


On 07/12/2015 05:06 PM, Tom Lane wrote:

Andrew Dunstan and...@dunslane.net writes:

On 07/04/2015 11:02 AM, Tom Lane wrote:

It's not apparent to me how that works at all.

BTW, the .a files being linked to above are not like Unix .a static
archives - they are import library files, which I think they are only
used at link time, not run time. The path to the DLLs isn't being
hardcoded.

Ah, I see.  So then what Marco is suggesting is copying a coding pattern
that does work.


Unless there is further argument I propose to commit something very like
Marco's suggestion for hstore_plperl, hstore_plpython and ltree_plpython

No objection here.




OK, I tried the attached patch.

but when trying to build with python 3 I get this (no such problems with
python2, which builds and tests fine):

make -C hstore_plpython all
make[1]: Entering directory
'/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython'
ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
-fwrapv -fexcess-precision=standard -g -O2 -I../../src/pl/plpython
-I/usr/include/python3.4m -I../../contrib/hstore -I. -I.
-I../../src/include -I/usr/include/libxml2   -c -o hstore_plpython.o
hstore_plpython.c
ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
-fwrapv -fexcess-precision=standard -g -O2   -shared -o
hstore_plpython3.dll  hstore_plpython.o  -L../../src/port
-L../../src/common -Wl,--allow-multiple-definition
-Wl,--enable-auto-import -L/usr/lib  -L/usr/local/lib
-Wl,--as-needed   -L../../src/backend -lpostgres -L../hstore
-lhstore -L../../src/pl/plpython -lplpython3
-L/usr/lib/python3.4/config-3.4m -lpython3.4m -lpgcommon -lpgport
-lxslt -lxml2 -lssl -lcrypto -lz -lreadline -lcrypt
hstore_plpython.o: In function `hstore_to_plpython':

/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython/hstore_plpython.c:35:

undefined reference to `PLyUnicode_FromStringAndSize'


[cut]

I'd like to get that fixed before applying anything. Marco, any ideas?

To build with python 3, set the environment like this:
PYTHON=/usr/bin/python3 - this can be done in the config file.


I am only building with python2, but on cygwin
there is an additional intl library for python3 binding

$ python2-config --libs
-lpython2.7 -ldl

$ python3-config --libs
-lpython3.4m -lintl -ldl


cheers

andrew


Regards
Marco



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-13 Thread Andrew Dunstan


On 07/13/2015 11:53 AM, Marco Atzeri wrote:

On 7/13/2015 5:36 PM, Andrew Dunstan wrote:


On 07/12/2015 05:06 PM, Tom Lane wrote:

Andrew Dunstan and...@dunslane.net writes:

On 07/04/2015 11:02 AM, Tom Lane wrote:

It's not apparent to me how that works at all.

BTW, the .a files being linked to above are not like Unix .a static
archives - they are import library files, which I think they are only
used at link time, not run time. The path to the DLLs isn't being
hardcoded.
Ah, I see.  So then what Marco is suggesting is copying a coding 
pattern

that does work.

Unless there is further argument I propose to commit something very 
like
Marco's suggestion for hstore_plperl, hstore_plpython and 
ltree_plpython

No objection here.




OK, I tried the attached patch.

but when trying to build with python 3 I get this (no such problems with
python2, which builds and tests fine):

make -C hstore_plpython all
make[1]: Entering directory
'/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython'
ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
-fwrapv -fexcess-precision=standard -g -O2 -I../../src/pl/plpython
-I/usr/include/python3.4m -I../../contrib/hstore -I. -I.
-I../../src/include -I/usr/include/libxml2   -c -o hstore_plpython.o
hstore_plpython.c
ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith
-Wdeclaration-after-statement -Wendif-labels
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
-fwrapv -fexcess-precision=standard -g -O2   -shared -o
hstore_plpython3.dll  hstore_plpython.o  -L../../src/port
-L../../src/common -Wl,--allow-multiple-definition
-Wl,--enable-auto-import -L/usr/lib  -L/usr/local/lib
-Wl,--as-needed   -L../../src/backend -lpostgres -L../hstore
-lhstore -L../../src/pl/plpython -lplpython3
-L/usr/lib/python3.4/config-3.4m -lpython3.4m -lpgcommon -lpgport
-lxslt -lxml2 -lssl -lcrypto -lz -lreadline -lcrypt
hstore_plpython.o: In function `hstore_to_plpython':

/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython/hstore_plpython.c:35: 



undefined reference to `PLyUnicode_FromStringAndSize'


[cut]

I'd like to get that fixed before applying anything. Marco, any ideas?

To build with python 3, set the environment like this:
PYTHON=/usr/bin/python3 - this can be done in the config file.


I am only building with python2, but on cygwin
there is an additional intl library for python3 binding

$ python2-config --libs
-lpython2.7 -ldl

$ python3-config --libs
-lpython3.4m -lintl -ldl



No this doesn't seem to be the problem. For some reason it's apparently 
not finding the symbol in plpython3.dll, where it should definitely 
exist, unless I'm completely off base. So I'm rather confused.


cheers

andrew


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-13 Thread Tom Lane
Andrew Dunstan and...@dunslane.net writes:
 On 07/13/2015 11:53 AM, Marco Atzeri wrote:
 On 7/13/2015 5:36 PM, Andrew Dunstan wrote:
 hstore_plpython.o: In function `hstore_to_plpython':
 /home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython/hstore_plpython.c:35:
  
 undefined reference to `PLyUnicode_FromStringAndSize'

 No this doesn't seem to be the problem. For some reason it's apparently 
 not finding the symbol in plpython3.dll, where it should definitely 
 exist, unless I'm completely off base. So I'm rather confused.

Could hstore_plpython and plpython somehow have been built with different
ideas about PY_MAJOR_VERSION?  PLyUnicode_FromStringAndSize is
conditionally compiled, and the reference to it from hstore_plpython
depends on a conditionally-defined macro, and this error would make plenty
of sense if those conditions somehow diverged.  So I'd look for instance
at whether identical -I paths were used in both parts of the build.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-13 Thread Tom Lane
Andrew Dunstan and...@dunslane.net writes:
 Not AFAICT. Here is the contrib build:

Hm ... what does -DUSE_DL_IMPORT do?

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-13 Thread Andrew Dunstan


On 07/13/2015 07:33 PM, Tom Lane wrote:

Andrew Dunstan and...@dunslane.net writes:

Not AFAICT. Here is the contrib build:

Hm ... what does -DUSE_DL_IMPORT do?




NFI - I tried building with that but it made no difference.

cheers

andrew



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-13 Thread Michael Paquier
On Tue, Jul 14, 2015 at 8:49 AM, Andrew Dunstan and...@dunslane.net wrote:

 On 07/13/2015 07:33 PM, Tom Lane wrote:

 Andrew Dunstan and...@dunslane.net writes:

 Not AFAICT. Here is the contrib build:

 Hm ... what does -DUSE_DL_IMPORT do?

 NFI - I tried building with that but it made no difference.

Is your python3 build a 32b version?
-- 
Michael


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-13 Thread Andrew Dunstan


On 07/12/2015 05:06 PM, Tom Lane wrote:

Andrew Dunstan and...@dunslane.net writes:

On 07/04/2015 11:02 AM, Tom Lane wrote:

It's not apparent to me how that works at all.

BTW, the .a files being linked to above are not like Unix .a static
archives - they are import library files, which I think they are only
used at link time, not run time. The path to the DLLs isn't being hardcoded.

Ah, I see.  So then what Marco is suggesting is copying a coding pattern
that does work.


Unless there is further argument I propose to commit something very like
Marco's suggestion for hstore_plperl, hstore_plpython and ltree_plpython

No objection here.




OK, I tried the attached patch.

but when trying to build with python 3 I get this (no such problems with 
python2, which builds and tests fine):


   make -C hstore_plpython all
   make[1]: Entering directory
   '/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython'
   ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith
   -Wdeclaration-after-statement -Wendif-labels
   -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
   -fwrapv -fexcess-precision=standard -g -O2 -I../../src/pl/plpython
   -I/usr/include/python3.4m -I../../contrib/hstore -I. -I.
   -I../../src/include -I/usr/include/libxml2   -c -o hstore_plpython.o
   hstore_plpython.c
   ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith
   -Wdeclaration-after-statement -Wendif-labels
   -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
   -fwrapv -fexcess-precision=standard -g -O2   -shared -o
   hstore_plpython3.dll  hstore_plpython.o  -L../../src/port
   -L../../src/common -Wl,--allow-multiple-definition
   -Wl,--enable-auto-import -L/usr/lib  -L/usr/local/lib
   -Wl,--as-needed   -L../../src/backend -lpostgres -L../hstore
   -lhstore -L../../src/pl/plpython -lplpython3
   -L/usr/lib/python3.4/config-3.4m -lpython3.4m -lpgcommon -lpgport
   -lxslt -lxml2 -lssl -lcrypto -lz -lreadline -lcrypt
   hstore_plpython.o: In function `hstore_to_plpython':
   
/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython/hstore_plpython.c:35:
   undefined reference to `PLyUnicode_FromStringAndSize'
   
/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython/hstore_plpython.c:35:(.text+0x99):
   relocation truncated to fit: R_X86_64_PC32 against undefined symbol
   `PLyUnicode_FromStringAndSize'
   
/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython/hstore_plpython.c:28:
   undefined reference to `PLyUnicode_FromStringAndSize'
   
/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython/hstore_plpython.c:28:(.text+0xf1):
   relocation truncated to fit: R_X86_64_PC32 against undefined symbol
   `PLyUnicode_FromStringAndSize'
   hstore_plpython.o: In function `plpython_to_hstore':
   
/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython/hstore_plpython.c:96:
   undefined reference to `PLyObject_AsString'
   
/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython/hstore_plpython.c:96:(.text+0x2cc):
   relocation truncated to fit: R_X86_64_PC32 against undefined symbol
   `PLyObject_AsString'
   
/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython/hstore_plpython.c:84:
   undefined reference to `PLyObject_AsString'
   
/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython/hstore_plpython.c:84:(.text+0x321):
   relocation truncated to fit: R_X86_64_PC32 against undefined symbol
   `PLyObject_AsString'
   collect2: error: ld returned 1 exit status
   ../../src/Makefile.shlib:358: recipe for target
   'hstore_plpython3.dll' failed
   make[1]: *** [hstore_plpython3.dll] Error 1
   make[1]: Leaving directory
   '/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython'
   Makefile:92: recipe for target 'all-hstore_plpython-recurse' failed
   make: *** [all-hstore_plpython-recurse] Error 2

I'd like to get that fixed before applying anything. Marco, any ideas?

To build with python 3, set the environment like this: 
PYTHON=/usr/bin/python3 - this can be done in the config file.



cheers

andrew

diff --git a/contrib/hstore_plperl/Makefile b/contrib/hstore_plperl/Makefile
index 19a8ab4..603ef52 100644
--- a/contrib/hstore_plperl/Makefile
+++ b/contrib/hstore_plperl/Makefile
@@ -30,6 +30,10 @@ override CPPFLAGS += -DPLPERL_HAVE_UID_GID -Wno-comment
 SHLIB_LINK += ../hstore/libhstore.a $(wildcard ../../src/pl/plperl/libperl*.a)
 endif
 
+ifeq ($(PORTNAME), cygwin)
+SHLIB_LINK += -L../hstore -l hstore $(perl_embed_ldflags)
+endif
+
 # As with plperl we need to make sure that the CORE directory is included
 # last, probably because it sometimes contains some header files with names
 # that clash with some of ours, or with some that we include, notably on
diff --git a/contrib/hstore_plpython/Makefile b/contrib/hstore_plpython/Makefile
index 6ee434b..dfff0fd 100644
--- a/contrib/hstore_plpython/Makefile
+++ b/contrib/hstore_plpython/Makefile
@@ -28,6 +28,12 @@ ifeq ($(PORTNAME), win32)
 SHLIB_LINK += ../hstore/libhstore.a $(wildcard 

Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-13 Thread Andrew Dunstan


On 07/13/2015 05:18 PM, Tom Lane wrote:

Andrew Dunstan and...@dunslane.net writes:

On 07/13/2015 11:53 AM, Marco Atzeri wrote:

On 7/13/2015 5:36 PM, Andrew Dunstan wrote:

hstore_plpython.o: In function `hstore_to_plpython':
/home/andrew/bf64/root/HEAD/pgsql/contrib/hstore_plpython/hstore_plpython.c:35:
undefined reference to `PLyUnicode_FromStringAndSize'

No this doesn't seem to be the problem. For some reason it's apparently
not finding the symbol in plpython3.dll, where it should definitely
exist, unless I'm completely off base. So I'm rather confused.

Could hstore_plpython and plpython somehow have been built with different
ideas about PY_MAJOR_VERSION?  PLyUnicode_FromStringAndSize is
conditionally compiled, and the reference to it from hstore_plpython
depends on a conditionally-defined macro, and this error would make plenty
of sense if those conditions somehow diverged.  So I'd look for instance
at whether identical -I paths were used in both parts of the build.




Not AFAICT. Here is the contrib build:

   ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith
   -Wdeclaration-after-statement -Wendif-labels
   -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
   -fwrapv -fexcess-precision=standard -g -O2 -I../../src/pl/plpython
   -I/usr/include/python3.4m -I../../contrib/hstore -I. -I.
   -I../../src/include -I/usr/include/libxml2   -c -o hstore_plpython.o
   hstore_plpython.c
   ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith
   -Wdeclaration-after-statement -Wendif-labels
   -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
   -fwrapv -fexcess-precision=standard -g -O2   -shared -o
   hstore_plpython3.dll  hstore_plpython.o  -L../../src/port
   -L../../src/common -Wl,--allow-multiple-definition
   -Wl,--enable-auto-import -L/usr/lib  -L/usr/local/lib
   -Wl,--as-needed   -L../../src/backend -lpostgres -L../hstore
   -lhstore -L../../src/pl/plpython -lplpython3
   -L/usr/lib/python3.4/config-3.4m -lpython3.4m -lpgcommon -lpgport
   -lxslt -lxml2 -lssl -lcrypto -lz -lreadline -lcrypt

and here is the plpython build:

   ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith
   -Wdeclaration-after-statement -Wendif-labels
   -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
   -fwrapv -fexcess-precision=standard -g -O2  -I. -I.
   -I/usr/include/python3.4m -I../../../src/include
   -I/usr/include/libxml2  -DUSE_DL_IMPORT  -c -o plpy_util.o plpy_util.c
   ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith
   -Wdeclaration-after-statement -Wendif-labels
   -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing
   -fwrapv -fexcess-precision=standard -g -O2   -shared -o
   plpython3.dll  plpy_cursorobject.o plpy_elog.o plpy_exec.o
   plpy_main.o plpy_planobject.o plpy_plpymodule.o plpy_procedure.o
   plpy_resultobject.o plpy_spi.o plpy_subxactobject.o plpy_typeio.o
   plpy_util.o  -L../../../src/port -L../../../src/common
   -Wl,--allow-multiple-definition -Wl,--enable-auto-import -L/usr/lib 
   -L/usr/local/lib -Wl,--as-needed -L/usr/lib/python3.4/config-3.4m

   -lpython3.4m -lintl -ldl -L../../../src/backend -lpostgres
   -lpgcommon -lpgport -lxslt -lxml2 -lssl -lcrypto -lz -lreadline -lcrypt


The functions are in fact apparently built - the names are present in 
the object file and the DLL.


cheers

andrew



regards, tom lane





--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-13 Thread Andrew Dunstan


On 07/13/2015 07:55 PM, Michael Paquier wrote:

On Tue, Jul 14, 2015 at 8:49 AM, Andrew Dunstan and...@dunslane.net wrote:

On 07/13/2015 07:33 PM, Tom Lane wrote:

Andrew Dunstan and...@dunslane.net writes:

Not AFAICT. Here is the contrib build:

Hm ... what does -DUSE_DL_IMPORT do?

NFI - I tried building with that but it made no difference.

Is your python3 build a 32b version?


No, this is all 64 bit.

cheers

andrew


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-12 Thread Noah Misch
On Sun, Jul 12, 2015 at 05:02:51PM -0400, Andrew Dunstan wrote:
 Marco Atzeri marco.atz...@gmail.com writes:
 for what I see the hstore_plperl link has a double problem.
 It requires a link to hstore
 as it also requires a link to perl.
 Attached patch for solving this and a similar issue with python.
 +ifeq ($(PORTNAME), cygwin)
 +# This means we need an in-tree build on Windows, not a pgxs build
 +SHLIB_LINK += -L../hstore -lhstore -L$(perl_archlibexp)/CORE -lperl
 +endif

That's the right general strategy, agreed.

 Unless there is further argument I propose to commit something very like
 Marco's suggestion for hstore_plperl, hstore_plpython and ltree_plpython

Would you post the final patch for review?

Thanks,
nm


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-12 Thread Tom Lane
Andrew Dunstan and...@dunslane.net writes:
 On 07/04/2015 11:02 AM, Tom Lane wrote:
 It's not apparent to me how that works at all.

 BTW, the .a files being linked to above are not like Unix .a static 
 archives - they are import library files, which I think they are only 
 used at link time, not run time. The path to the DLLs isn't being hardcoded.

Ah, I see.  So then what Marco is suggesting is copying a coding pattern
that does work.

 Unless there is further argument I propose to commit something very like 
 Marco's suggestion for hstore_plperl, hstore_plpython and ltree_plpython

No objection here.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-12 Thread Andrew Dunstan


On 07/04/2015 01:09 PM, Andrew Dunstan wrote:


On 07/04/2015 11:02 AM, Tom Lane wrote:

Marco Atzeri marco.atz...@gmail.com writes:

for what I see the hstore_plperl link has a double problem.
It requires a link to hstore
as it also requires a link to perl.
Attached patch for solving this and a similar issue with python.
+ifeq ($(PORTNAME), cygwin)
+# This means we need an in-tree build on Windows, not a pgxs build
+SHLIB_LINK += -L../hstore -lhstore -L$(perl_archlibexp)/CORE -lperl
+endif
[ and likewise for the other contrib transform modules ]

I wondered how come we had not seen this problem in the buildfarm,
but the answer appears to be that our only working Cygwin critter
(brolga) doesn't build any of the optional PLs, so it skips these
modules altogether.  Seems like we need to improve that situation.

Also, I noted that the regular win32 path in these makefiles
says, eg,

ifeq ($(PORTNAME), win32)
# these settings are the same as for plperl
override CPPFLAGS += -DPLPERL_HAVE_UID_GID -Wno-comment
# This means we need an in-tree build on Windows, not a pgxs build
SHLIB_LINK += ../hstore/libhstore.a $(wildcard 
../../src/pl/plperl/libperl*.a)

endif

It's not apparent to me how that works at all.  It seems to specify
hard-linking a copy of hstore as well as a copy of plperl into the
shlib for hstore_plperl.  Then at runtime, there will *also* be the
hstore and plperl shlibs in memory.  At best that means substantial
memory bloat, but it seems likely to me that it would fail altogether,
particular for plperl which has got a substantial amount of 
semantically-

important static storage.  Two copies of that storage will not end well.






Windows finds the DLL in its path. I just tested this by removing the 
intree pl DLLs after installing and then running contrib installcheck, 
and it worked fine. Whether or not it actually loads the DLL twice 
when it can find the intree DLL I don't know for sure, maybe someone 
with more Windows-fu than me can inform our ignorance.




BTW, the .a files being linked to above are not like Unix .a static 
archives - they are import library files, which I think they are only 
used at link time, not run time. The path to the DLLs isn't being hardcoded.


Unless there is further argument I propose to commit something very like 
Marco's suggestion for hstore_plperl, hstore_plpython and ltree_plpython


cheers

andrew


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-06 Thread Marco Atzeri

On 7/5/2015 11:35 PM, Andrew Dunstan wrote:


On 07/04/2015 11:02 AM, Tom Lane wrote:


I wondered how come we had not seen this problem in the buildfarm,
but the answer appears to be that our only working Cygwin critter
(brolga) doesn't build any of the optional PLs, so it skips these
modules altogether.  Seems like we need to improve that situation.




brolga has been on life support for quite a long time. The reason it
hasn't been retired is that for a long time I was unable to get a
buildfarm member running successfully on a more modern Cygwin. That now
appears to have resolved itself, so in a week or so I will set up a
Cygwin buildfarm member running on a modern Cygwin on Windows 8.1, and
build with perl, python, openssl, libxml and libxslt. Note that I have
only tested 32 bit Cygwin - 64-bit might well be a whole different story.


Hi Andrew,
I have not seen any particular difference between the two cygwin flavors
I am running both versions on my W7 64 bit.

The only trick is to have two different names for the cygserver service
to avoid collision. Those services are capable to run at the same time.

E.G. from 64 bit point of view:
$ cygrunsrv.exe -L
(cygserver)
cygserver64
(sshd)

in brackets the 32bit services.

Let me know if you need any support


cheers

andrew


Regards
Marco


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-05 Thread Andrew Dunstan


On 07/04/2015 11:02 AM, Tom Lane wrote:


I wondered how come we had not seen this problem in the buildfarm,
but the answer appears to be that our only working Cygwin critter
(brolga) doesn't build any of the optional PLs, so it skips these
modules altogether.  Seems like we need to improve that situation.




brolga has been on life support for quite a long time. The reason it 
hasn't been retired is that for a long time I was unable to get a 
buildfarm member running successfully on a more modern Cygwin. That now 
appears to have resolved itself, so in a week or so I will set up a 
Cygwin buildfarm member running on a modern Cygwin on Windows 8.1, and 
build with perl, python, openssl, libxml and libxslt. Note that I have 
only tested 32 bit Cygwin - 64-bit might well be a whole different story.


cheers

andrew


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-04 Thread Marco Atzeri



On 7/3/2015 2:31 PM, Marco Atzeri wrote:

On 7/3/2015 8:19 AM, Michael Paquier wrote:

On Fri, Jul 3, 2015 at 2:47 PM, Marco Atzeri marco.atz...@gmail.com
wrote:

On 7/2/2015 5:16 PM, Dave Page wrote:



-lldap
hstore_plperl.o: In function `hstore_to_plperl':
/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-9.5alpha1

/contrib/hstore_plperl/hstore_plperl.c:16: undefined reference to
`hstoreUpgrade   '





for what I see the hstore_plperl link has a double problem.

It requires a link to hstore
as it also requires a link to perl.

Attached patch for solving this and a similar issue with python.

Regards
MArco



--- origsrc/postgresql-9.5alpha1/contrib/hstore_plperl/Makefile 2015-06-29 
21:42:18.0 +0200
+++ src/postgresql-9.5alpha1/contrib/hstore_plperl/Makefile 2015-07-04 
08:20:54.077873800 +0200
@@ -30,6 +30,12 @@ override CPPFLAGS += -DPLPERL_HAVE_UID_G
 SHLIB_LINK += ../hstore/libhstore.a $(wildcard ../../src/pl/plperl/libperl*.a)
 endif
 
+ifeq ($(PORTNAME), cygwin)
+# This means we need an in-tree build on Windows, not a pgxs build
+SHLIB_LINK += -L../hstore -lhstore -L$(perl_archlibexp)/CORE -lperl
+endif
+
+
 # As with plperl we need to make sure that the CORE directory is included
 # last, probably because it sometimes contains some header files with names
 # that clash with some of ours, or with some that we include, notably on
--- origsrc/postgresql-9.5alpha1/contrib/hstore_plpython/Makefile   
2015-06-29 21:42:18.0 +0200
+++ src/postgresql-9.5alpha1/contrib/hstore_plpython/Makefile   2015-07-04 
08:39:30.343835200 +0200
@@ -28,6 +28,12 @@ ifeq ($(PORTNAME), win32)
 SHLIB_LINK += ../hstore/libhstore.a $(wildcard 
../../src/pl/plpython/libpython*.a) $(wildcard 
../../src/pl/plpython/libplpython*.a)
 endif
 
+ifeq ($(PORTNAME), cygwin)
+# This means we need an in-tree build on Windows, not a pgxs build
+SHLIB_LINK += -L../hstore -lhstore -L../../src/pl/plpython -lplpython2  
$(python_libspec)
+endif
+
+
 REGRESS_OPTS += --load-extension=hstore
 ifeq ($(python_majorversion),2)
 REGRESS_OPTS += --load-extension=plpythonu --load-extension=hstore_plpythonu
--- origsrc/postgresql-9.5alpha1/contrib/ltree_plpython/Makefile
2015-06-29 21:42:18.0 +0200
+++ src/postgresql-9.5alpha1/contrib/ltree_plpython/Makefile2015-07-04 
08:40:09.328303700 +0200
@@ -28,6 +28,12 @@ ifeq ($(PORTNAME), win32)
 SHLIB_LINK += $(wildcard ../../src/pl/plpython/libpython*.a)
 endif
 
+ifeq ($(PORTNAME), cygwin)
+# This means we need an in-tree build on Windows, not a pgxs build
+SHLIB_LINK += -L../../src/pl/plpython -lplpython2  $(python_libspec)
+endif
+
+
 REGRESS_OPTS += --load-extension=ltree
 ifeq ($(python_majorversion),2)
 REGRESS_OPTS += --load-extension=plpythonu --load-extension=ltree_plpythonu

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-04 Thread Tom Lane
Marco Atzeri marco.atz...@gmail.com writes:
 for what I see the hstore_plperl link has a double problem.
 It requires a link to hstore
 as it also requires a link to perl.
 Attached patch for solving this and a similar issue with python.

 +ifeq ($(PORTNAME), cygwin)
 +# This means we need an in-tree build on Windows, not a pgxs build
 +SHLIB_LINK += -L../hstore -lhstore -L$(perl_archlibexp)/CORE -lperl
 +endif
 [ and likewise for the other contrib transform modules ]

I wondered how come we had not seen this problem in the buildfarm,
but the answer appears to be that our only working Cygwin critter
(brolga) doesn't build any of the optional PLs, so it skips these
modules altogether.  Seems like we need to improve that situation.

Also, I noted that the regular win32 path in these makefiles
says, eg,

ifeq ($(PORTNAME), win32)
# these settings are the same as for plperl
override CPPFLAGS += -DPLPERL_HAVE_UID_GID -Wno-comment
# This means we need an in-tree build on Windows, not a pgxs build
SHLIB_LINK += ../hstore/libhstore.a $(wildcard ../../src/pl/plperl/libperl*.a)
endif

It's not apparent to me how that works at all.  It seems to specify
hard-linking a copy of hstore as well as a copy of plperl into the
shlib for hstore_plperl.  Then at runtime, there will *also* be the
hstore and plperl shlibs in memory.  At best that means substantial
memory bloat, but it seems likely to me that it would fail altogether,
particular for plperl which has got a substantial amount of semantically-
important static storage.  Two copies of that storage will not end well.

regards, tom lane


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-04 Thread Andrew Dunstan


On 07/04/2015 11:02 AM, Tom Lane wrote:

Marco Atzeri marco.atz...@gmail.com writes:

for what I see the hstore_plperl link has a double problem.
It requires a link to hstore
as it also requires a link to perl.
Attached patch for solving this and a similar issue with python.
+ifeq ($(PORTNAME), cygwin)
+# This means we need an in-tree build on Windows, not a pgxs build
+SHLIB_LINK += -L../hstore -lhstore -L$(perl_archlibexp)/CORE -lperl
+endif
[ and likewise for the other contrib transform modules ]

I wondered how come we had not seen this problem in the buildfarm,
but the answer appears to be that our only working Cygwin critter
(brolga) doesn't build any of the optional PLs, so it skips these
modules altogether.  Seems like we need to improve that situation.

Also, I noted that the regular win32 path in these makefiles
says, eg,

ifeq ($(PORTNAME), win32)
# these settings are the same as for plperl
override CPPFLAGS += -DPLPERL_HAVE_UID_GID -Wno-comment
# This means we need an in-tree build on Windows, not a pgxs build
SHLIB_LINK += ../hstore/libhstore.a $(wildcard ../../src/pl/plperl/libperl*.a)
endif

It's not apparent to me how that works at all.  It seems to specify
hard-linking a copy of hstore as well as a copy of plperl into the
shlib for hstore_plperl.  Then at runtime, there will *also* be the
hstore and plperl shlibs in memory.  At best that means substantial
memory bloat, but it seems likely to me that it would fail altogether,
particular for plperl which has got a substantial amount of semantically-
important static storage.  Two copies of that storage will not end well.






Windows finds the DLL in its path. I just tested this by removing the 
intree pl DLLs after installing and then running contrib installcheck, 
and it worked fine. Whether or not it actually loads the DLL twice when 
it can find the intree DLL I don't know for sure, maybe someone with 
more Windows-fu than me can inform our ignorance.


cheers

andrew


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-03 Thread Marco Atzeri

On 7/3/2015 8:19 AM, Michael Paquier wrote:

On Fri, Jul 3, 2015 at 2:47 PM, Marco Atzeri marco.atz...@gmail.com wrote:

On 7/2/2015 5:16 PM, Dave Page wrote:



-lldap
hstore_plperl.o: In function `hstore_to_plperl':
/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-9.5alpha1
/contrib/hstore_plperl/hstore_plperl.c:16: undefined reference to
`hstoreUpgrade   '


So... dangomushi is able to build it at least. Here are the logs to
the last build for example:
http://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=dangomushidt=2015-07-02%2019%3A19%3A39stg=make-contrib
What is the name of the library generated in hstore? Perhaps there is
a mismatch here.


OK thanks for the feedback.
It may be a cygwin perl specific issue.
I will investigate

Regards
Marco



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-03 Thread Andrew Dunstan


On 07/03/2015 01:47 AM, Marco Atzeri wrote:

On 7/2/2015 5:16 PM, Dave Page wrote:

The PostgreSQL Global Development Group announces that the alpha
release of PostgreSQL 9.5, the latest version of the world's leading
open source database, is available today.  This release contains
previews of all of the features which will be available in the final
release of version 9.5, although some details will change before then.
Please download, test, and report what you find.

Help Test for Bugs
--




building on cygwin and

$ perl --version

This is perl 5, version 22, subversion 0 (v5.22.0) built for 
cygwin-thread-multi-64int


build fail here, anyone seeing the same on other platforms ?

make -C hstore_plperl all
make[1]: Entering directory 
'/cygdrive/e/cyg_pub/devel/postgresql/prova/postgres 
ql-9.5alpha1-1.i686/build/contrib/hstore_plperl'
gcc -Wall -Wmissing-prototypes -Wpointer-arith 
-Wdeclaration-after-statement -We ndif-labels 
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -f 
   wrapv -fexcess-precision=standard -ggdb -O2 
-pipe -Wimplicit-function-declaratio   n 
-I/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-9.5a 
  lpha1/src/pl/plperl 
-I/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr 
   c/postgresql-9.5alpha1/contrib/hstore -I. 
-I/pub/devel/postgresql/prova/postgres 
ql-9.5alpha1-1.i686/src/postgresql-9.5alpha1/contrib/hstore_plperl 
-I../../src/i   nclude 
-I/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql- 
 9.5alpha1/src/include 
-I/usr/lib/perl5/5.22/i686-cygwin-threads-64int/CORE  -c 
-o hstore_plperl.o 
/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/p 
ostgresql-9.5alpha1/contrib/hstore_plperl/hstore_plperl.c
In file included from 
/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr

c/postgresql-9.5alpha1/contrib/hstore_plperl/hstore_plperl.c:6:0:
/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-9.5alpha1 
  /contrib/hstore/hstore.h:79:0: warning: 
HS_KEY redefined

 #define HS_KEY(arr_,str_,i_) ((str_) + HSE_OFF((arr_)[2*(i_)]))
 ^
In file included from 
/usr/lib/perl5/5.22/i686-cygwin-threads-64int/CORE/perl.h: 
 3730:0,
 from 
/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr 
 c/postgresql-9.5alpha1/src/pl/plperl/plperl.h:48,
 from 
/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr

c/postgresql-9.5alpha1/contrib/hstore_plperl/hstore_plperl.c:4:
/usr/lib/perl5/5.22/i686-cygwin-threads-64int/CORE/util.h:221:0: note: 
this is t   he location of the previous 
definition

 #  define HS_KEY(setxsubfn, popmark, apiver, xsver) \
 ^
gcc -Wall -Wmissing-prototypes -Wpointer-arith 
-Wdeclaration-after-statement -We ndif-labels 
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -f 
   wrapv -fexcess-precision=standard -ggdb -O2 
-pipe -Wimplicit-function-declaratio   n 
-shared -o hstore_plperl.dll -Wl,--out-implib=libhstore_plperl.a 
hstore_plpe   rl.o  -L../../src/port 
-L../../src/common -Wl,-no-undefined -Wl,--allow-multiple 
-definition -Wl,--enable-auto-import  -L/usr/local/lib 
-Wl,--as-needed   -L../..   /src/backend 
-lpostgres -lpgcommon -lpgport -lintl -lssl -lcrypto -lz -lreadline 
   -lcrypt -lldap

hstore_plperl.o: In function `hstore_to_plperl':
/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-9.5alpha1 
/contrib/hstore_plperl/hstore_plperl.c:16: undefined reference to 
`hstoreUpgrade   '






That #define clash is annoying, We should probably #undefine HS_KEY if 
it's defined before including hstore.h.


cheers

andrew


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-03 Thread Michael Paquier
On Fri, Jul 3, 2015 at 2:47 PM, Marco Atzeri marco.atz...@gmail.com wrote:
 On 7/2/2015 5:16 PM, Dave Page wrote:

 The PostgreSQL Global Development Group announces that the alpha
 release of PostgreSQL 9.5, the latest version of the world's leading
 open source database, is available today.  This release contains
 previews of all of the features which will be available in the final
 release of version 9.5, although some details will change before then.
 Please download, test, and report what you find.

 Help Test for Bugs
 --




 building on cygwin and

 $ perl --version

 This is perl 5, version 22, subversion 0 (v5.22.0) built for
 cygwin-thread-multi-64int

 build fail here, anyone seeing the same on other platforms ?

 make -C hstore_plperl all
 make[1]: Entering directory
 '/cygdrive/e/cyg_pub/devel/postgresql/prova/postgres
 ql-9.5alpha1-1.i686/build/contrib/hstore_plperl'
 gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement
 -We   ndif-labels -Wmissing-format-attribute
 -Wformat-security -fno-strict-aliasing -fwrapv
 -fexcess-precision=standard -ggdb -O2 -pipe -Wimplicit-function-declaratio
 n
 -I/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-9.5a
 lpha1/src/pl/plperl
 -I/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr
 c/postgresql-9.5alpha1/contrib/hstore -I.
 -I/pub/devel/postgresql/prova/postgres
 ql-9.5alpha1-1.i686/src/postgresql-9.5alpha1/contrib/hstore_plperl
 -I../../src/i   nclude
 -I/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-
 9.5alpha1/src/include -I/usr/lib/perl5/5.22/i686-cygwin-threads-64int/CORE
 -c -o hstore_plperl.o
 /pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/p
 ostgresql-9.5alpha1/contrib/hstore_plperl/hstore_plperl.c
 In file included from
 /pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr
 c/postgresql-9.5alpha1/contrib/hstore_plperl/hstore_plperl.c:6:0:
 /pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-9.5alpha1
 /contrib/hstore/hstore.h:79:0: warning: HS_KEY redefined
  #define HS_KEY(arr_,str_,i_) ((str_) + HSE_OFF((arr_)[2*(i_)]))
  ^
 In file included from
 /usr/lib/perl5/5.22/i686-cygwin-threads-64int/CORE/perl.h:
 3730:0,
  from
 /pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr
 c/postgresql-9.5alpha1/src/pl/plperl/plperl.h:48,
  from
 /pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr
 c/postgresql-9.5alpha1/contrib/hstore_plperl/hstore_plperl.c:4:
 /usr/lib/perl5/5.22/i686-cygwin-threads-64int/CORE/util.h:221:0: note: this
 is t   he location of the previous definition
  #  define HS_KEY(setxsubfn, popmark, apiver, xsver) \
  ^
 gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement
 -We   ndif-labels -Wmissing-format-attribute
 -Wformat-security -fno-strict-aliasing -fwrapv
 -fexcess-precision=standard -ggdb -O2 -pipe -Wimplicit-function-declaratio
 n -shared -o hstore_plperl.dll -Wl,--out-implib=libhstore_plperl.a
 hstore_plpe   rl.o  -L../../src/port
 -L../../src/common -Wl,-no-undefined -Wl,--allow-multiple
 -definition -Wl,--enable-auto-import  -L/usr/local/lib -Wl,--as-needed
 -L../..   /src/backend -lpostgres -lpgcommon
 -lpgport -lintl -lssl -lcrypto -lz -lreadline-lcrypt
 -lldap
 hstore_plperl.o: In function `hstore_to_plperl':
 /pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-9.5alpha1
 /contrib/hstore_plperl/hstore_plperl.c:16: undefined reference to
 `hstoreUpgrade   '

Hm. dangomushi is using perl 5.22 and the build does not fail:



-- 
Michael


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-03 Thread Michael Paquier
On Fri, Jul 3, 2015 at 2:47 PM, Marco Atzeri marco.atz...@gmail.com wrote:
 On 7/2/2015 5:16 PM, Dave Page wrote:

 The PostgreSQL Global Development Group announces that the alpha
 release of PostgreSQL 9.5, the latest version of the world's leading
 open source database, is available today.  This release contains
 previews of all of the features which will be available in the final
 release of version 9.5, although some details will change before then.
 Please download, test, and report what you find.

 Help Test for Bugs
 --




 building on cygwin and

 $ perl --version

 This is perl 5, version 22, subversion 0 (v5.22.0) built for
 cygwin-thread-multi-64int

 build fail here, anyone seeing the same on other platforms ?

 make -C hstore_plperl all
 make[1]: Entering directory
 '/cygdrive/e/cyg_pub/devel/postgresql/prova/postgres
 ql-9.5alpha1-1.i686/build/contrib/hstore_plperl'
 gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement
 -We   ndif-labels -Wmissing-format-attribute
 -Wformat-security -fno-strict-aliasing -fwrapv
 -fexcess-precision=standard -ggdb -O2 -pipe -Wimplicit-function-declaratio
 n
 -I/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-9.5a
 lpha1/src/pl/plperl
 -I/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr
 c/postgresql-9.5alpha1/contrib/hstore -I.
 -I/pub/devel/postgresql/prova/postgres
 ql-9.5alpha1-1.i686/src/postgresql-9.5alpha1/contrib/hstore_plperl
 -I../../src/i   nclude
 -I/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-
 9.5alpha1/src/include -I/usr/lib/perl5/5.22/i686-cygwin-threads-64int/CORE
 -c -o hstore_plperl.o
 /pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/p
 ostgresql-9.5alpha1/contrib/hstore_plperl/hstore_plperl.c
 In file included from
 /pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr
 c/postgresql-9.5alpha1/contrib/hstore_plperl/hstore_plperl.c:6:0:
 /pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-9.5alpha1
 /contrib/hstore/hstore.h:79:0: warning: HS_KEY redefined
  #define HS_KEY(arr_,str_,i_) ((str_) + HSE_OFF((arr_)[2*(i_)]))
  ^
 In file included from
 /usr/lib/perl5/5.22/i686-cygwin-threads-64int/CORE/perl.h:
 3730:0,
  from
 /pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr
 c/postgresql-9.5alpha1/src/pl/plperl/plperl.h:48,
  from
 /pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr
 c/postgresql-9.5alpha1/contrib/hstore_plperl/hstore_plperl.c:4:
 /usr/lib/perl5/5.22/i686-cygwin-threads-64int/CORE/util.h:221:0: note: this
 is t   he location of the previous definition
  #  define HS_KEY(setxsubfn, popmark, apiver, xsver) \
  ^
 gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement
 -We   ndif-labels -Wmissing-format-attribute
 -Wformat-security -fno-strict-aliasing -fwrapv
 -fexcess-precision=standard -ggdb -O2 -pipe -Wimplicit-function-declaratio
 n -shared -o hstore_plperl.dll -Wl,--out-implib=libhstore_plperl.a
 hstore_plpe   rl.o  -L../../src/port
 -L../../src/common -Wl,-no-undefined -Wl,--allow-multiple
 -definition -Wl,--enable-auto-import  -L/usr/local/lib -Wl,--as-needed
 -L../..   /src/backend -lpostgres -lpgcommon
 -lpgport -lintl -lssl -lcrypto -lz -lreadline-lcrypt
 -lldap
 hstore_plperl.o: In function `hstore_to_plperl':
 /pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-9.5alpha1
 /contrib/hstore_plperl/hstore_plperl.c:16: undefined reference to
 `hstoreUpgrade   '

So... dangomushi is able to build it at least. Here are the logs to
the last build for example:
http://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=dangomushidt=2015-07-02%2019%3A19%3A39stg=make-contrib
What is the name of the library generated in hstore? Perhaps there is
a mismatch here.
-- 
Michael


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] PostgreSQL 9.5 Alpha 1 build fail with perl 5.22

2015-07-02 Thread Marco Atzeri

On 7/2/2015 5:16 PM, Dave Page wrote:

The PostgreSQL Global Development Group announces that the alpha
release of PostgreSQL 9.5, the latest version of the world's leading
open source database, is available today.  This release contains
previews of all of the features which will be available in the final
release of version 9.5, although some details will change before then.
Please download, test, and report what you find.

Help Test for Bugs
--




building on cygwin and

$ perl --version

This is perl 5, version 22, subversion 0 (v5.22.0) built for 
cygwin-thread-multi-64int


build fail here, anyone seeing the same on other platforms ?

make -C hstore_plperl all
make[1]: Entering directory 
'/cygdrive/e/cyg_pub/devel/postgresql/prova/postgres 
   ql-9.5alpha1-1.i686/build/contrib/hstore_plperl'
gcc -Wall -Wmissing-prototypes -Wpointer-arith 
-Wdeclaration-after-statement -We   ndif-labels 
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -f 
   wrapv -fexcess-precision=standard -ggdb -O2 
-pipe -Wimplicit-function-declaratio   n 
-I/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-9.5a 
  lpha1/src/pl/plperl 
-I/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr 
   c/postgresql-9.5alpha1/contrib/hstore -I. 
-I/pub/devel/postgresql/prova/postgres 
ql-9.5alpha1-1.i686/src/postgresql-9.5alpha1/contrib/hstore_plperl 
-I../../src/i   nclude 
-I/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql- 
 9.5alpha1/src/include 
-I/usr/lib/perl5/5.22/i686-cygwin-threads-64int/CORE  -c 
-o hstore_plperl.o 
/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/p 
ostgresql-9.5alpha1/contrib/hstore_plperl/hstore_plperl.c
In file included from 
/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr 


c/postgresql-9.5alpha1/contrib/hstore_plperl/hstore_plperl.c:6:0:
/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-9.5alpha1 
  /contrib/hstore/hstore.h:79:0: warning: 
HS_KEY redefined

 #define HS_KEY(arr_,str_,i_) ((str_) + HSE_OFF((arr_)[2*(i_)]))
 ^
In file included from 
/usr/lib/perl5/5.22/i686-cygwin-threads-64int/CORE/perl.h: 
 3730:0,
 from 
/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr 
 c/postgresql-9.5alpha1/src/pl/plperl/plperl.h:48,
 from 
/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/sr 


c/postgresql-9.5alpha1/contrib/hstore_plperl/hstore_plperl.c:4:
/usr/lib/perl5/5.22/i686-cygwin-threads-64int/CORE/util.h:221:0: note: 
this is t   he location of the previous definition

 #  define HS_KEY(setxsubfn, popmark, apiver, xsver) \
 ^
gcc -Wall -Wmissing-prototypes -Wpointer-arith 
-Wdeclaration-after-statement -We   ndif-labels 
-Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -f 
   wrapv -fexcess-precision=standard -ggdb -O2 
-pipe -Wimplicit-function-declaratio   n 
-shared -o hstore_plperl.dll -Wl,--out-implib=libhstore_plperl.a 
hstore_plpe   rl.o  -L../../src/port 
-L../../src/common -Wl,-no-undefined -Wl,--allow-multiple 
-definition -Wl,--enable-auto-import  -L/usr/local/lib 
-Wl,--as-needed   -L../..   /src/backend 
-lpostgres -lpgcommon -lpgport -lintl -lssl -lcrypto -lz -lreadline 
   -lcrypt -lldap

hstore_plperl.o: In function `hstore_to_plperl':
/pub/devel/postgresql/prova/postgresql-9.5alpha1-1.i686/src/postgresql-9.5alpha1 
  /contrib/hstore_plperl/hstore_plperl.c:16: 
undefined reference to `hstoreUpgrade   '



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers