moraes@cs.toronto.edu (Mark Moraes) (02/25/90)
Archive-name: jove/25-Feb-90 Original-posting-by: moraes@cs.toronto.edu (Mark Moraes) Original-subject: Re: jove, other makes Archive-site: cs.toronto.edu [128.100.1.65] Archive-directory: pub/moraes Archive-files: jove4.14.1.shar.Z Reposted-by: emv@math.lsa.umich.edu (Edward Vielmetti) rgb@PHY.DUKE.EDU ("Robert G. Brown") writes: >Has anyone ported jove, TeX, and all the useful unix software available >via ftp to the SG's, resolving in makefile/source form all of these >difficulties? Is there a ftp repository of them through which I can >browse? Does anyone out there have any rules of experience to share >concerning ports (such as always using -I/usr/include/bsd as a compile >switch)? Dunno about all the useful unix software, but about jove and TeX, on cs.toronto.edu: pub/moraes/jove4.14.1.shar.Z is a version of Jove that has been made portable enough to compile without change on Irix3.2, SunOS, A/UX and Ultrix. Still some unresolved problems -- eg. interactive processes use pipes, not ptys, because SGI ptys are so different, and because Jove assumes that a machine with ptys automatically has BSD style terminal ioctls. Sigh. pub/TeX is the version of TeX that we use on Irix3.2, SunOS and Ultrix. As for portability rules for C programs, you're right about the pain and grief caused by programs that assume the world to be either SysV or BSD with no shades of gray in between. The main areas of pain are signals (hopefully will be relieved in Irix3.3), termio, ptys. Not to mention the problems of porting shell scripts because of the lack of little things like echo -n, (for which you have to fix sh) the wide difference between the output formats of various commands (fixable by various options -- we have a /local/bin/bsd43 which contains one line scripts like "exec /usr/bin/size -B $@") Some utilities are "enhanced|broken" to the point where we install stuff from 4.3tahoe or GNU src to compensate. (tar, make, diff, ls, ln) It would be nice if SGI would add more BSD compatibility -- perhaps something like the stuff MIPS has done in RISCos4.0 with a separate /bsd43/{bin,usr/{include,lib}} so people who want the BSD world can get it without needing to learn different options for different machines. I've compiled many programs with -DBSD43 (or suchlike) on RISCos4.0 and they work just fine, which is a great help for those of us that have heterogeneous collections of machines. Mark.