Thread: problem with compiling beta3 on mingw32+WinXP
Hi. When i try to compile postgresql-beta3 on mingw32 ./configure pass ok, but there is error when i do "make": gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv -I../../src/port -DFRONTEND -I../../src/include -I./src/include/port/win32 -DEXEC_BACKEND "-I../ ../src/include/port/win32" -c -o crypt.o crypt.c In file included from crypt.c:44:0: ../../src/include/c.h:284:2: error: #error must have a working 64-bit integer da tatype In file included from ../../src/include/c.h:851:0, from crypt.c:44: ../../src/include/port.h:390:0: warning: "fseeko" redefined ../../src/include/pg_config_os.h:228:0: note: this is the location of the previo us definition ../../src/include/port.h:391:0: warning: "ftello" redefined ../../src/include/pg_config_os.h:229:0: note: this is the location of the previo us definition make[2]: *** [crypt.o] Error 1 make[2]: Leaving directory `/home/rosinkr1/postgresql-9.1beta3/src/port' make[1]: *** [all-port-recurse] Error 2 make[1]: Leaving directory `/home/rosinkr1/postgresql-9.1beta3/src' make: *** [all-src-recurse] Error 2 Make version 3.81. Status file included. What is wrong ? ------------ pasman
Attachment
After googling i found that mingw's gcc works with 64 bit integers. But printf is incompatible :( . Possible workaround: include inttypes.h , define macros and convert printf strings: printf("%" LL,(long long)10000000000) 2011/7/25, pasman pasmański <pasman.p@gmail.com>: > Hi. > > When i try to compile postgresql-beta3 on mingw32 ./configure pass ok, > but there is error when i do "make": > > > gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith > -Wdeclaration-after-statement > -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv > -I../../src/port > -DFRONTEND -I../../src/include -I./src/include/port/win32 -DEXEC_BACKEND > "-I../ > ../src/include/port/win32" -c -o crypt.o crypt.c > In file included from crypt.c:44:0: > ../../src/include/c.h:284:2: error: #error must have a working 64-bit > integer da > tatype > In file included from ../../src/include/c.h:851:0, > from crypt.c:44: > ../../src/include/port.h:390:0: warning: "fseeko" redefined > ../../src/include/pg_config_os.h:228:0: note: this is the location of the > previo > us definition > ../../src/include/port.h:391:0: warning: "ftello" redefined > ../../src/include/pg_config_os.h:229:0: note: this is the location of the > previo > us definition > make[2]: *** [crypt.o] Error 1 > make[2]: Leaving directory `/home/rosinkr1/postgresql-9.1beta3/src/port' > make[1]: *** [all-port-recurse] Error 2 > make[1]: Leaving directory `/home/rosinkr1/postgresql-9.1beta3/src' > make: *** [all-src-recurse] Error 2 > > Make version 3.81. > Status file included. > What is wrong ? > > > ------------ > pasman > -- ------------ pasman
On 07/25/2011 02:56 PM, pasman pasmański wrote: > After googling i found that mingw's gcc works with 64 bit integers. > But printf is incompatible :( . Possible workaround: include > inttypes.h , define macros and convert printf strings: > > printf("%" LL,(long long)10000000000) Postgres builds under mingw and runs perfectly well on 32 bit Windows XP. See <http://www.pgbuildfarm.org/cgi-bin/show_log.pl?nm=frogmouth&dt=2011-07-25%2006%3A30%3A01> for example. (Also, please avoid top-posting). cheers andrew
After reinstalling mingw is ok. 2011/7/25, pasman pasmański <pasman.p@gmail.com>: > After googling i found that mingw's gcc works with 64 bit integers. > But printf is incompatible :( . Possible workaround: include > inttypes.h , define macros and convert printf strings: > > printf("%" LL,(long long)10000000000) > > 2011/7/25, pasman pasmański <pasman.p@gmail.com>: >> Hi. >> >> When i try to compile postgresql-beta3 on mingw32 ./configure pass ok, >> but there is error when i do "make": >> >> >> gcc -O2 -Wall -Wmissing-prototypes -Wpointer-arith >> -Wdeclaration-after-statement >> -Wendif-labels -Wformat-security -fno-strict-aliasing -fwrapv >> -I../../src/port >> -DFRONTEND -I../../src/include -I./src/include/port/win32 -DEXEC_BACKEND >> "-I../ >> ../src/include/port/win32" -c -o crypt.o crypt.c >> In file included from crypt.c:44:0: >> ../../src/include/c.h:284:2: error: #error must have a working 64-bit >> integer da >> tatype >> In file included from ../../src/include/c.h:851:0, >> from crypt.c:44: >> ../../src/include/port.h:390:0: warning: "fseeko" redefined >> ../../src/include/pg_config_os.h:228:0: note: this is the location of the >> previo >> us definition >> ../../src/include/port.h:391:0: warning: "ftello" redefined >> ../../src/include/pg_config_os.h:229:0: note: this is the location of the >> previo >> us definition >> make[2]: *** [crypt.o] Error 1 >> make[2]: Leaving directory `/home/rosinkr1/postgresql-9.1beta3/src/port' >> make[1]: *** [all-port-recurse] Error 2 >> make[1]: Leaving directory `/home/rosinkr1/postgresql-9.1beta3/src' >> make: *** [all-src-recurse] Error 2 >> >> Make version 3.81. >> Status file included. >> What is wrong ? >> >> >> ------------ >> pasman >> > > > -- > ------------ > pasman > -- ------------ pasman