Обсуждение: BUG #2677: BCC 5.5 can't compile libpq 8.2 beta 1

Поиск
Список
Период
Сортировка

BUG #2677: BCC 5.5 can't compile libpq 8.2 beta 1

От
"CN"
Дата:
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"
--------------

Re: BUG #2677: BCC 5.5 can't compile libpq 8.2 beta 1

От
Tom Lane
Дата:
"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