mirror of
				https://github.com/postgres/postgres.git
				synced 2025-11-03 09:13:20 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			3.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
From: Zeugswetter Andreas <ZeugswetterA@spardat.at>
 | 
						|
$Date: 2005/07/30 03:39:27 $
 | 
						|
 | 
						|
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
 | 
						|
 | 
						|
There will probably be warnings about 0.0/0.0 division and duplicate
 | 
						|
symbols which you can safely ignore.
 | 
						|
 | 
						|
Compiling PostgreSQL with gcc (2.95.3) on AIX also works.
 | 
						|
 | 
						|
You need libm.a that is in the fileset bos.adt.libm.  (Try the
 | 
						|
following command.)
 | 
						|
$ lslpp -l bos.adt.libm
 | 
						|
 | 
						|
 | 
						|
---
 | 
						|
From: Christopher Browne <cbbrowne@ca.afilias.info>
 | 
						|
Date: 2005-07-15
 | 
						|
 | 
						|
On AIX 5.3, there have been some problems getting PostgreSQL to
 | 
						|
compile and run using GCC.
 | 
						|
 | 
						|
1.  You will want to use a version of GCC subsequent to 3.3.2,
 | 
						|
    particularly if you use a prepackaged version.  We had good
 | 
						|
    success with 4.0.1.
 | 
						|
 | 
						|
    Problems with earlier versions seem to have more to do with the
 | 
						|
    way IBM packaged GCC than with actual issues with GCC, so that if
 | 
						|
    you compile GCC yourself, you might well have success with an
 | 
						|
    earlier version of GCC.
 | 
						|
 | 
						|
2.  AIX 5.3 has a problem where sockadr_storage is not defined to be
 | 
						|
    large enough.  In version 5.3, IBM increased the size of
 | 
						|
    sockaddr_un, the address structure for UNIX Domain Sockets, but
 | 
						|
    did not correspondingly increase the size of sockadr_storage.
 | 
						|
 | 
						|
    The result of this is that attempts to use UDS with PostgreSQL
 | 
						|
    lead to libpq overflowing the data structure.  TCP/IP connections
 | 
						|
    work OK, but not UDS, which prevents the regression tests from
 | 
						|
    working.
 | 
						|
 | 
						|
   The nonconformance may be readily demonstrated by compiling and
 | 
						|
   running the following C program which calculates and compares the
 | 
						|
   sizes of the various structures:
 | 
						|
 | 
						|
test_size.c
 | 
						|
------------
 | 
						|
 | 
						|
---------- snip here - test_size.c ----------------------------
 | 
						|
#include <stdio.h>
 | 
						|
#include <sys/un.h>
 | 
						|
#include <sys/socket.h>
 | 
						|
int main (int argc, char *argv[]) {
 | 
						|
        struct sockaddr_storage a;
 | 
						|
        struct sockaddr_un b;
 | 
						|
        printf("Size of sockadr_storage: %d\n", sizeof(a));
 | 
						|
        printf ("Size of sockaddr_un:%d\n", sizeof(b));
 | 
						|
 | 
						|
        if (sizeof(a) >= sizeof(b)) 
 | 
						|
                printf ("Conformant to RFC 3493\n");
 | 
						|
        else
 | 
						|
                printf ("Non-conformant to RFC 3493\n");
 | 
						|
} 
 | 
						|
---------- snip here - test_size.c ----------------------------
 | 
						|
 | 
						|
 | 
						|
The problem was reported to IBM, and is recorded as bug report
 | 
						|
PMR29657.
 | 
						|
 | 
						|
An immediate resolution is to alter _SS_MAXSIZE to = 1025 in
 | 
						|
/usr/include/sys/socket.h, which will resolve the immediate problem.
 | 
						|
 | 
						|
It appears that the "final" resolution will be to alter _SS_MAXSIZE to
 | 
						|
1280, making the size nicely align with page boundaries.
 | 
						|
 | 
						|
IBM will be providing a fix in the next maintenance release (expected
 | 
						|
in October 2005) with an updated socket.h.
 | 
						|
---
 | 
						|
From: Christopher Browne <cbbrowne@ca.afilias.info>
 | 
						|
Date: 2005-07-15
 | 
						|
 | 
						|
Some of the AIX tools may be "a little different" from what you may be
 | 
						|
accustomed to on other platforms.  If you are looking for a version of
 | 
						|
ldd, useful for determining what object code depends on what
 | 
						|
libraries, the following URLs may help you...
 | 
						|
 | 
						|
http://www.faqs.org/faqs/aix-faq/part4/section-22.html
 | 
						|
 | 
						|
http://www.han.de/~jum/aix/ldd.c |