Never mind. I figured it out. Soon I will write up a summary. From: Andre Mikulec <andre_mikulec@xxxxxxxxxxx>
Sent: Sunday, October 23, 2016 7:05 PM To: pgsql-general@xxxxxxxxxxxxxx Cc: Tom Lane Subject: Re: configure PostgreSQL with PERL: Perl version 5.8 or later is required, but this is . I corrected 'PERL=' to include the executable.
I tried again.
./configure PERL=/c/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/bin/perl5.20.3.exe --with-perl --with-includes=/c/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/lib/CORE:/c/Users/AnonymousUser/Documents/zlib-1.2.8-win32-x86_64/include --with-libraries=/c/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/bin:/c/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/lib/CORE:/c/Users/AnonymousUser/Documents/zlib-1.2.8-win32-x86_64/bin:/c/Users/AnonymousUser/Documents/zlib-1.2.8-win32-x86_64/lib
--host=x86_64-w64-mingw32 --prefix=/usr/local/pgsql_0ab9c56_debug --disable-rpath --enable-depend --enable-cassert --enable-debug --with-extra-version=_CFLAGS_O_0ab9c56 CFLAGS="-O -fno-omit-frame-pointer" 2>&1 | tee configure_OPTIONS_EnterpriseDB_PERL_without_SUBDIR_sys.txt
Relevant output is the following.
checking whether to build Perl modules... yes
configure: using perl 5.20.3
checking for Perl archlibexp... C:/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/lib
checking for Perl privlibexp... C:/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/lib
checking for Perl useshrplib... true
checking for flags to link embedded Perl... -LC:/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/lib/CORE -lperl520
checking for perl.h... yes
checking for libperl... yes
configure: using CPPFLAGS= -I./src/include/port/win32 -DEXEC_BACKEND -I/c/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/lib/CORE -I/c/Users/AnonymousUser/Documents/zlib-1.2.8-win32-x86_64/include
configure: using LDFLAGS= -Wl,--allow-multiple-definition -Wl,--disable-auto-import -L/c/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/bin -L/c/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/lib/CORE -L/c/Users/AnonymousUser/Documents/zlib-1.2.8-win32-x86_64/bin
-L/c/Users/AnonymousUser/Documents/zlib-1.2.8-win32-x86_64/lib -Wl,--as-needed
I try to 'make'
make 2>&1 | tee make_ALONE_OPTIONS_EnterpriseDB_PERL_without_SUBDIR_sys.txt
But now within the 'make', I am getting complaints
saying "warning: win32_FUNCTION redefined."
x86_64-w64-mingw32-gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -O -fno-omit-frame-pointer -I../../src/port
-I../../src/include -I./src/include/port/win32 -DEXEC_BACKEND -I/c/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/lib/CORE -I/c/Users/AnonymousUser/Documents/zlib-1.2.8-win32-x86_64/include "-I../../src/include/port/win32" -DBUILDING_DLL -c path.c -o path_srv.o
In file included from c:/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/lib/CORE/netdb.h:10:0,
from ../../src/include/port.h:17,
from ../../src/include/c.h:1105,
from ../../src/include/postgres.h:47,
from path.c:17:
c:/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/lib/CORE/sys/socket.h:272:0: warning: "socket" redefined
#define socket win32_socket
In file included from ../../src/include/c.h:101:0,
from ../../src/include/postgres.h:47,
from path.c:17:
../../src/include/pg_config_os.h:379:0: note: this is the location of the previous definition
#define socket(af, type, protocol) pgwin32_socket(af, type, protocol)
In file included from c:/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/lib/CORE/netdb.h:10:0,
from ../../src/include/port.h:17,
from ../../src/include/c.h:1105,
from ../../src/include/postgres.h:47,
from path.c:17:
c:/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/lib/CORE/sys/socket.h:273:0: warning: "bind" redefined
#define bind win32_bind
These complaints go on and on, but they are all similar.
They seem to be complaints about networking functions begin re-defined
win32_*
E.g. win32_connect
These function headers are found in the python subdirectory and files.
CORE/sys/socket.h
CORE/netdb.h
They were most like likely included by using the
./configure line --with-includes option
--with-includes=/c/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/lib/CORE
Note, perl.h lives in lib/CORE, so I am not sure about removing that option.
Eventually, these complaints lead to . . .
x86_64-w64-mingw32-gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -O -fno-omit-frame-pointer -shared
-static-libgcc -o libpq.dll fe-auth.o fe-connect.o fe-exec.o fe-misc.o fe-print.o fe-lobj.o fe-protocol2.o fe-protocol3.o pqexpbuffer.o fe-secure.o libpq-events.o chklocale.o inet_net_ntop.o noblock.o pgstrcasecmp.o pqsignal.o thread.o crypt.o inet_aton.o
strlcpy.o getaddrinfo.o open.o system.o win32error.o win32setlocale.o snprintf.o encnames.o wchar.o ip.o md5.o pgsleep.o win32.o libpqrc.o pthread-win32.o libpqdll.def -L../../../src/port -L../../../src/common -Wl,--allow-multiple-definition -Wl,--disable-auto-import
-L/c/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/bin -L/c/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/lib/CORE -L/c/Users/AnonymousUser/Documents/zlib-1.2.8-win32-x86_64/bin -L/c/Users/AnonymousUser/Documents/zlib-1.2.8-win32-x86_64/lib -Wl,--as-needed
-lshell32 -lws2_32 -lsecur32 -lpgcommon -lz -lws2_32 -lm -lws2_32 -Wl,--out-implib=libpq.a
fe-connect.o: In function `internal_cancel':
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:3241: undefined reference to `win32_socket'
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:3247: undefined reference to `win32_connect'
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:3313: undefined reference to `win32_closesocket'
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:3263: undefined reference to `win32_htonl'
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:3264: undefined reference to `win32_htonl'
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:3265: undefined reference to `win32_htonl'
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:3266: undefined reference to `win32_htonl'
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:3269: undefined reference to `win32_send'
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:3286: undefined reference to `win32_recv'
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:3295: undefined reference to `win32_closesocket'
fe-connect.o: In function `pqDropConnection':
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:406: undefined reference to `win32_closesocket'
fe-connect.o: In function `PQconnectPoll':
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:1714: undefined reference to `win32_socket'
fe-connect.o: In function `connectNoDelay':
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:1097: undefined reference to `win32_setsockopt'
fe-connect.o: In function `PQconnectPoll':
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:1859: undefined reference to `win32_connect'
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:1925: undefined reference to `win32_getsockopt'
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-connect.c:1958: undefined reference to `win32_getsockname'
fe-misc.o: In function `pqSocketPoll':
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-misc.c:1171: undefined reference to `win32_select'
fe-misc.o: In function `pqGetInt':
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-misc.c:284: undefined reference to `win32_ntohs'
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-misc.c:291: undefined reference to `win32_ntohl'
fe-misc.o: In function `pqPutInt':
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-misc.c:320: undefined reference to `win32_htons'
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-misc.c:325: undefined reference to `win32_htonl'
fe-misc.o: In function `pqPutMsgEnd':
c:\postgres-master_0ab9c56_debug\src\interfaces\libpq/fe-misc.c:603: undefined reference to `win32_htonl'
collect2.exe: error: ld returned 1 exit status
make[3]: *** [libpq.dll] Error 1
make[3]: Leaving directory `/c/postgres-master_0ab9c56_debug/src/interfaces/libpq'
make[2]: *** [all-libpq-recurse] Error 2
make[2]: Leaving directory `/c/postgres-master_0ab9c56_debug/src/interfaces'
make[1]: *** [all-interfaces-recurse] Error 2
make[1]: Leaving directory `/c/postgres-master_0ab9c56_debug/src'
make: *** [all-src-recurse] Error 2
Thanks,
Andre Mikulec
Andre_Mikulec@xxxxxxxxxxx
From: Andre Mikulec <andre_mikulec@xxxxxxxxxxx>
Sent: Friday, October 21, 2016 1:37 AM To: Tom Lane Cc: pgsql-general@xxxxxxxxxxxxxx Subject: Re: configure PostgreSQL with PERL: Perl version 5.8 or later is required, but this is . Tom, I m getting this.
TargetUser@TARGETMACH ~
$ perl -v
This is perl, v5.8.8 built for msys-64int
5.8.8 is not right. See later emails.
Andre Mikulec Andre_Mikulec@xxxxxxxxxxx From: Tom Lane <tgl@xxxxxxxxxxxxx>
Sent: Thursday, October 20, 2016 9:54 AM To: Andre Mikulec Cc: pgsql-general@xxxxxxxxxxxxxx Subject: Re: configure PostgreSQL with PERL: Perl version 5.8 or later is required, but this is . Andre Mikulec <andre_mikulec@xxxxxxxxxxx> writes:
> I am getting the error message. > *** The installed version of Perl, /c/EnterpriseDB/LanguagePack/9.5/x64/Perl-5.20/bin, is too old to use with PostgreSQL. > *** Perl version 5.8 or later is required, but this is . > configure: WARNING: > *** Without Perl you will not be able to build PostgreSQL from Git. > *** You can obtain Perl from any CPAN mirror site. > *** (If you are using the official distribution of PostgreSQL then you do not > *** need to worry about this, because the Perl output is pre-generated.) > configure: error: Perl not found > Why does it say, "Perl version 5.8 or later is required, but this is ."? It's trying to extract the Perl version number from the output of "perl -v", and evidently failing to find one. What does "perl -v" print with that version of Perl? regards, tom lane |