Dear Gerald,
Here's how I've built PostgreSQL on Irix (I avoid using gcc
on Irix because it doesn't work as well as the native compilers):
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
+----------------------------------+------------------------------------+
| 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 | |
+----------------------------------+------------------------------------+