FAQ_AIX and AIX C++ patches (was: Call for platforms)
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++ symbols 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
Attachments:
aix.faq_and_c++.patchapplication/octet-stream; name=aix.faq_and_c++.patchDownload
*** ./doc/FAQ_AIX.orig Sat Nov 18 06:40:02 2000
--- ./doc/FAQ_AIX Tue Mar 27 11:03:44 2001
***************
*** 1,18 ****
From: Zeugswetter Andreas <ZeugswetterA@wien.spardat.at>
! Wed Nov 8 11:16:35 MEZ 2000
! AIX 4.3.2 with native IBM compiler xlc 3.6.4 passes all regression tests.
! Other versions of OS and compiler should also work. If you don't have
! a powerpc there might be differences in the geometry regression test.
Use the following configure flags in addition to your own
if you have readline or libz there:
--with-includes=/usr/local/include --with-libraries=/usr/local/lib
! libpq++ does not work because xlC does not have the string and bool classes.
! compiling the few files, that fail, with g++ does work.
- Compiling PostgreSQL with gcc (2.95.2) on AIX also works.
-
There will probably be warnings about int8 - int64 redefines, 0.0/0.0
division and duplicate symbol warnings which you can safely ignore.
--- 1,27 ----
From: Zeugswetter Andreas <ZeugswetterA@wien.spardat.at>
! Tue Mar 27 10:47:31 MSZ 2001
! On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc
! (vac.C 5.0.1) passes all regression tests.
! Other versions of OS and compiler should also work. If you don't have a
! powerpc or use gcc you might see rounding differences in the geometry
! regression test.
Use the following configure flags in addition to your own
if you have readline or libz there:
--with-includes=/usr/local/include --with-libraries=/usr/local/lib
! If you need libpq++ and have trouble --with-CXX=xlC make sure you have
! installed the appropriate C++ include files and use a C++ version that
! supports the string class (e.g. VisualAge C++ filesets vacpp.cmp.batch 5.0
! and vacpp.cmp.include 5.0).
There will probably be warnings about int8 - int64 redefines, 0.0/0.0
division and duplicate symbol warnings which you can safely ignore.
+
+ Compiling PostgreSQL with gcc (2.95.2) on AIX also works.
+ Use the configure flags: --with-CC=gcc
+
+ Since the mktime() function does not work on AIX for dates before
+ 1970, all localtime formatted datetimes will not use summer time for
+ dates before 1970.
*** ./src/backend/port/aix/mkldexport.sh.orig Sat Sep 30 00:00:42 2000
--- ./src/backend/port/aix/mkldexport.sh Tue Mar 27 10:00:43 2001
***************
*** 50,56 ****
echo '#!' $2/$OBJNAME
fi
fi
! $NM -Bg $1 | \
egrep ' [TDB] ' | \
sed -e 's/.* //' | \
egrep -v '\$' | \
--- 50,56 ----
echo '#!' $2/$OBJNAME
fi
fi
! $NM -BCg $1 | \
egrep ' [TDB] ' | \
sed -e 's/.* //' | \
egrep -v '\$' | \
*** ./src/Makefile.shlib.orig Fri Mar 16 22:50:39 2001
--- ./src/Makefile.shlib Tue Mar 27 10:27:37 2001
***************
*** 291,297 ****
# AIX case
$(shlib): lib$(NAME).a
$(MKLDEXPORT) lib$(NAME).a > lib$(NAME)$(EXPSUFF)
! $(CC) -Wl,-H512 -Wl,-bM:SRE -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:lib$(NAME)$(EXPSUFF) -o $@ $< $(LDFLAGS) $(SHLIB_LINK)
endif # PORTNAME == aix
--- 291,297 ----
# AIX case
$(shlib): lib$(NAME).a
$(MKLDEXPORT) lib$(NAME).a > lib$(NAME)$(EXPSUFF)
! $(COMPILER) -Wl,-H512 -Wl,-bM:SRE -Wl,-bI:$(top_builddir)/src/backend/$(POSTGRES_IMP) -Wl,-bE:lib$(NAME)$(EXPSUFF) -o $@ $< $(LDFLAGS) $(SHLIB_LINK)
endif # PORTNAME == aix
Applied because it is AIX-specific changes. Thanks.
[ Charset ISO-8859-1 unsupported, converting... ]
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++ symbols 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
[ Attachment, skipping... ]
---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org
--
Bruce Momjian | http://candle.pha.pa.us
pgman@candle.pha.pa.us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026