Re: Issues while building PG in MS Windows, using MSYS2 andMinGW-w64

Поиск
Список
Период
Сортировка
От insaf.k
Тема Re: Issues while building PG in MS Windows, using MSYS2 andMinGW-w64
Дата
Msg-id 16315656f30.ed3b7c4a5675.8651816929303590919@zohocorp.com
обсуждение исходный текст
Ответ на Re: Issues while building PG in MS Windows, using MSYS2 and MinGW-w64  (Tom Lane <tgl@sss.pgh.pa.us>)
Ответы Re: Issues while building PG in MS Windows, using MSYS2 and MinGW-w64  (Tom Lane <tgl@sss.pgh.pa.us>)
Re: Issues while building PG in MS Windows, using MSYS2 and MinGW-w64  (Yuriy Zhuravlev <stalkerg@gmail.com>)
Список pgsql-hackers
Hi Tom Lane,

Thanks for the help.

I had extracted PG using WinZip outside of MSYS2, and it was causing many of the errors, may be due to some errors in file attributes. So I unpacked the source tarball within the shell itself(using gunzip and tar), and I could fix many errors.

Now new errors are popping up. I've compared the config file with the file given in the URL, but I couldn't fix this yet.

The current error is basically due to the fact that, PUTENVPROC macro is defined to empty.

Config output and make error output are uploaded here https://gist.github.com/codercet/760ae3b0337144059570ccfc06e2a847


The error output while doing make is

gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -g -std=c11 -I../../src/port -DFRONTEND -I../../src/include  -I./src/include/port/win32 -DEXEC_BACKEND  "-I../../src/include/port/win32" -DBUILDING_DLL  -c -o win32env.o win32env.c
win32env.c: In function 'pgwin32_putenv':
win32env.c:24:22: error: expected ')' before '*' token
  typedef int (_cdecl * PUTENVPROC) (const char *);
                      ^
win32env.c:96:4: error: unknown type name 'PUTENVPROC'; did you mean 'IMCENUMPROC'?
    PUTENVPROC putenvFunc;
    ^~~~~~~~~~
    IMCENUMPROC
win32env.c:98:18: error: 'PUTENVPROC' undeclared (first use in this function); did you mean 'IMCENUMPROC'?
    putenvFunc = (PUTENVPROC) GetProcAddress(hmodule, "_putenv");
                  ^~~~~~~~~~
                  IMCENUMPROC
win32env.c:98:18: note: each undeclared identifier is reported only once for each function it appears in
win32env.c:98:30: error: expected ';' before 'GetProcAddress'
    putenvFunc = (PUTENVPROC) GetProcAddress(hmodule, "_putenv");
                              ^~~~~~~~~~~~~~
win32env.c:100:5: error: called object 'putenvFunc' is not a function or function pointer
     putenvFunc(envval);
     ^~~~~~~~~~
win32env.c:96:15: note: declared here
    PUTENVPROC putenvFunc;
               ^~~~~~~~~~
make[2]: *** [<builtin>: win32env.o] Error 1
make[2]: Leaving directory '/home/admin/postgresql-10.0/src/port'
make[1]: *** [Makefile:37: all-port-recurse] Error 2
make[1]: Leaving directory '/home/admin/postgresql-10.0/src'
make: *** [GNUmakefile:11: all-src-recurse] Error 2


Could you please help?

Best Regards,
Mohamed Insaf K
---- On Fri, 27 Apr 2018 21:01:56 +0530 Tom Lane <tgl@sss.pgh.pa.us> wrote ----

"insaf.k" <insaf.k@zohocorp.com> writes:
> I am trying to build PG from source, in MS Windows using MSYS2 and MinGW-w64. I've tried to build PG 10.0 as wells as 10.3.
> I've done configuring like this
> ./configure --prefix="/d/pg10/"
> And when I do "make" or "make world", I'm getting compilation error. I've attached complete error report at the end of the mail.

I don't know anything about mingw, but from the first error message you
showed, I'd venture that configure failed to fill in pg_config_ext.h
correctly. It should have put in a line like

#define PG_INT64_TYPE long long int

and evidently it hasn't. This suggests that there's something wrong
with one of the text-processing tools it uses, such as "sed". You
might look into config.log and see if there are any relevant-looking
error messages (probably down near the end). Also, try comparing
your configure text output and config.log to those of one of our
buildfarm machines that's using mingw successfully, such as


(the "config" and "configure" links on that page are what to compare to).

Hm ... I notice that jacana's been set up so that it explicitly
gives configure a --host setting instead of letting configure work
that out. No idea if that was really necessary or not.

            regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Michael Paquier
Дата:
Сообщение: Re: Local partitioned indexes and pageinspect
Следующее
От: jamesmalvi
Дата:
Сообщение: Re: mogrify and indent features for jsonb