Thread: BUG #2677: BCC 5.5 can't compile libpq 8.2 beta 1
The following bug has been logged online: Bug reference: 2677 Logged by: CN Email address: cnliou9@fastmail.fm PostgreSQL version: 8.2beta1 Operating system: Win98 Description: BCC 5.5 can't compile libpq 8.2 beta 1 Details: In ~/src/interfaces/libpq/ the command make -DCFG=Release -N -f bcc32 yields the errors: ----------- MAKE Version 5.2 Copyright (c) 1987, 2000 Borland Building the Win32 DLL and Static Library... Configuration "Release" bcc32.exe -Ic:\Borland\Bcc55\include;..\..\include;..\..\include\port\win32;..\..\incl ude\port\win32_msvc;..\..\port -n".\Release" -WD -c -DFRONTEND;NDEBUG;WIN32;_WINDOWS;HAVE_VSNPRINTF;HAVE_STRDUP; -tWM -a8 -X -w-use -w-par -w-pia -w-csu -w-aus -w-ccc -O -Oi -OS -DNDEBUG win32.c Borland C++ 5.6.4 for Win32 Copyright (c) 1993, 2002 Borland win32.c: Warning W8017 ..\..\include\pg_config.h 366: Redefinition of 'HAVE_STRDUP' is not identical Error E2209 ..\..\include\c.h 64: Unable to open include file 'crtdefs.h' Error E2209 ..\..\include\c.h 88: Unable to open include file 'pg_config_os.h' Error E2040 ..\..\include\port.h 336: Declaration terminated incorrectly *** 3 errors in Compile *** ** error 1 ** deleting ".\Release\win32.obj" --------------
"CN" <cnliou9@fastmail.fm> writes: > Warning W8017 ..\..\include\pg_config.h 366: Redefinition of 'HAVE_STRDUP' > is not identical I was wondering why all the .mak files bother to /D HAVE_STRDUP when they don't deal with any of the other ones. Shouldn't we remove that? pg_config.h.win32 is certainly the right place to be handling this. > Error E2209 ..\..\include\c.h 64: Unable to open include file 'crtdefs.h' Does this exist for any Borland releases? Dropping it into an #if defined(__BORLANDC__) || defined(_MSC_VER) was probably a mistake. > Error E2209 ..\..\include\c.h 88: Unable to open include file > 'pg_config_os.h' Oversight, fixed this one. > Error E2040 ..\..\include\port.h 336: Declaration terminated incorrectly Not sure about this ... could random() be defined as a macro in your installation? (Is that pointing at the definition of random()? I'm not real sure which version of port.h you have.) If so, we could fix it by adding #define HAVE_RANDOM to pg_config.h.win32, but I'm not sure if that has to be conditional on __BORLANDC__ ... do Mingw and MSVC not have that function? regards, tom lane