eriks@ns.yorku.ca (Eriks Rugelis) (03/27/91)
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
solomon@CS.WISC.EDU (Marvin Solomon) (03/28/91)
> > 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
VALDIS@VTVM1.CC.VT.EDU (Valdis Kletnieks) (04/01/91)
t oronto.edu!torsqnt!lethe!yunexus!nexus!eriks@ucbvax.Berkeley.EDU>, isode@nic.ddn.mil, isode-relay@nic.ddn.mil Message-Id: <910331.204511.EST.VALDIS@vtvm1.cc.vt.edu> In-Reply-To: <ERIKS.91Mar27084338@ns.yorku.ca> On 27 Mar 91 13:43:38 GMT you said: >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? Eriks: Your UUCP-format address was over 2 lines long by the time it arrived, I hope you're on the list.. We're running ISODE 6.8 on a 5810 Ultrix 4.1, using the supplied 'ultrix.*' config files. No problems we've noticed. Valdis Kletnieks Computer Systems Engineer Virginia Polytechnic Institute