Re: configure PostgreSQL with PERL: Perl version 5.8 or later is required, but this is .

From: Andre Mikulec <andre_mikulec(at)hotmail(dot)com>
To: "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: configure PostgreSQL with PERL: Perl version 5.8 or later is required, but this is .
Date: 2016-10-24 18:01:16
Message-ID: CY1PR03MB2187B446E0DC4FBDCB2041489CA90@CY1PR03MB2187.namprd03.prod.outlook.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general


Never mind. I figured it out.

Soon I will write up a summary.

Andre Mikulec
Andre_Mikulec(at)Hotmail(dot)com

________________________________
From: Andre Mikulec <andre_mikulec(at)hotmail(dot)com>
Sent: Sunday, October 23, 2016 7:05 PM
To: pgsql-general(at)postgresql(dot)org
Cc: Tom Lane
Subject: Re: [GENERAL] 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(at)Hotmail(dot)com

________________________________
From: Andre Mikulec <andre_mikulec(at)hotmail(dot)com>
Sent: Friday, October 21, 2016 1:37 AM
To: Tom Lane
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] configure PostgreSQL with PERL: Perl version 5.8 or later is required, but this is .

Tom,

I m getting this.

TargetUser(at)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(at)Hotmail(dot)com

________________________________
From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Sent: Thursday, October 20, 2016 9:54 AM
To: Andre Mikulec
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: [GENERAL] configure PostgreSQL with PERL: Perl version 5.8 or later is required, but this is .

Andre Mikulec <andre_mikulec(at)hotmail(dot)com> 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

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ankit Sablok 2016-10-24 18:08:12 Re: Errors while installing PostGIS by an unusual method
Previous Message Andre Mikulec 2016-10-24 17:53:18 Re: configure PostgreSQL with PERL: Perl version 5.8 or later is required, but this is .