Обсуждение: 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