I've been able to get today's snapshot of PostgreSQL 6.5 beta to run
on an SGI running Irix 6.4. The following steps must be taken.
1.Add the following block to src/Makefile.shlib
ifeq ($(PORTNAME), irix5) install-shlib-dep := install-shlib shlib :=
lib$(NAME)$(DLSUFFIX).$(SO_MAJOR_VERSION).$(SO_MINOR_VERSION)LDFLAGS_SL := -shared CFLAGS
+=$(CFLAGS_SL)
endif
2. Make src/Makefile.custome with
CUSTOM_CC = cc -32
LD += -32
MK_NO_LORDER = 1
3. Modify the install script to always copy, never move. The following install will work:
#!/bin/ksh
# Stripping is ignored in this version of install.
cmd=/bin/cp
strip=""
chmod="/bin/chmod 755"
user=`/usr/bin/whoami`
if [ $user = "root" ]
then chown="/bin/chown bin" chgrp="/bin/chgrp bin"
else chown="/bin/chown $user" set -A groups `/usr/bin/groups` chgrp="/bin/chgrp ${groups[0]}"
fi
while :
do case $1 in -s ) strip="" ;; -c ) cmd="/bin/cp" ;; -m )
chmod="/bin/chmod$2" shift ;; -o ) chown="/bin/chown $2" shift
;; -g ) chgrp="/bin/chgrp $2" shift ;; * ) break ;;
esac shift
done
case "$2" in
"") echo "install: no destination specified" exit 1 ;;
.|"$1") echo "install: can't move $1 onto itself" exit 1 ;;
esac
case "$3" in
"") ;;
*) echo "install: too many files specified -> $*" exit 1 ;;
esac
if [ -d $2 ]
then file=$2/$1
else file=$2
fi
/bin/rm -f $file
$cmd $1 $file
[ $strip ] && $strip $file
$chown $file
$chgrp $file
$chmod $file
4. Configure nsl off and make sure the correct install program is
used. The following shell statements will do this.
cd src
rm config.cache
cat >config.cache <<EOF
ac_cv_lib_nsl_main=${ac_cv_lib_nsl_main='no'}
EOF
gmake clean
INSTALL="your install program as above" ./configure --prefix=/pg/pgsql --without-CXX ...
========================================================================
I haven't yet gotten libpq++ to build correctly and one regression test,
misc.out, fails due to a segmentation error in the copying of binary
data. The traceback is
dbx ../../../bin/postgres (wd: /pg/pgsql/data/base/regression)
use /pg/pgsql/src/backend/commands
(dbx) where
> 0 CopyFrom(0x10147450, 0x1, 0x0, 0xfb4d6f4) ["copy.c":809, 0x48e1f0] 1 DoCopy(0x1013a5d0, 0x1, 0x0, 0x1)
["copy.c":304,0x48c760] 2 ProcessUtility(0x1013a630, 0x3, 0x0, 0x1013ab78) ["utility.c":227, 0x5598f8] 3
pg_exec_query_dest(0x7ffee364,0x3, 0x0, 0x1013ab78) ["postgres.c":718, 0x556eb8] 4 pg_exec_query(0x7ffee364,
0x1014e1d0,0x0, 0x1013ab78) ["postgres.c":654, 0x556d34] 5 PostgresMain(0x8, 0x7fff28f0, 0x7, 0x7fff2e84)
["postgres.c":1649,0x5586f4] 6 DoBackend(0x100e2b10, 0x1014e1d0, 0x0, 0x1013ab78) ["postmaster.c":1611, 0x525a6c] 7
BackendStartup(0x100e2b10,0x1014e1d0, 0x0, 0x1013ab78) ["postmaster.c":1356, 0x525260] 8 ServerLoop(0x1013ab88,
0x1014e1d0,0x0, 0x1013ab78) ["postmaster.c":806, 0x524060] 9 PostmasterMain(0x7, 0x7fff2e84, 0x0, 0x1013ab78)
["postmaster.c":599,0x5237cc] 10 main(0x7, 0x7fff2e84, 0x0, 0x1013ab78) ["main.c":93, 0x4cc92c] 11 __istart()
["crt1tinit.s":13,0x42a490]
(dbx) l
>* 809 ptr = att_addlength(ptr, attr[i]->attlen, ptr); 810
} 811 } 812 } 813
} 814 if (done) 815 continue; 816 817 /* 818
* Does it have any sence ? - vadim 12/14/96
Sincerely,
Bob
+----------------------------------+------------------------------------+
| Robert E. Bruccoleri, Ph.D. | Phone: 609 737 6383 |
| President, Congenomics, Inc. | Fax: 609 737 7528 |
| 114 W. Franklin Ave, Suite K1,10 | email: bruc@acm.org |
| P.O. Box 314 | URL: http://www.congen.com/~bruc |
| Pennington, NJ 08534 | |
+----------------------------------+------------------------------------+