Article View: comp.protocols.iso.dev-environ
Article #551Re: ISODE on Ultrix/RISC 4.1?
From: Marvin Solomon
Date: Thu, 28 Mar 1991 11:20
Date: Thu, 28 Mar 1991 11:20
202 lines
6113 bytes
6113 bytes
>
> I'm about to install ISODE 6.8 on Ultrix/RISC 4.1. The config files
> only mention Ultrix 3.1 so I thought I'd send out a poll to see if anyone
> knows of any gotchas before I proceed.
>
> Well? Are there any? Or do I just './make everything' and live happily
> ever after?
>
> Thanks,
> Eriks
>
I've found that a few changes make life much more pleasant on the
SPIM (MIPS with the bytes backwards :-). On this machine, both ld and ar
are exasperatingly slow, particularly if libraries are NFS mounted.
Also, instead of ranlib, there is an additional flag 's' to ar that
says to rebuild the index when done. (There is a ranlib, but it's essentially
just the one-line shell file 'ar ts $1 >/dev/null'). This leads to the
following changes. By the way, I'm working with Ultrix 4.0 rather than 4.1, but
I don't think that should make too much difference.
Warning: I haven't always been too careful about maintaining compatibility
with other systems, so the following may fix things for Ultrix but
break them for other systems. Caveat lector.
In config/ultrix.make, change
SYSTEM = -bsd42
LDFLAGS = -s
ARFLAGS =
LSOCKET = $(KRBLIB)
LFLAGS = -bhuz $(OPTIONS)
to
SYSTEM = -ultrix
LDFLAGS =
ARFLAGS = -ranlib
LSOCKET = -lresolv -ldbm $(KRBLIB)
LFLAGS = $(OPTIONS)
The addition of -lresolv flag is a local thing here. The nameserver resolver
routines that come with Ultrix 4.0 are (to put it mildly) garbage. Our
-lresolv library is a version of the 4.3 BSD library with patches as
posted on the net. I'm not completely sure, but I think the -ldbm flag
is required by standard Ultrix. The LFLAGS is problematical. -z is not
understood by Ultrix lint and -h has the opposite sense from elsewhere (it
turns off heuristics). I'm not sure about the others, but I haven't had a lot
of success with linting this stuff anyhow. Lint seems to have some
limits wired in that get blown away by ISODE's huge symbol tables.
In config/ultrix.h (which gets copied to h/config.h), change
#define GETDENTS
to
#define NFS
Change h/general.h as follows.
(This is important; nothing will compile unless you fix this.)
===================================================================
RCS file: general.h,v
retrieving revision 1.1
diff -c -r1.1 general.h
*** 1.1 1991/03/11 05:54:33
--- general.h 1991/03/11 12:00:13
***************
*** 140,160 ****
char *index ();
char *mktemp ();
char *rindex ();
- #if defined(BSDSTRS) && !defined(BSD44) && (!defined(BSD43) || defined(SUNOS4) || defined(vax) || defined(RT) || (defined(mips) && defined(ultrix))) && !defined(XOS_2)
char *sprintf ();
- #else
- int sprintf ();
- #endif
char *strcat ();
int strcmp ();
char *strcpy ();
! int strlen ();
char *strncat ();
int strncmp ();
char *strncpy ();
char *getenv ();
! char *calloc (), *malloc (), *realloc ();
#if defined(SYS5) && !defined(AIX) && !defined(XOS) && !defined(XOS_2)
#include <memory.h>
--- 140,156 ----
char *index ();
char *mktemp ();
char *rindex ();
char *sprintf ();
char *strcat ();
int strcmp ();
char *strcpy ();
! size_t strlen ();
char *strncat ();
int strncmp ();
char *strncpy ();
char *getenv ();
! void *calloc (), *malloc (), *realloc ();
#if defined(SYS5) && !defined(AIX) && !defined(XOS) && !defined(XOS_2)
#include <memory.h>
===================================================================
In util, change inst-lint.sh and make-lib.sh as follows.
===================================================================
RCS file: RCS/inst-lint.sh,v
retrieving revision 1.1
diff -c -r1.1 inst-lint.sh
*** 1.1 1991/03/11 06:07:03
--- inst-lint.sh 1991/03/11 12:07:12
***************
*** 30,35 ****
--- 30,41 ----
-ros) M=ROS
;;
+ -ultrix)
+ M=ULTRIX
+ L=/usr/lib/cmplrs/cc
+ T=/var/tmp/hlint.$$
+ ;;
+
-*) O="$O $A"
;;
***************
*** 38,43 ****
--- 44,58 ----
/usr/lib/lint/lint1 -v \> $A.ln
/lib/cpp -C -Dlint $O $A | \
/usr/lib/lint/lint1 -v > $A.ln
+ ;;
+
+ ULTRIX)
+ echo "( cc -E -C -Dlint $O $A | ${L}/lint1 -H$T >$A.ln ) 2>&1"
+ ( cc -E -C -Dlint $O $A | ${L}/lint1 -H$T >$A.ln ) 2>&1
+ echo ${L}/lint2 -H$T
+ ${L}/lint2 -H$T
+ echo rm -f $T
+ rm -f $T
;;
BSD44) echo lint -Clint $O $A
===================================================================
RCS file: RCS/make-lib.sh,v
retrieving revision 1.1
diff -c -r1.1 make-lib.sh
*** 1.1 1991/03/11 06:09:41
--- make-lib.sh 1991/03/12 11:18:16
***************
*** 12,17 ****
--- 12,21 ----
-shared)SHD=T
;;
+ -ultrix)
+ M=ULTRIX
+ ;;
+
-sys5) M=SYS5
;;
***************
*** 34,39 ****
--- 38,49 ----
esac
;;
+ ULTRIX)
+ if [ "x$Q" != xT ]; then
+ S=${S}s
+ fi
+ ;;
+
SYS5|AIX|old)
;;
***************
*** 41,47 ****
exit 1
;;
esac
- exit 0
;;
-quick) Q=T
--- 51,56 ----
***************
*** 99,105 ****
fi
;;
! SYS5) if [ "x$SHD" = xT ]; then
echo "Can't build shared libraries for Sys 5 (yet)" 1>&2
exit 1
fi
--- 108,114 ----
fi
;;
! SYS5|ULTRIX) if [ "x$SHD" = xT ]; then
echo "Can't build shared libraries for Sys 5 (yet)" 1>&2
exit 1
fi
Technical Details
Message-ID:
<9103281220.AA23786@gjetost.cs.wisc.edu>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!caen!uwm.edu!bionet!agate!ucbvax!CS.WISC.EDU!solomonReferences:
<ERIKS.91Mar27084338@ns.yorku.ca>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!caen!uwm.edu!bionet!agate!ucbvax!CS.WISC.EDU!solomon From: solomon@CS.WISC.EDU (Marvin Solomon) Newsgroups: comp.protocols.iso.dev-environ Subject: Re: ISODE on Ultrix/RISC 4.1? Message-ID: <9103281220.AA23786@gjetost.cs.wisc.edu> Date: 28 Mar 91 11:20:34 GMT References: <ERIKS.91Mar27084338@ns.yorku.ca> Sender: daemon@ucbvax.BERKELEY.EDU Distribution: inet Organization: The Internet Lines: 202