Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit 341cb70

Browse files
committed
The following patch updates the FAQ_AIX and makes C++ code work with
more recent versions of the IBM C++ compiler (now called VisualAge C++). The C++ part was previously broken (g++ and xlC), thus this is zero risk. Only AIX specific parts are touched (1 Makefile.shlib line (link with $(COMPILER ) instead of $(CC) and one shell script line (parameter -C to nm to not demangle C++ symbo ls for .exp file)). I thus ask you to please apply this patch before release. With or without this patch RC1 on AIX 4.3.2 RS6000 passes "gmake check" for both the native compiler vac.C 5.0.1 and gcc 2.95.2 :-) Andreas
1 parent c4d354c commit 341cb70

File tree

3 files changed

+20
-11
lines changed

3 files changed

+20
-11
lines changed

doc/FAQ_AIX

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,27 @@
11
From: Zeugswetter Andreas <ZeugswetterA@wien.spardat.at>
2-
Wed Nov 8 11:16:35 MEZ 2000
2+
Tue Mar 27 10:47:31 MSZ 2001
33

4-
AIX 4.3.2 with native IBM compiler xlc 3.6.4 passes all regression tests.
5-
Other versions of OS and compiler should also work. If you don't have
6-
a powerpc there might be differences in the geometry regression test.
4+
On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc
5+
(vac.C 5.0.1) passes all regression tests.
6+
Other versions of OS and compiler should also work. If you don't have a
7+
powerpc or use gcc you might see rounding differences in the geometry
8+
regression test.
79

810
Use the following configure flags in addition to your own
911
if you have readline or libz there:
1012
--with-includes=/usr/local/include --with-libraries=/usr/local/lib
1113

12-
libpq++ does not work because xlC does not have the string and bool classes.
13-
compiling the few files, that fail, with g++ does work.
14-
15-
Compiling PostgreSQL with gcc (2.95.2) on AIX also works.
14+
If you need libpq++ and have trouble --with-CXX=xlC make sure you have
15+
installed the appropriate C++ include files and use a C++ version that
16+
supports the string class (e.g. VisualAge C++ filesets vacpp.cmp.batch 5.0
17+
and vacpp.cmp.include 5.0).
1618

1719
There will probably be warnings about int8 - int64 redefines, 0.0/0.0
1820
division and duplicate symbol warnings which you can safely ignore.
21+
22+
Compiling PostgreSQL with gcc (2.95.2) on AIX also works.
23+
Use the configure flags: --with-CC=gcc
24+
25+
Since the mktime() function does not work on AIX for dates before
26+
1970, all localtime formatted datetimes will not use summer time for
27+
dates before 1970.

src/Makefile.shlib

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# Copyright (c) 1998, Regents of the University of California
77
#
88
# IDENTIFICATION
9-
# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.48 2001/03/14 19:35:11 tgl Exp $
9+
# $Header: /cvsroot/pgsql/src/Makefile.shlib,v 1.49 2001/03/27 14:56:20 momjian Exp $
1010
#
1111
#-------------------------------------------------------------------------
1212

@@ -291,7 +291,7 @@ else # PORTNAME == aix
291291
# AIX case
292292
$(shlib): lib$(NAME).a
293293
$(MKLDEXPORT) lib$(NAME).a > lib$(NAME)$(EXPSUFF)
294-
$(CC) -Wl,-H512 -Wl,-bM:SRE -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:lib$(NAME)$(EXPSUFF) -o $@ $< $(LDFLAGS) $(SHLIB_LINK)
294+
$(COMPILER) -Wl,-H512 -Wl,-bM:SRE -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:lib$(NAME)$(EXPSUFF) -o $@ $< $(LDFLAGS) $(SHLIB_LINK)
295295

296296
endif # PORTNAME == aix
297297

src/backend/port/aix/mkldexport.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ else
5050
echo '#!' $2/$OBJNAME
5151
fi
5252
fi
53-
$NM -Bg $1 | \
53+
$NM -BCg $1 | \
5454
egrep ' [TDB] ' | \
5555
sed -e 's/.* //' | \
5656
egrep -v '\$' | \

0 commit comments

Comments
 (0)