port v7.0 to SGI-IRIX-6.5.7/64

From: Murad Nayal <murad(at)godel(dot)bioc(dot)columbia(dot)edu>
To: pgsql-ports(at)postgresql(dot)org, bugs(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org, pgsql-admin(at)postgresql(dot)org
Subject: port v7.0 to SGI-IRIX-6.5.7/64
Date: 2000-05-22 16:42:48
Message-ID: 39296388.38F57992@godel.bioc.columbia.edu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin pgsql-bugs pgsql-hackers pgsql-ports


I managed to compile (and sort of run) postgres 7.0 to SGI running IRIX
6.5.7. I compiled to 64bit libraries. The problems I had were both due
errors in the configure script as well as postgres configuration files.

configure problems:
-------------------
1- the program that configure uses to test for namespace std is faulty.
I had to manually add #define HAVE_NAMESPACE_STD 1 to the top of
interfaces/libpq++/pgconnection.h

2- configure badly guesses the type of the 3rd argument to accept(). it
decided it should be size_t (unsigned int on IRIX) while accept on IRIX
takes an int. postgres compiles, but accept never retrieves the IP
address of the connecting client (in StreamConnection() function in the
file backend/libpq/pqcomm.c). as a result no authentication can happen
and the postmaster refuses connections regardless of what is in
pg_hba.conf. the error message is usually something like

"no pg_hba.conf entry for host localhost user postgres database
template1"

here local host is just a default string and apparently will never match
anything in pg_hba.conf. to fix this i changed line 521 of
include/config.h
from: #define SOCKET_SIZE_TYPE size_t
to: #define SOCKET_SIZE_TYPE int

postgres problems
------------------
3- src/pl/tcl/Makefile has a bug. line 69 is
CFLAGS= $(TCL_CFLAGS_OPTIMIZE)
that clobbers all CFLAGS included previously. as a result the include
directories, important to find tcl.h etc. will not be added to the
options and the compilation stops here complaining that it can't locate
tcl.h etc.
I just changed it to
CFLAGS+= $(TCL_CFLAGS_OPTIMIZE)

4- I had to change line 8 of interfaces/odbc/isqlext.h
from # include <isql.h>
to # include "isql.h"
to force the inclusion of the local isql.h

now my questions: While compiling, i noticed a lot of warnings about
pointers getting truncated etc. it seems that postgres assumes pointer
sizes to be 32 bits. so I suppose compiling for a 64bit platform can be
risky. Anyone have experience compiling postgres on a 64bit platform.

a lot of the regression tests also failed. some of these failures don't
seem to be trivial (some are trivial). I will paste below the overall
report of the regression testing. But what I would really love is for
someone to look at the my regression.diffs and kind of enlighten me to
the problems I should expect with this installation or (better still)
what to look at to fix the problems. I have not used postgres before and
am actually fairly green with databases in general so any help is most
appreciated.

if interested I could email you the diffs for the above changes.

Best Regards
Murad Nayal

configure command
-----------------
./configure --prefix=/local --with-includes=/local/include
--with-libraries=/local/lib --with-tcl --with-tclconfig=/local/lib
--with-tkconfig=/local/lib --with-perl --with-odbc --with-CC="cc -O2
-Xcpluscomm" --with-CXX="CC -O2" --with-x

regression results
------------------

gmake runtest
cc -O2 -Xcpluscomm -I../../include -I../../backend -I/local/include
-U_NO_XOPEN4 -woff 1164,1171,1185,1195,1552 -Wl,-woff,15 -Wl,-woff,84
-I../../interfaces/libpq -I../../include -c regress.c -o regress.o
ld -G -Bdynamic -shared -o regress.so regress.o
MULTIBYTE=;export MULTIBYTE; \
/bin/sh ./regress.sh mips-sgi-irix6.5 2>&1 | tee regress.out
=============== Notes... =================
postmaster must already be running for the regression tests to succeed.
The time zone is set to PST8PDT for these tests by the client frontend.
Please report any apparent problems to ports(at)postgresql(dot)org
See regress/README for more information.

=============== dropping old regression database... =================
DROP DATABASE
=============== creating new regression database... =================
CREATE DATABASE
=============== installing languages... =================
installing PL/pgSQL .. ok
=============== running regression queries... =================
boolean .. ok
char .. ok
name .. ok
varchar .. ok
text .. ok
int2 .. failed
int4 .. failed
int8 .. failed
oid .. ok
float4 .. ok
float8 .. ok
numeric .. ok
strings .. failed
numerology .. failed
point .. ok
lseg .. ok
box .. ok
path .. ok
polygon .. ok
circle .. ok
interval .. ok
timestamp .. ok
reltime .. ok
tinterval .. failed
inet .. ok
comments .. ok
oidjoins .. failed
type_sanity .. failed
opr_sanity .. failed
abstime .. failed
geometry .. failed
horology .. failed
create_function_1 .. ./regress.sh[116]: sql/create_function_1.sql:
cannot open: No such file or directory
diff: expected/create_function_1.out: No such file or directory
diff: results/create_function_1.out: No such file or directory
ok
create_type .. failed
create_table .. ok
create_function_2 .. ./regress.sh[116]: sql/create_function_2.sql:
cannot open: No such file or directory
diff: expected/create_function_2.out: No such file or directory
diff: results/create_function_2.out: No such file or directory
ok
copy .. ./regress.sh[116]: sql/copy.sql: cannot open: No such file or
directory
diff: expected/copy.out: No such file or directory
diff: results/copy.out: No such file or directory
ok
constraints .. ./regress.sh[116]: sql/constraints.sql: cannot open: No
such file or directory
diff: expected/constraints.out: No such file or directory
diff: results/constraints.out: No such file or directory
ok
triggers .. failed
create_misc .. ok
create_aggregate .. ok
create_operator .. failed
create_index .. failed
create_view .. failed
sanity_check .. ok
errors .. ok
select .. failed
select_into .. ok
select_distinct .. failed
select_distinct_on .. failed
select_implicit .. ok
select_having .. ok
subselect .. ok
union .. ok
case .. ok
join .. ok
aggregates .. failed
transactions .. failed
random .. failed
portals .. failed
arrays .. ok
btree_index .. failed
hash_index .. failed
misc .. ./regress.sh[116]: sql/misc.sql: cannot open: No such file or
directory
diff: expected/misc.out: No such file or directory
diff: results/misc.out: No such file or directory
ok
select_views .. failed
alter_table .. failed
portals_p2 .. failed
rules .. failed
foreign_key .. ok
limit .. failed
plpgsql .. ok
temp .. ok
ACTUAL RESULTS OF REGRESSION TEST ARE NOW IN FILE regress.out

To run the optional big test(s) too, type 'make bigtest'
These big tests can take over an hour to complete
These actually are: numeric_big
rm regress.o

--
Murad Nayal M.D. Ph.D.
Department of Biochemistry and Molecular Biophysics
College of Physicians and Surgeons of Columbia University
630 West 168th Street. New York, NY 10032
Tel: 212-305-6884 Fax: 212-305-6926

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Murad Nayal 2000-05-22 20:53:07 Re: [BUGS] port v7.0 to SGI-IRIX-6.5.7/64
Previous Message Loïc TREGOUËT 2000-05-22 13:22:28 inet type , select distinct troubles

Browse pgsql-bugs by date

  From Date Subject
Next Message Murad Nayal 2000-05-22 20:53:07 Re: [BUGS] port v7.0 to SGI-IRIX-6.5.7/64
Previous Message Tom Lane 2000-05-21 17:12:34 Re: Foreign keys breaks tables permissions

Browse pgsql-hackers by date

  From Date Subject
Next Message Marten Feldtmann 2000-05-22 16:56:02 Re: Thus spoke SQL3 (on OO)
Previous Message Tom Lane 2000-05-22 16:19:06 Re: libpq++ tracing considered harmfu[Fwd: libpq++ tracing considered harmful (was Re: libpq++ memory problems)]

Browse pgsql-ports by date

  From Date Subject
Next Message Murad Nayal 2000-05-22 20:53:07 Re: [BUGS] port v7.0 to SGI-IRIX-6.5.7/64
Previous Message Palle Girgensohn 2000-05-22 15:02:37 Re: [PORTS] Logging (was Re: PostgreSQL 7.0-2 RPMset released.)