summaryrefslogtreecommitdiff
path: root/doc/FAQ_IRIX
blob: 57757efbf0833c79621480f9b39f782f2f2e99a4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
=======================================================
Frequently Asked Questions (FAQ) for PostgreSQL 7.2
IRIX Specific
TO BE READ IN CONJUNCTION WITH THE NORMAL FAQ
=======================================================
last updated:           $Date: 2001/12/19 18:50:48 $

current maintainer:     Luis Amigo (lamigo@atc.unican.es)
original author:        Luis Amigo (lamigo@atc.unican.es)


Questions covered here:
1.1)	What do I need to install PostgreSQL on IRIX?
1.2)	Anything special about the build/install procedure?
1.3)	OK, it seemed to build and install, but the regression test fails.


----------------------------------------------------------------------
Section 1:      Installing PostgreSQL
----------------------------------------------------------------------

1.1)	What do I need to install PostgreSQL on IRIX?

PostgreSQL 7.2 has been run on MIPS r8000, r10000(both ip25 and ip27)
and r12000(ip35) processors, running IRIX 6.5.5m, 6.5.12 and 6.5.13 with
MIPSPro compilers version 7.30, 7.3.1.2m and 7.3. 

Aside from the PostgreSQL source distribution, you will need GNU make
(SGI's make will not do), and the MIPSPro full ANSI C compiler.

There are problems trying to build with GCC.  It is a known gcc bug
(not fixed as of version 3.0) related to using functions that return
certain kinds of structures. This bug affects functions like
inet_ntoa, inet_lnaof, inet_netof, inet_makeaddr and semctl.  It is
supposed to be fixed by forcing code to link those functions with
libgcc, but this has not been tested yet.


1.2)	Anything special about the build/install procedure?

In order to compile with cc you will need to execute:

CC=cc ./configure

You may want to edit src/templates/irix5 to include something like:

CFLAGS='-O2'
LDFLAGS='-O2'

It is a good place to improve performance of PostgreSQK, because here you
may use all MIPSPro power generating specific objects, see man cc.

Another known problem is include location, it may be different from some
compiler installations to others.  This may manifest itself with something like:

cc-1020 cc: ERROR File = pqcomm.c, Line = 427
  The identifier "TCP_NODELAY" is undefined.

                if (setsockopt(port->sock, IPPROTO_TCP, TCP_NODELAY,

Some versions include TCP definitions in <sys/xti.h>, so it is necessary to
add #include <sys/xti.h> in src/backend/libpq/pqcomm.c and in
src/interfaces/libpq/fe-connect.c.


1.3)	OK, it seemed to build and install, but the regression test fails.

There are several "expected failures" due to differences between your platform
and the regression test reference platform used by the PostgreSQL group.  All
of these should be compensated for by the regression test comparison
mechanism, with the possible exception of some low-order-digit differences in
the geometry tests (depending on which FPU are you using) or order differences
between zero and NULL in join tests(depending on compiler version).

Any other error is cause for suspicion.