rgb@PHY.DUKE.EDU ("Robert G. Brown") (02/23/90)
I am having a pretty fair degree of difficulty porting jove, ntp, and a few other useful public utilities onto a new SG 220S. Most of the difficulty revolves around Irix not quite knowing if it is V or 4.3 or neither, running down the libraries, running down the include files, etc. In both these cases, however, I have run into a core of objects needed by the source that are just not to be found. 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)? Note that the other machines where this software is installed on our LAN are mostly 4.3BSD (or thereabouts) Suns. Robert Brown
moraes@cs.toronto.edu (Mark Moraes) (02/25/90)
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.