Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb6af0dc

Browse files
committed
Update AIX FAQ.
Chris Browne
1 parentaa8290b commitb6af0dc

File tree

1 file changed

+77
-1
lines changed

1 file changed

+77
-1
lines changed

‎doc/FAQ_AIX

Lines changed: 77 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
From: Zeugswetter Andreas <ZeugswetterA@spardat.at>
2-
$Date:2002/11/12 20:02:32 $
2+
$Date:2005/07/30 03:39:27 $
33

44
On AIX 4.3.2 PostgreSQL compiled with the native IBM compiler xlc
55
(vac.C 5.0.1) passes all regression tests. Other versions of OS and
@@ -18,3 +18,79 @@ Compiling PostgreSQL with gcc (2.95.3) on AIX also works.
1818
You need libm.a that is in the fileset bos.adt.libm. (Try the
1919
following command.)
2020
$ lslpp -l bos.adt.libm
21+
22+
23+
---
24+
From: Christopher Browne <cbbrowne@ca.afilias.info>
25+
Date: 2005-07-15
26+
27+
On AIX 5.3, there have been some problems getting PostgreSQL to
28+
compile and run using GCC.
29+
30+
1. You will want to use a version of GCC subsequent to 3.3.2,
31+
particularly if you use a prepackaged version. We had good
32+
success with 4.0.1.
33+
34+
Problems with earlier versions seem to have more to do with the
35+
way IBM packaged GCC than with actual issues with GCC, so that if
36+
you compile GCC yourself, you might well have success with an
37+
earlier version of GCC.
38+
39+
2. AIX 5.3 has a problem where sockadr_storage is not defined to be
40+
large enough. In version 5.3, IBM increased the size of
41+
sockaddr_un, the address structure for UNIX Domain Sockets, but
42+
did not correspondingly increase the size of sockadr_storage.
43+
44+
The result of this is that attempts to use UDS with PostgreSQL
45+
lead to libpq overflowing the data structure. TCP/IP connections
46+
work OK, but not UDS, which prevents the regression tests from
47+
working.
48+
49+
The nonconformance may be readily demonstrated by compiling and
50+
running the following C program which calculates and compares the
51+
sizes of the various structures:
52+
53+
test_size.c
54+
------------
55+
56+
---------- snip here - test_size.c ----------------------------
57+
#include <stdio.h>
58+
#include <sys/un.h>
59+
#include <sys/socket.h>
60+
int main (int argc, char *argv[]) {
61+
struct sockaddr_storage a;
62+
struct sockaddr_un b;
63+
printf("Size of sockadr_storage: %d\n", sizeof(a));
64+
printf ("Size of sockaddr_un:%d\n", sizeof(b));
65+
66+
if (sizeof(a) >= sizeof(b))
67+
printf ("Conformant to RFC 3493\n");
68+
else
69+
printf ("Non-conformant to RFC 3493\n");
70+
}
71+
---------- snip here - test_size.c ----------------------------
72+
73+
74+
The problem was reported to IBM, and is recorded as bug report
75+
PMR29657.
76+
77+
An immediate resolution is to alter _SS_MAXSIZE to = 1025 in
78+
/usr/include/sys/socket.h, which will resolve the immediate problem.
79+
80+
It appears that the "final" resolution will be to alter _SS_MAXSIZE to
81+
1280, making the size nicely align with page boundaries.
82+
83+
IBM will be providing a fix in the next maintenance release (expected
84+
in October 2005) with an updated socket.h.
85+
---
86+
From: Christopher Browne <cbbrowne@ca.afilias.info>
87+
Date: 2005-07-15
88+
89+
Some of the AIX tools may be "a little different" from what you may be
90+
accustomed to on other platforms. If you are looking for a version of
91+
ldd, useful for determining what object code depends on what
92+
libraries, the following URLs may help you...
93+
94+
http://www.faqs.org/faqs/aix-faq/part4/section-22.html
95+
96+
http://www.han.de/~jum/aix/ldd.c

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp