Path: news1.ucsd.edu!ihnp4.ucsd.edu!swrinde!nntp.primenet.com!news.sgi.com!news.tamu.edu!sgi-faq From: sgi-faq@viz.tamu.edu (The SGI FAQ group) Newsgroups: comp.sys.sgi.misc,comp.answers,news.answers Subject: SGI apps Frequently Asked Questions (FAQ) Supersedes: <apps_841989804@viz.tamu.edu> Followup-To: comp.sys.sgi.misc Date: 20 Sep 1996 06:03:59 GMT Organization: Visualization Lab, Texas A&M University Lines: 1429 Approved: news-answers-request@mit.edu Expires: 18 Oct 1996 06:02:59 GMT Message-ID: <apps_843199379@viz.tamu.edu> Reply-To: sgi-faq@viz.tamu.edu (The SGI FAQ group) NNTP-Posting-Host: viz.tamu.edu Originator: sgi-faq@viz.tamu.edu Xref: news1.ucsd.edu comp.sys.sgi.misc:24416 comp.answers:16342 news.answers:65418 Archive-name: sgi/faq/apps Last-modified: Fri Sep 20 1:00:12 CDT 1996 Posting-Frequency: Twice monthly URL: http://www-viz.tamu.edu/~sgi-faq/ SGI apps Frequently Asked Questions (FAQ) This is one of the Silicon Graphics FAQ series, which consists of: SGI admin FAQ - IRIX system administration SGI apps FAQ - Applications and miscellaneous programming SGI audio FAQ - Audio applications and programming SGI diffs FAQ - Changes to the other FAQs since the last posting SGI graphics FAQ - Graphics and user environment customization SGI hardware FAQ - Hardware SGI impressario FAQ - IRIS Impressario SGI inventor FAQ - IRIS Inventor SGI misc FAQ - Introduction & miscellaneous information SGI movie FAQ - Movies SGI performer FAQ - IRIS Performer SGI pointer FAQ - Pointer to the other FAQs SGI security FAQ - IRIX security Read the misc FAQ for information about the FAQs themselves. Each FAQ is posted to comp.sys.sgi.misc and to the news.answers and comp.answers newsgroups (whose purpose is to store FAQs) twice per month. If you can't find one of the FAQs with your news program, you can get it from ftp://viz.tamu.edu/pub/sgi/faq/ ftp://rtfm.mit.edu/pub/usenet/news.answers/sgi/faq/ (rtfm.mit.edu is home to many other FAQs and informational documents, and is a good place to look if you can't find an answer here.) The FAQs are on the World Wide Web at http://www-viz.tamu.edu/~sgi-faq/ If you can't use FTP or WWW, send mail to mail-server@rtfm.mit.edu with the word 'help' on a line by itself in the text, and it will send you a document describing how to get files from rtfm.mit.edu by mail. Send the command 'send usenet/news.answers/sgi/faq/misc' to get the SGI misc FAQ, and similarly for the other FAQs. Send the command 'send usenet/news.answers/internet-services/access-via-email' to get the "Accessing the Internet by E-Mail FAQ". You may distribute the SGI FAQs freely and we encourage you to do so. However, you must keep them intact, including headers and this notice, and you must not charge for or profit from them. Contact us for other arrangements. We can't be responsible for copies of the SGI FAQs at sites which we do not control, and copies published on paper or CD-ROM are certain to be out of date. The contents are accurate as far as we know, but the usual disclaimers apply. Send additions and changes to sgi-faq@viz.tamu.edu. Topics covered in this FAQ: --------------------------- -1- Where can I find software for SGIs? -2- Where can I find software already compiled for SGIs? -3- What about Explorer? -4- WHAT TO USE? -5- Where's the C compiler? -6- What's a good graphical text editor for SGIs? -7- What's a good mail program for SGIs? -8- What's a good POP server for SGIs? -9- Can I use MediaMail with a POP server? -10- What's a good graphical 'diff' (side-by-side file comparison) program for SGIs? -11- What's a good calendar/reminder program? -12- How can I convert ASCII to PostScript? -13- How can I preview PostScript? -14- How can I edit PostScript files? -15- How can I deal with PDF (Portable Document Format) files? -16- How can I format unformatted manpages? -17- IRIX' version of top(1) doesn't let me renice or kill processes interactively. What to do? -18- What is the IRIX equivalent of 'trace'/'truss'? -19- What is the IRIX equivalent of 'etherfind'? -20- How can I capture a single frame from my IndyCam on the command line? -21- BUGS AND PROBLEMS -22- Why isn't Iris Insight working properly? -23- Why don't the arrow keys work in vi? -24- How can I tell application X about my screen size? -25- Why does ksh lock up if one's home directory is NFS-mounted? -26- Why can't I 'talk' to Suns? -27- How can I change what the keys on my keyboard do? -28- Why is 'jot' so slow on a remote display in IRIX 5.2? -29- Why does 'man -k' repeat itself in IRIX 5.2? -30- Netscape 1.1S (the custom SGI version) says it can't find 'soundplayer'. What should I do? ! -31- Netscape emits "X Error"s. What should I do? -32- Netscape complains about a conflicting 'Netscape' file. What should I do? + -33- Why do unwanted programs (e.g. Netscape) start themselves every time I log in? -34- COMPILERS AND PROGRAMMING -35- What are the correct versions of the Irix Development Option (IDO) and Fortran for current versions of IRIX? -36- Why can't I compile my non-ANSI C program? -37- Why doesn't application X understand NIS (Yellow Pages)? -38- Where's 'edge' in IRIX 5.x? What can I use instead? -39- How can I generate IRIX 4.0.x-compatible executables under IRIX 5.x? -40- How can I convert IRIX 4.0.x executables to IRIX 5.x? -41- Why are some non-shared libraries missing in IRIX 5.x? -42- Where are the audio, CD and DAT libraries in IRIX 5.2? -43- Why can't my networking application resolve hostnames in IRIX 5.x? -44- Can I use dynamic shared objects in IRIX? -45- How can I tell which shared objects my executable uses? -46- Why does malloc() never return NULL? -47- What is the difference between libc's malloc() and libmalloc's malloc()? -48- What prototypes are missing in IRIX 4.0.x and 5.x? -49- Where are the regcmp and regex functions? -50- Why does make(1) complain about syntax errors that I can't find? -51- What's wrong with strip(1)? -52- Why does my floating point signal processing routine, when given certain inputs, run incredibly slowly and consume all of the CPU in _system_ or _interrupt_ time ? -53- Why don't IRIX 5.3 executables run on IRIX 6.0.1? -54- Why don't COFF executables run on IRIX 6.1 or 6.2? -55- What object file formats will IRIX 6.2 support? -56- What are GP-relative and GOT overflows, and how can I fix them? -57- Why can't Perl open a socket on my SGI? -58- PORTING -59- How can I make the 'install' program work like BSD 'install'? -60- Where's 'ranlib'? -61- What do I need to do to build gcc/g++? -62- Is there an SGI-compatible version of XView? ! -63- How can I get db-1.85 to work on IRIX 5.x? ---------------------------------------------------------------------- Subject: -1- Where can I find software for SGIs? Date: 27 Jan 1996 00:00:01 EST Silicon Graphics can tell you about their own and third-party commercial software. Call SGI Direct for more information (see the misc FAQ for phone numbers) or look around on SGI's WWW server, Silicon Surf (http://www.sgi.com/ or its mirrors; see the misc FAQ), particularly under "Surf Shop" and "Subsidiaries and Partners". The best general reference for finding sources on the Internet is Jonathan Kamens' "Finding Sources" document. It can be FTPed from ftp://rtfm.mit.edu/pub/usenet/news.answers/finding-sources. Read it carefully before you post a question about finding software ... because half of your answers will be "look in Archie" anyway, and "Finding Sources" tells you how to do that. Useful general archive sites include ftp://ftp.x.org/ for X software (particularly in the /contrib and /R5contrib directories) and X itself (in /pub), ftp://prep.ai.mit.edu/pub/gnu/ for GNU software, and ftp://ftp.uu.net/ and ftp://wuarchive.wustl.edu/ for nearly anything, including archives of many Usenet sources newsgroups and mirrors of the aforementioned GNU and X archives. The best SGI-specific reference is Bill Henderson's <billh@hampton.sgi.com> SGI anonymous FTP list. (Look in the misc FAQ under "WWW pages" and "network-accessible documents".) Good places to look, if you just feel like looking, are ftp://ftp.sgi.com/ and ftp://sgigate.sgi.com/, where are kept any number of freebies from the folks at SGI, http://www.sgi.com/Fun/free/, a collection of freeware from SGI and elsewhere, and ftp://swedishchef.lerc.nasa.gov/, a site particularly well-stocked with SGI-related materials. SGI publishes a freeware CD-ROM with sources and binaries for popular free software; it is included with new systems and is expected to be available on the Internet in the near future. Finally, see the next question for places to find precompiled software and questions (in this and the other SGI FAQs) which discuss particular packages for pointers to those packages. ------------------------------ Subject: -2- Where can I find software already compiled for SGIs? Date: 02 Mar 1996 00:00:01 EST ftp://cb-iris.stanford.edu/pub/ * ftp://detritus.phys.wesleyan.edu/pub/ ftp://ftp.uni-stuttgart.de/sw/ ftp://mat075207.student.utwente.nl/pub/SGI/ * http://mat075207.student.utwente.nl/pub/SGI/index.html * http://www.ibd.nrc.ca/~sgi/ http://www.madness.net/sgi.html http://www.pk.edu.pl/pub/sgi/ * http://www.sgi.com/Fun/free/ * are good places to try. (At least some of the software at the sites marked with `*' is not only precompiled but packaged so that you can install it with 'inst' and/or 'swmgr'.) If all else fails, check Bill Henderson's list (see the misc FAQ). Keep in mind that many of these binaries won't be the latest version, and it's worth checking the latest version to see if IRIX support has improved. SGI's presence is continuously increasing and the trend is definitely toward better IRIX support. ------------------------------ Subject: -3- What about Explorer? Date: 04 Aug 1995 00:00:01 EST The IRIS Explorer data visualization system has its own newsgroup, comp.graphics.apps.iris-explorer. There is an FTP site at ftp://ftp.epcc.ac.uk/pub/explorer/ (with a North American mirror at ftp://swedishchef.lerc.nasa.gov/explorer/), a WWW page at http://www.nag.co.uk:70/1h/Welcome_IEC and an FAQ which you can find at any of those sites. ------------------------------ Subject: -4- WHAT TO USE? Date: 10 Dec 1993 00:00:01 EST The next few questions discuss software for various applications. ------------------------------ Subject: -5- Where's the C compiler? Date: 04 May 1996 00:00:01 EST IRIX does not include a C compiler. Buy the Iris Developer's Option, which includes SGI's C compiler. Yes, it is expensive. You can't buy it used unless you buy the machine for which it was licensed. Ignore the compiler_eoe subsystem; it is only support for running executables compiled by others (e.g. SGI). Ignore /usr/cpu/sysgen/root/usr/bin/cc; it's only for rebuilding the kernel. Don't bother with gcc; it is completely useless without the libraries and header files in the IDO. When we say useless, we mean useless for anything whatsoever, not just useless for complicated things like OpenGL. Should you have IDO and still think you need gcc, see the hints under PORTING below. ------------------------------ Subject: -6- What's a good graphical text editor for SGIs? Date: 24 Aug 1996 00:00:01 EST The most popular graphic text editors on SGIs include: IRIX 5.x includes jot, which is very nice. It requires GL, i.e. no X-terminals, text terminals or non-SGI machines. See below for a bug and workaround. zip is the IRIX 4.x incarnation of jot (the jot which comes with IRIX 4.x is something else entirely); FTP it from ftp://ftp.sgi.com/graphics/zip/. nedit is a straightforward graphical editor with programmers' features. It needs X-windows but not GL. Get it from ftp://ftp.fnal.gov/pub/nedit/, and see also http://www-pat.fnal.gov/nirvana/nedit.html. GNU Emacs, a perennial favorite, isn't just an editor; it's a way of life. It has a X-windows mode and works on X-windows terminals as well as SGI consoles and text terminals. Its X-windows support, once rather lackluster, has improved in the recently released version 19. It may be FTPed from any GNU archive, e.g. ftp://prep.ai.mit.edu/pub/gnu/. XEmacs (formerly Lucid Emacs) is a derivative of GNU Emacs 19. It has subsumed Epoch, another derivative of GNU Emacs. It may be found in ftp://cs.uiuc.edu/pub/xemacs/, and it has a WWW page at http://xemacs.cs.uiuc.edu/. It works on both text and graphics terminals. Finally, the comp.windows.x FAQ (at ftp://rtfm.mit.edu/pub/usenet/comp.windows.x/) lists many more editors which run under X-windows, both free and commercial. ------------------------------ Subject: -7- What's a good mail program for SGIs? Date: 18 Jun 1995 00:00:01 EST Z-Mail is a commercial product written by Z-Code and redistributed by SGI. IRIX 5.x includes MediaMail, a subset of Z-Mail. Both are graphical, MIME-compatible (MIME, described in RFC1521, is a standard for enclosing multimedia material in your mail) and have a text-only mode. ftp://viz.tamu.edu/pub/sgi/software/mail/zmail-vs-mediamail.ps.gz describes the differences between Z-Mail and MediaMail. Z-Mail has its own WWW site (http://www.ncd.com/Z-Code/zcode.html) and newsgroup (comp.mail.zmail). The free programs Elm and Pine use text-based menus. They are easy to use, powerful and can easily be run in a separate window. They can be configured to use 'metamail' for MIME support. Elm can be FTPed from ftp://dsinc.dsi.com/elm/, Pine from ftp.cac.washington.edu:/pine/ and 'metamail' from ftp://thumper.bellcore.com/pub/nsb/. Z-Mail/MediaMail includes 'metamail', so if you use both Z-Mail/MediaMail and Elm or Pine or another free mail program, you can save yourself some trouble by configuring the latter to use the former's 'metamail'. Elm has an FAQ in ftp://rtfm.mit.edu/pub/usenet/comp.mail.elm/. Packages which make Elm work nicely with IRIX 4.0.x's WorkSpace and IRIX 5.2's Indigo Magic are at ftp://proton.chem.yale.edu/pub/elm-ws-support.shar and ftp://proton.chem.yale.edu/pub/elm-im-support.shar. Elm's autoreply/ arepdaemon subsystem has a bad security hole, so don't install those binaries. (They have been removed from v. 2.4.24 and later.) The rest of Elm is fine. Both programs have newsgroups, comp.mail.elm and comp.mail.pine. 'mh' is a free, command-line oriented Mail Handling system. FTP the source code from ftp://ftp.ics.uci.edu/pub/mh/ and patches for IRIX from ftp://viz.tamu.edu/pub/sgi/software/mail/. If you build 'mh' you can use 'xmh', a graphical mailer, which is part of Xwindows and thus comes with IRIX. 'mh' has a newsgroup, comp.mail.mh. Finally, Chris Lewis' "Unix Email Software - a Survey" lists many more mail programs. FTP it from ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/setup/unix/. ------------------------------ Subject: -8- What's a good POP server for SGIs? Date: 17 Feb 1996 00:00:01 EST Try the Berkeley popper, under http://www.ibd.nrc.ca/~sgi/, the Qualcomm popper, in ftp://ftp.qualcomm.com/quest/unix/servers/popper/, the Z-Code popper, in ftp://ftp.ncd.com/pub/z-code/supported/z-pop/, or imapd (which supports pop2 and pop3) in ftp://ftp.cac.washington.edu/mail/. Some info is at http://www.sgi.com/Technology/Connectivity/pop.html. On a related note, some ports of poppassd (a POP password changing daemon) to IRIX 5.3 are in ftp://viz.tamu.edu/pub/sgi/software/mail/. ------------------------------ Subject: -9- Can I use MediaMail with a POP server? Date: 09 Dec 1995 00:00:01 EST Walter Roberson <roberson@hamer.ibd.nrc.ca> writes: Under IRIX 5.2, set the environment variable MAILHOST to the name of the mail server, and set the zmail variable 'use_pop'. You may also wish to set the zmail variable 'pop_options' to have mail retained on the server. Your userids on the machine with MediaMail and on the POP server must be the same. Under IRIX 5.3 all of the above still applies as well as the following: You can set the zmail variable 'mailhost' instead of the environment variable MAILHOST. You can set the zmail variable 'pop_user' to your userid on the POP server if it is different from your local userid. Note that MediaMail, like any POP client, cannot send mail to the POP server, only retrieve mail which has been sent to the server. That's just fine; doing the above doesn't prevent MediaMail from delivering mail normally. "Digital Media Execution Environment and Tools 5.5", at http://www.sgi.com/Products/Evaluation/dmedia/dmedia.html, includes an updated version of MediaMail for IRIX 5.3. ------------------------------ Subject: -10- What's a good graphical 'diff' (side-by-side file comparison) program for SGIs? Date: 13 Jul 1996 00:00:01 EST gdiff(1) has been a part of IRIX for many years. It requires GL. It is SGI-proprietary and was written using a now-obsolete UI toolkit, so its source isn't available and you wouldn't want it anyway. 'xdiff' recently appeared on the second IndiZone CD. It is not to be confused with the much less useful program of the same name posted to comp.sources.x some time ago. IRIX 5.3 includes 'xdiff', but not its manpage. For those without an IndiZone 2 CD, the manpage is in ftp://viz.tamu.edu/pub/sgi/software/xdiff/. 'xdiff' didn't come with source, but you could ask the author; his email address is in the manpage. 'mgdiff' is a gdiff lookalike based on X11 and Motif, written by Dan Williams <dan@sass.com>. It is in the X11R6 contrib stuff, at ftp://ftp.x.org/pub/applications/mgdiff.tar.gz among other places. ------------------------------ Subject: -11- What's a good calendar/reminder program? Date: 06 May 1995 00:00:01 EST SGI doesn't provide one. There are several free graphical calendars acal On the second IndiZone CD (IndiZone info is at http://www.sgi.com/Products/Indy/IndiZone/) lowcal ftp://ftp.netcom.com/pub/benoist/sgi/ plan ftp://ftp.fu-berlin.de/pub/unix/graphics/plan/ vcal ftp://ftp.sgi.com/sgi/vcal/ and a text-only reminder program remind ftp://ftp.doe.carleton.ca/pub/remind-3.0/ which work on SGIs. They're all good; try them out and see which you like best. ------------------------------ Subject: -12- How can I convert ASCII to PostScript? Date: 19 Jun 1994 00:00:01 EST - IRIX comes with 'lptops', which, because it's called indirectly from 'lp', isn't as well known as it ought to be. Read the lptops(1) and gpsinterface(1) manpages. - Adobe Transcript, which includes 'enscript' (something like 'lptops') and 'psroff' (nroff/troff-to-PostScript) is available at extra cost from SGI. Most people manage without it. - SGI's own Impressario does PostScript and a lot of other things. It too costs extra, but is better liked than Transcript. See the impressario FAQ. - Popular free converters include 'a2ps' (at ftp://imag.fr/archive/postscript/), 'lwf' (in volume 15 of comp.sources.unix, e.g. ftp://ftp.uu.net/usenet/comp.sources.unix/volume15/lwf/) and 'psf' (in volume 35 of comp.sources.misc, e.g. ftp://ftp.uu.net/usenet/comp.sources.misc/volume35/psf3/). The comp.lang.postscript FAQ (at ftp://rtfm.mit.edu/pub/usenet/comp.lang.postscript/) has a much longer list of such programs, unfortunately no longer including reviews or FTP sites. - One good way to print manpages is with the '-m' option to 'a2ps'. ------------------------------ Subject: -13- How can I preview PostScript? Date: 11 Feb 1995 00:00:01 EST In one of two ways: Display Postscript (DPS) comes with IRIX 5.x. (Machines which came with IRIX 4.0.1-4.0.4 didn't get DPS in later versions of IRIX 4.x, but it is standard in 5.x.) It includes the 'xpsview' viewer. The DPS developer's option, which you need to write or build programs which exploit DPS, costs extra. Ghostscript is free from Aladdin Software and the Free Software Foundation; ghostview (a viewer which uses ghostscript) is likewise free from the FSF. Original sources are in ftp://ftp.cs.wisc.edu/pub/ghost/, and Robert Keller of SGI <rck@fangio.asd.sgi.com> has put a compiled, 'inst'-installable package at ftp://ftp.sgi.com/sgi/ghost/. Dale Atems <atems@physics.wayne.edu> points out: Many people try ghostscript and give it up because of the fonts. There is something about ghostscript that's not as widely known as it should be and deserves emphasis: if you have SGI's Display Postscript, you can forget about most of the ugly bitmap fonts that come with ghostscript. Edit your Fontmap file to point ghostscript to the DPS outline fonts (in /usr/lib/DPS/outline/base) and it will use them instead. This will improve both screen display and, if you're not using a Postscript printer with those fonts already built in, printing quality. [Editor's note: This seems to cause problems with some files under IRIX 5.x. Any details?] ------------------------------ Subject: -14- How can I edit PostScript files? Date: 16 Sep 1995 00:00:01 EST Ivan Bach <ib@sgi.com> collected some testimonials from a number of SGIers: - Adobe Illustrator and Corel Draw can edit PS files of type AI (a simplified version of PS that facilitates editing). - Transverter (from TechPool, 212-291-1922) can convert some general PostScript files to AI PostScript. It also does other conversions, e.g. to TIFF. - If you have DPS and the DPS developer's kit you can do this quite well with xfig. Check out the version in ftp://ftp.x.org/contrib/R5contrib-fixes/xfig-patches/. - The InterViews tool `idraw' allows manipulation of EPS (Encapsulated PostScript) files, and has a `mac-type' interface. - Island Draw 3.0 has an option to import Postscript, and it seems to accept arbitrary Postscript. I have fed it single page Postcript files from Illustrator, Corel, Ventura, Designer, Eroff, and hand-coded files, and it made Island Draw objects out of them. The file initially opens as one grouped object, but if you ungroup, you get editable objects. I was quite impressed. I don't doubt there are ways to fool the interpreter, but it works for output from drawing and publishing packages, which is what I need it for. - Jack Howarth <howarth@nitro.med.uth.tmc.edu> adds: ps2ai.ps converts Postscript to AI Postscript. It requires ghostscript (see above). aimaker is a front end to ps2ai.ps. Both programs can be found in ftp://toby.princeton.edu/pub/olszewsk/. ------------------------------ Subject: -15- How can I deal with PDF (Portable Document Format) files? Date: 23 Sep 1995 00:00:01 EST Adobe Acrobat is at (naturally enough) ftp://ftp.adobe.com/pub/adobe/Applications/Acrobat/SGI/ and also http://www.sgi.com/Products/software/Acrobat.html. John C. Hart <hart@ginzoo.eecs.wsu.edu> has a modified version of Ghostscript 3.33/Ghostview which can read PDF files in ftp://siggraph.org/utilities/unix/ghost/. ------------------------------ Subject: -16- How can I format unformatted manpages? Date: 20 Jul 1996 00:00:01 EST SGI provides manpages in formatted form, and does not therefore provide us all with the formatting software. Most FTPable manpages, however, come in nroff ("unformatted") form. To install an unformatted manpage, one needs to format it (more on this in a moment), pack it with pack(1) and put it in the appropriate place under one of the 'catman' directories (see man(1)). Alternatively, one might simply put the unformatted manpage under one of the 'man' directories (again, see man(1)) and let IRIX run the formatting software on it as needed. Which method one uses is a matter of taste. In any case, one needs formatting software, and that is what the rest of this entry is about. Manpages are most often formatted with 'nroff', which is a part of Documenter's Workbench (DWB), which SGI has had to license separately from USL and we have to buy separately from SGI. SGI's DWB is based on version 2.1; the current version from USL is 3.3. You might be able to format manpages on a non-SGI machine which does have DWB/nroff. You might need to specify the generic printer macros with '-Tlp', e.g. 'nroff -man -Tlp foo.1 > foo'. Public domain alternatives to DWB include 'awf' and 'groff': Henry Spencer's awf ("Amazingly Workable Formatter") is written in 'awk', which we all have, and does a pretty good job, considering. It can be FTPed from ftp://ftp.sgi.com/sgi/IRIX5.0/man/, along with a version of 'man' which looks for awf if nroff isn't available. It will come with releases of IRIX after 5.3. Dan Stromberg <strombrg@hydra.acs.uci.edu> notes that there is a C version of 'awf' called 'cawf' which may be preferable; we don't know if it runs on IRIX. 'groff' is by the Free Software Foundation and can be had from any GNU archive (e.g. ftp://prep.ai.mit.edu/pub/gnu/). Compilers beware: it must be compiled with g++ or SGI's C++. However, there are compiled binaries in ftp://cb-iris.stanford.edu/pub/gnu/. David Hinds <dhinds@allegro.stanford.edu>, the man who put them there, gives this advice for installing groff so that it can format manpages on the fly in IRIX 4.0.x: Create a script called 'eqn': > #!/bin/sh > if [ ${1:-""} = /usr/pub/eqnchar ] ; then shift ; fi > geqn $* and a script called 'neqn': > #!/bin/sh > if [ ${1:-""} = /usr/pub/eqnchar ] ; then shift ; fi > geqn -Tascii $* and do: > ln -s gnroff nroff and edit the end of the gnroff script to be: > rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'` > exec groff -Wall -mtty-char $T $opts $rest To get PostScript output from 'man -t', you also need to create a 'psroff' script similar to 'nroff'. Here are the context diffs: *** /usr/local/bin/nroff Sat Feb 13 15:51:09 1993 --- /usr/local/bin/psroff Sat Feb 13 17:45:46 1993 *************** *** 1,8 **** #!/bin/sh ! # Emulate nroff with groff. prog="$0" ! T=-Tascii opts= for i --- 1,8 ---- #!/bin/sh ! # Emulate psroff with groff. prog="$0" ! T=-Tps opts= for i *************** *** 25,30 **** --- 25,33 ---- -Tascii|-Tlatin1) T=$1 ;; + -t) + # ignore -- default is send to stdout + ;; -T*) # ignore other devices ;; *************** *** 49,53 **** rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'` # This shell script is intended for use with man, so warnings are # probably not wanted. Also load nroff-style character definitions. ! exec groff -Wall -mtty-char $T $opts $rest --- 52,56 ---- rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'` # This shell script is intended for use with man, so warnings are ! # probably not wanted. ! exec groff -Wall $T $opts $rest The binaries on cb-iris.stanford.edu have these changes already made. Paul Walmsley <ccshag@cclabs.missouri.edu> offers the following advice for IRIX 5.x, which assumes that you have already followed David Hinds' instructions for IRIX 4.0.x: 1. Remove the link from tbl to gtbl. 2. Rename gtroff to gtroff-exe or some other suitable name. Note that if you name it something other than gtroff-exe, you must change the gtroff script below. 3. Install the gtroff and tbl scripts included below in place of the above two programs, and chmod them appropriately. --- cut here for tbl --- #!/bin/sh # Shoehorn gtbl into IRIX 5.2 - Shag # Removes the -TX from gtbl's command line - yes, I know this is a kludge rest=`echo ${1+"$@"} | sed -e 's+-TX++'` exec gtbl $rest --- cut here for gtroff -- #!/bin/sh # Shoehorn gtroff into working with IRIX 5.2 - Shag # Translates all references for /usr/lib/tmac to /usr/local/lib/groff/tmac, # and disables warnings - from David Hinds' code rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'` exec gtroff-exe -Wall -mtty-char $rest --- you can stop cutting now --- It is also possible to avoid the need for these scripts by setting some environment variables, which are only documented in the man(1) manpage (q.v.) in IRIX 5.2 and later. Finally, under IRIX 5.3, you need to edit the 'eqn' and 'neqn' scripts (above) a bit more. Add the following line if [ ${1:-""} = - ] ; then shift ; fi just before the last "geqn" line. ------------------------------ Subject: -17- IRIX' version of top(1) doesn't let me renice or kill processes interactively. What to do? Date: 21 Oct 1995 00:00:01 EST Try William LeFebvre's <phil@eecs.nwu.edu> version, which has these capabilities. FTP it from ftp://eecs.nwu.edu/pub/top/. Ports to IRIX are at ftp://ftp.cs.ruu.nl/pub/SGI/top-3.1.tar.gz, ftp://ftp.cmpharm.ucsf.edu/pub/top/top-3.3beta3.irix.tar.Z, and ftp://honey.bernstein.com/pub/entropy/top-3.3-irix-5.2-BETA.tar.gz. ------------------------------ Subject: -18- What is the IRIX equivalent of 'trace'/'truss'? Date: 15 Jun 1996 00:00:01 EST par(1). It's part of the eoe2.sw.perf subsystem in IRIX 5.x. There is no equivalent in IRIX 4.0.x, but there are 'trace' ports and workalikes at (among others) ftp://ftp.cwi.nl/pub/, ftp.eit.com:/pub/dist/, ftp://viz.tamu.edu/pub/sgi/software/debug/trace.tar.gz and ftp://ftp.std.com/pub/jrs/strace-3.1.tar.gz. ------------------------------ Subject: -19- What is the IRIX equivalent of 'etherfind'? Date: 03 Dec 1995 00:00:01 EST 'netsnoop', part of SGI's extra-cost NetVizualyzer package. Free alternatives include 'etherman', part of 'netman', at ftp://ftp.cs.curtin.edu.au/pub/netman/, 'etherview', at ftp://ftp.funet.fi/pub/unix/sgi/bin/, and 'tcpdump', at ftp://ftp.ee.lbl.gov/. ------------------------------ Subject: -20- How can I capture a single frame from my IndyCam on the command line? Date: 23 Sep 1995 00:00:01 EST Use vidtomem(1). ------------------------------ Subject: -21- BUGS AND PROBLEMS Date: 10 Dec 1993 00:00:01 EST This section discusses bugs and problems with various applications. ------------------------------ Subject: -22- Why isn't Iris Insight working properly? Date: 23 Mar 1996 00:00:01 EST The format for Insight's ~/.insightrc file changed in Insight 2.0. An ~/.insightrc left over from an older version might cause Insight to emit error messages or not work in various ways. Just delete the old ~/.insightrc and restart Insight. Insight generates PostScript which says "language level" where it should say "languagelevel", and thus may not print on your printer. Pipe the PostScript to a file, change every "language level" in the file to "languagelevel" and print that. Insight doesn't understand the lpr printing system. To allow Insight to print to an lpr printer, you must provide an lp interface to it. See "How can I use lpr instead of or as well as lp?" in the admin FAQ. Insight, as well as other ViewKit applications, uses the Xpm library (/usr/lib/libXpm.so). If you install another version of that library where Insight can find it, Insight may coredump. Remove or hide the new version of the library. Greg Ferguson's <gferg@hoop.timonium.sgi.com> list of other problems with Insight is at ftp://viz.tamu.edu/pub/sgi/software/insight-problems. Most or all have probably been fixed in subsequent versions of Insight and IRIX. ------------------------------ Subject: -23- Why don't the arrow keys work in vi? Date: 04 May 1994 00:00:01 EST Arrow keys send more than one character, and vi can misinterpret them as multiple single-character commands on slow connections. Increase vi's patience by putting the command 'set timeout=400' (or a larger or smaller number to your taste) in the file ~/.exrc or the EXINIT environment variable. See also the ex(1) and vi(1) manpages. Or use h, j, k and l. Or jot or Emacs. Incidentally, an article in the March/April 1994 Pipeline discusses a variety of 'vi' tips and tricks. ------------------------------ Subject: -24- How can I tell application X about my screen size? Date: 30 Mar 1996 00:00:01 EST IRIX does not have 'stty rows n' or 'stty columns n' yet; it will in 6.2. Until then, use 'setenv LINES n' and 'setenv COLUMNS n'. ------------------------------ Subject: -25- Why does ksh lock up if one's home directory is NFS- mounted? Date: 15 Oct 1995 00:00:01 EST ksh(1) uses a single ~/.sh_history file for all of a given user's ksh processes, so must be able to lock that file. Locking is robust for local files but not over NFS. Install patch 547 (or its successor) to fix some known NFS bugs and be sure lockd is 'chkconfig'ed on and rpc.lockd and rpc.statd are actually running. If all else fails, set the HISTFILE environment variable to a file on a local disk. ------------------------------ Subject: -26- Why can't I 'talk' to Suns? Date: 16 Mar 1994 00:00:01 EST SGI, and most Unix vendors, use the 4.3BSD talk protocol, while Sun still uses the 4.2BSD talk protocol. The fault is Sun's, not SGI's. Look in ftp://thor.ece.uc.edu/pub/sun-faq/ for Sun-compatible versions of 'new talk' (ntalk.tar.Z) and 'ytalk', which speaks both old and new 'talk' (ytalk-3.0.1.tar.gz). You could also run 'ytalk' on your SGI. Get it from ftp://ftp.uu.net/usenet/comp.sources.unix/volume27/ytalk-3.0/. ------------------------------ Subject: -27- How can I change what the keys on my keyboard do? Date: 04 May 1994 00:00:01 EST Use xmodmap(1). The manpage describes how to swap control and caps- lock, which is the most common use. xwsh(1G) and tcsh(1) also have key-binding facilities, described in their manpages; consider these if you want to change key meanings only in 'xwsh' windows or only in 'tcsh'. ------------------------------ Subject: -28- Why is 'jot' so slow on a remote display in IRIX 5.2? Date: 03 Jun 1995 00:00:01 EST It's a bug. A fixed version is in ftp://ftp.sgi.com/graphics/jot/. The bug is fixed in IRIX 5.3. ------------------------------ Subject: -29- Why does 'man -k' repeat itself in IRIX 5.2? Date: 03 Jun 1995 00:00:01 EST 'man -k' looks for two whatis databases, the default (/usr/share/catman/whatis) and one in a directory specified by the environment variable LANG. If LANG is set but empty, the paths come out the same and you see the same database twice. Fix the problem by doing 'unsetenv LANG' or 'setenv'ing it to something sensible. This is not an issue in IRIX 5.3. This can also happen if the old Irix 4.0.x database is left behind after upgrading to Irix 5.2. Fix the problem by removing /usr/catman/whatis. ------------------------------ Subject: -30- Netscape 1.1S (the custom SGI version) says it can't find 'soundplayer'. What should I do? Date: 23 Sep 1995 00:00:01 EST 'soundplayer' is a new tool which has not yet become part of IRIX proper. Bryan James <bryanj@spiff.esd.sgi.com> describes several ways to deal with its absence: - Get Webforce (an extra-cost product) or Digital Media Tools 5.5 (free from http://www.sgi.com/Products/Evaluation/dmedia/dmedia.html), both of which include soundplayer. Both require IRIX 5.3. - 'sfplay' is part of standard IRIX and handles almost all of the same audio formats as does 'sfplay'. Edit the file /usr/local/lib/netscape/mailcap and replace every instance of the word "soundplayer" with "sfplay". 'sfplay' does NOT handle mpeg audio bitstreams (.mp2) like those from the Internet Underground Music Archive site. Get 'maplay', an MPEG audio file player, from ftp://ftp.cs.tu-berlin.de/incoming/maplay1_2/; you can get the C++ source code (maplay1_2.tar.Z) and compile it yourself or just get the IRIX binary (maplay_indigo.Z). (See also Doug Cook's audio apps list, referenced in the misc FAQ.) After you've set up 'maplay', edit /usr/local/lib/netscape/mailcap, find the line beginning with "audio/x-mpeg" and replace the word "soundplayer" with "maplay" on that line only. ------------------------------ Subject: ! -31- Netscape emits "X Error"s. What should I do? Date: 07 Sep 1996 00:00:01 EST ! It's a bug, fixed by patch 1095. You may also be able to work around the problem by removing conflicting X resource files or setting the resource "Netscape*useEnhancedFSB: False". ------------------------------ Subject: -32- Netscape complains about a conflicting 'Netscape' file. What should I do? Date: 09 Dec 1995 00:00:01 EST The file in question, probably /usr/lib/X11/app-defaults/Netscape, is the X resources (app-defaults) file from another version of Netscape. No version of Netscape actually needs that file, so remove it and all your versions of Netscape can coexist. If you can't, or if you want a customized app-defaults file for each version of Netscape, use a script like this: #!/bin/sh # Set NS to the directory containing the Netscape distribution NS=/usr/local/lib/netscape-2.0b3 XUSERFILESEARCHPATH=$NS/%N.ad:$XUSERFILESEARCHPATH export XUSERFILESEARCHPATH exec $NS/netscape $* ------------------------------ Subject: + -33- Why do unwanted programs (e.g. Netscape) start themselves every time I log in? Date: 07 Sep 1996 00:00:01 EST + It's a feature of the desktop startup script + (/var/X11/xdm/Xsession.dt) in IRIX 6.2. To stop it, do 'chkconfig + firsttimeprograms off'. ------------------------------ Subject: -34- COMPILERS AND PROGRAMMING Date: 10 Dec 1993 00:00:01 EST This section discusses general compilers and programming issues. See the audio, graphics and movie FAQs for audio, graphics and movie programming issues, and the impressario, inventor and performer FAQs for discussions of those packages. ------------------------------ Subject: -35- What are the correct versions of the Irix Development Option (IDO) and Fortran for current versions of IRIX? Date: 12 Jun 1994 00:00:01 EST If you're using IRIX 4.0.x, you should be using IDO 4.1.1. It includes C 3.10.1 and the 3.12 back-end (the part of the compiler which actually produces the executable; 3.12 is the number you see when you use the 'file' command on an executable). The previous version was badly buggy; upgrade ASAP. IRIX 5.2 needs IDO 5.2, which includes C 3.18. Executables produced by the IRIX 5.x back-end don't show a version number with 'file'. Each version of IDO has a corresponding version of Fortran, and they MUST be used together. IDO 4.1.1 needs Fortran 3.5.1 and IDO 5.2 needs Fortran 4.0.1. This is true for other languages as well, but only Fortran has confused enough people to have its version numbers here. ------------------------------ Subject: -36- Why can't I compile my non-ANSI C program? Date: 11 Jun 1995 00:00:01 EST SGI's C compiler is ANSI C by default in IRIX 4 and later. Use the '-cckr' option to compile K&R (traditional) C. You can do this most easily by setting the environment variable SGI_CC to "-cckr" or by editing the application's Makefile, often by adding "-cckr" to the CFLAGS variable. A related problem is that Makefiles generated by 'imake' most often use 'cc -cckr -prototypes'; missing or incorrect prototypes usually just generate pages of warnings but may cause an unrecoverable error. You can often work around this by removing "-prototypes" from the line where it appears in the Makefile (not the Imakefile). ------------------------------ Subject: -37- Why doesn't application X understand NIS (Yellow Pages)? Date: 11 Feb 1996 00:00:01 EST Under IRIX 4.0.x, programs which access files served by NIS must be linked with -lsun. The functions in libc.a which deal with these files are not NIS-aware; the NIS versions are in libsun.a. Using libsun.a usually means adding '-lsun' to the variable LIBS or LDFLAGS in one's Makefile. If '-lc' or '-lc_s' (libc_s.a is the shared version of libc.a) is given explicitly, '-lsun' must precede it. Under IRIX 5.x, libc.so is NIS-aware and -lsun is unnecessary. However, linking with -lnsl and/or -lsocket will confuse libc.so and NIS access won't work. Either remove -lnsl and/or -lsocket or put an explicit -lc *before* them in the link line. ------------------------------ Subject: -38- Where's 'edge' in IRIX 5.x? What can I use instead? Date: 03 Sep 1995 00:00:01 EST SGI does not include edge with IRIX 5.x. When asked for substitutes, SGI will direct you to their CASEVision debugger, which costs extra. An oft-mentioned free graphical debugger is 'xdbx'; you can find the original source in ftp://ftp.x.org/R5contrib/, a patch to make it work on IRIX 4.0.x in ftp://viz.tamu.edu/pub/sgi/software/debug/xdbx.sgi.patch and patched versions for IRIX 4.0.x and 5.x in ftp://swedishchef.lerc.nasa.gov/programs/X/. An 'inst'-installable binary for IRIX 5.x only is in ftp://ftp.sgi.com/sgi/xdbx/. If you have 'gdb', you can try 'tgdb' and 'tgdb_wish', which may be FTPed from ftp://sunsite.unc.edu/pub/Linux/devel/debuggers/ and ftp://ftp.aud.alcatel.com/tcl/code/ respectively. ------------------------------ Subject: -39- How can I generate IRIX 4.0.x-compatible executables under IRIX 5.x? Date: 06 Apr 1996 00:00:01 EST Strictly speaking, you can't. Many things changed in IRIX 5.x. You can, however generate executables in COFF (IRIX 4.0.x) format instead of ELF (IRIX 5.x) format, and these will often work on IRIX 4.0.x if they don't use complex things like multiprocessing. The manual and release notes describe how, and here's a summary: 1) Make sure you've installed all of the appropriate irix4 compatibility subsystems. These include irix4_eoe, irix4_dev, irix4_c and others for Motif, Inventor, etc. 2) setenv SGI_IRIX4 1 3) If your source uses explicit paths to headers, libraries, etc., change them to point to the irix4 versions. 4) Use cc or make or whatever as you normally would. You can't do this in IRIX 6.2., which doesn't support COFF at all. ------------------------------ Subject: -40- How can I convert IRIX 4.0.x executables to IRIX 5.x? Date: 04 Nov 1994 00:00:01 EST Sez Jay McCauley <mccauley@sgi.com>: IRIX does not and cannot have a coff2elf (actually, it's 'cof2elf') converter. The COFF (actually, ECOFF) to ELF transition was also the transition to the use of Expanded Fundamental Types (EFT), an SVR4-ism. EFT enlarges a number of basic data types, finally casting off the last vestiges of the PDP-11. So, structures built in an EFT world would have their members at different offsets than they would in a pre-EFT (e.g. IRIX 4.x) world. The operating system uses the fact that an executable is in ELF to trigger the use of EFT-based strucures for input and output. So, even if you had a program like coff2elf, the resulting transformed executable would not operate correctly for almost any interesting case. Trivial programs that don't have any system calls which pass in structures or get structures back from the OS could theoretically work, but these fall into the "uninteresting" class. Note that the cof2elf(1) program referred to by the elf(1) manpage in IRIX 5.2 does not exist. The elf(1) manpage is wrong. ------------------------------ Subject: -41- Why are some non-shared libraries missing in IRIX 5.x? Date: 02 Jan 1995 00:00:01 EST - Some of the non-shared libraries which do come with IRIX 5.x are installed by default and some are not. The shared library you want may be in one of the "speclibs" subsystems, e.g. dev.sw.irix_speclibs, which contains /usr/lib/nonshared/crt1.o, a very popular item among those compiling nonshared. - IRIX 5.x does not have non-shared versions of some libraries, notably libX11.a. Nonshared libraries are provided if 1) they are required by the MIPS ABI (Application Binary Interface), a binary-compatibility standard, 2) they are needed to compile benchmarks (these are the libraries in the "speclibs" subsystems) or 3) SGI hasn't gotten around to providing a shared library. So, why do you want that nonshared library? - If you just want to compile something whose link statement explicitly specifies a particular nonshared library, substitute the shared version (e.g. libX11.so.1 instead of libX11.a). - If you really need a nonshared application, and you can't find all the nonshared libraries you need, you're out of luck. ------------------------------ Subject: -42- Where are the audio, CD and DAT libraries in IRIX 5.2? Date: 18 Mar 1995 00:00:01 EST In IRIX 5.2, they (and the associated headers, sample code, etc.) moved to the extra-cost Digital Media Development option. In IRIX 5.3, they moved back to IDO. ------------------------------ Subject: -43- Why can't my networking application resolve hostnames in IRIX 5.x? Date: 14 May 1994 00:00:01 EST The resolv.conf file, which tells IRIX how to resolve hostnames, is in /usr/etc in IRIX 4.0.x but /etc in IRIX 5.x. Applications compiled under IRIX 4.0.x and moved to a 5.x system will not be able to find it. The easiest fix is to do 'ln -s /etc/resolv.conf /usr/etc', and the best fix is to recompile. See 'man 4 resolv.conf'. ------------------------------ Subject: -44- Can I use dynamic shared objects in IRIX? Date: 07 May 1993 00:00:01 EST IRIX 5.x supports SVR4-style dynamic shared objects. IRIX 4.0.x does not, but Jack Jansen <jack@cwi.nl> has written a package to do it anyway. Get ftp://ftp.cwi.nl/pub/dl-1.3.tar.Z. ------------------------------ Subject: -45- How can I tell which shared objects my executable uses? Date: 05 Nov 1995 00:00:01 EST To see static dependencies (the names of libraries specified at compile time), use 'odump -Lv' for COFF format executables (under IRIX 4.0.x, or 5.x using the irix4 compatibility stuff) and 'odump -Dl' or 'elfdump -Dl' for ELF format executables (IRIX 5.x only). (Both are in the dev.cmplrs_sw.util subsystem.) To see dynamic dependencies (the full paths to libraries determined at runtime, after environment variables are taken into account, which is what SunOS' 'ldd' tells you), use rld.debug and turn on rld tracing with _RLD_ARGS. See the rld(1) manpage. ------------------------------ Subject: -46- Why does malloc() never return NULL? Date: 05 Jul 1994 00:00:01 EST Virtual memory is effectively infinitely large in IRIX 4.0.x, and it can be configured to be so in IRIX 5.x. malloc() never returns NULL because requests are always granted. The admin FAQ gives further background, and tells how to configure your system to limit virtual memory to physical memory and physical swap space. ------------------------------ Subject: -47- What is the difference between libc's malloc() and libmalloc's malloc()? Date: 22 Oct 1995 00:00:01 EST Under versions of IRIX prior to 5.x, malloc(3X) -- the malloc in libmalloc -- was preferable to the libc malloc, or malloc(3C). However, in IRIX 5.x and above, the libc malloc is faster and is probably preferable. ------------------------------ Subject: -48- What prototypes are missing in IRIX 4.0.x and 5.x? Date: 03 Sep 1995 00:00:01 EST Kevin Russo <russo@rudedog.nrl.navy.mil> has compiled lists, which you can FTP from ftp://viz.tamu.edu/pub/sgi/software/programming/missing-protos.shar. ------------------------------ Subject: -49- Where are the regcmp and regex functions? Date: 13 Nov 1994 00:00:01 EST In the libPW.a (IRIX 4.0.x) or libgen.a (IRIX 5.x) library. Add '-lPW' or '-lgen' to your linking command. ------------------------------ Subject: -50- Why does make(1) complain about syntax errors that I can't find? Date: 26 May 1994 00:00:01 EST Two possibilities: - SGI's make sends shell commands to your shell (specified in the SHELL environment variable), while every other make in the world uses /bin/sh by default. Put the line "SHELL=/bin/sh" at the top of a Makefile to tell SGI's make to use /bin/sh. - Dependency lines in your Makefile may begin with spaces. Some 'make's accept spaces; SGI's requires tabs. ------------------------------ Subject: -51- What's wrong with strip(1)? Date: 06 Apr 1996 00:00:01 EST In IRIX 5.2 and 5.3, strip(1) fails to remove all of the debugging information that it could. This isn't a big problem; it just wastes a bit of disk space. Patches 247 and 248 fix that bug. Patch 410 to IRIX 5.3 includes a new loader (ld32), the output of which strip mangles horribly. Patch 1068 and IRIX 6.2 include a strip which can strip ld32 binaries, but which does not follow symlinks. In IRIX 6.0 and 6.0.1, 'strip *' strips the first executable correctly and corrupts the rest. Work around the bug by stripping only one file at a time. ------------------------------ Subject: -52- Why does my floating point signal processing routine, when given certain inputs, run incredibly slowly and consume all of the CPU in _system_ or _interrupt_ time ? Date: 03 Sep 1995 22:28:13 PDT You may be experiencing an undesirable "floating point underflow" behavior of the floating point unit on R3k's and beyond. You'll need to add a workaround to your code and, on some machines, install a patch as well. A thorough writeup by Chris Pirazzi of SGI <cpirazzi@cp.esd.sgi.com> is at ftp://viz.tamu.edu/pub/sgi/software/programming/fp-underflow. ------------------------------ Subject: -53- Why don't IRIX 5.3 executables run on IRIX 6.0.1? Date: 04 Aug 1995 00:00:01 EST IRIX 6.0.1 was based on IRIX 5.2. IRIX 6.1 is based on IRIX 5.3 and runs IRIX 5.3 binaries accordingly. ------------------------------ Subject: -54- Why don't COFF executables run on IRIX 6.1 or 6.2? Date: 15 Jun 1996 00:00:01 EST IRIX 6.1 has kernel support for COFF executables, but does not have at least some of the shared libraries. If you copy the needed shared libraries from an IRIX 6.0.1 (or perhaps 5.3) system to your IRIX 6.1 system your COFF executable should work. IRIX 6.2 does not have kernel support for COFF, so you will have to recompile your COFF binaries. The IRIX 6.2 installation procedure will warn you about COFF binaries, although only on local disks; be sure to check machines yourself which provide binaries to IRIX 6.2 machines via NFS. You can find COFF binaries yourself with something like 'find / -print | xargs file | grep COFF', or use the script ftp://ftp.sgi.com/support/Pipeline/coffcheck.tar.Z. See also "The End of COFF Support" in the Jan/Feb 1996 Pipeline. ------------------------------ Subject: -55- What object file formats will IRIX 6.2 support? Date: 23 Mar 1996 00:00:01 EST Bruce Karsh <karsh@audio.esd.sgi.com> writes: IRIX 6.2 will support 4 processors: R4000, R4400, R4600, R8000 3 ABIs: -32, -n32, -64 4 instruction sets: mips1, mips2, mips3, mips4 Irix 6.2 will not support R3000 (or earlier) processors. Instruction sets: mips1: The old 32 bit R3000 instruction set. It's mostly for compatibility. New code probably should not use it. Available on all 4 processors. mips2: Adds more floating point registers Adds some improvements to the floating point instructions. mips2 code may be a bit smaller than mips3 code. Available on all 4 processors. mips3: General purpose registers are 64 bits wide. Some new instructions are added to load, store, and manipulate 64 bit wide quantities. Available on all 4 processors. mips4: Adds some supercomputing-style instructions. Available on the R8000 only, due to hardware restrictions. The mips1 and mips2 instruction sets both are available only on the -32 ABI. The mips3 and mips4 instruction sets both are available on either the -n32 or -64 ABI, but not on the -32 ABI. You may mix -mips1 and -mips2 objects together to make a -mips2 executable. You may mix -mips3 and -mips4 objects together to make a -mips4 executable. No other mixing of instruction sets is allowed. ABIs: -32: Supports the 32 bit instruction sets. This is just what we are all used to from 5.3. Available on all 4 processors. -n32: Supports the 64 bit instruction sets, but not pointers and longs all remain 32 bits long. (long longs are 64 bits wide). The -n32 ABI is source code compatible with -32. Available on all 4 processors. -64 Supports 64 bit instruction sets and 64 bit pointers. longs and pointers are all 64 bits wide. Great for apps which need a LARGE address space. The -64 ABI is not source code compatible with -n32 and -32 since in -64 longs and pointers are now 64 bit quantities. This means that casts of ints to/from pointers will not work in most cases and the layout of structs will be different. Available on the R8000 and the IP19 (R4400) processors only, due to OS restrictions. ( -64 requires a large kernel). Summary: Format Function Processors ------ -------- ---------- -32 -mips1 old, 32 bit, mostly for compatibility ALL -32 -mips2 above plus more fp regs, faster fp ALL -n32 -mips3 64 bit regs, 32 bit pointers ALL -n32 -mips4 above plus supercomputer instructions R8000 -64 -mips3 64 bit regs, 64 bit pointers R8000 & IP19 R4400 -64 -mips4 above plus supercomputer instructions R8000 The compiler can produce executables in all supported formats on all supported processors, although not all formats will *execute* on all processors. The old 4.x object file format, COFF, will no longer be supported. Only the newer format, ELF, will be supported. ftp://viz.tamu.edu/pub/sgi/software/programming/sgi_opt_level.c determines programmatically the highest optimization level that can be performed on the current CPU. ------------------------------ Subject: -56- What are GP-relative and GOT overflows, and how can I fix them? Date: 21 Nov 1995 00:00:01 EST Read the dso(5) and gp_overflow(5) manpages. If you don't have the latter (it exists only in very recent compiler releases), see ftp://viz.tamu.edu/pub/sgi/software/programming/gp-overflow-errors. See also the Nov/Dec 1995 Pipeline. ------------------------------ Subject: -57- Why can't Perl open a socket on my SGI? Date: 21 Dec 1995 00:00:01 EST You're handing socket() the wrong constants (address family or socket type). These used to be standard across almost all Unixes (including IRIX 4.x and earlier), so were often hardcoded in Perl scripts, but changed in System V release 4 Unixes (including IRIX 5.x and later), so the hardcoded values became wrong. At least one routine included with Perl (syslog.pl) makes this error, and does not work on IRIX 5.x. Read /usr/include/sys/socket.h to see what the values are on your system. To get them into your Perl program in a nice way, either 'require socket.ph' or (under Perl 5) 'use Socket'. Entry 4.21 of the Perl FAQ (http://www.perl.com/perl/faq/Q4.21.html) will back us up on this. Incidentally, patch 596 fixes (among other things) a separate problem with the socket interface. ------------------------------ Subject: -58- PORTING Date: 10 Dec 1993 00:00:01 EST This section discusses problems with porting software from other systems to SGIs. Be sure to look through the previous section and the programming part of the graphics FAQ too. ------------------------------ Subject: -59- How can I make the 'install' program work like BSD 'install'? Date: 22 Nov 1994 00:00:01 EST The BSD and System V versions of the 'install' command are incompatible; the BSD version is most often used by Makefiles. IRIX provides both the System V version (/etc/install) and the BSD version (/usr/bin/X11/bsdinst.sh in IRIX 4.0.x, and /usr/bin/X11/bsdinst in IRIX 5.x). SGI's 'imake' defines INSTALL as /usr/bin/X11/bsdinst, and the Install* rules use that definition, so Imakefile-generated Makefiles will use the BSD version. Michael Joosten <joost@ori.cadlab.de> points out that you can also use GNU install (available from any GNU archive, e.g. ftp://prep.ai.mit.edu/pub/gnu/), which emulates the BSD version. Unlike /usr/bin/X11/bsdinst, it has a manpage. It also may be better debugged; SGI's version reportedly mishandles '-o' and installs multiple files into a single directory. ------------------------------ Subject: -60- Where's 'ranlib'? Date: 16 Sep 1993 00:00:01 EST IRIX doesn't need it. Read the description of the 's' option in the ar(1) manpage. When the Makefile for a program you're porting wants ranlib, delete the ranlib command, substitute 'true' or put a little shell script in your PATH to fake it. ------------------------------ Subject: -61- What do I need to do to build gcc/g++? Date: 28 Oct 1995 00:00:01 EST Recent versions of gcc build reliably on IRIX 4.0.x and 5.x without much difficulty. Just read the INSTALL document and follow the directions. A few hints: - Don't. Several people have already, and they'll let you have a copy. Even if you must do it yourself, you can bootstrap from someone else's binary. Furthermore, their distribution may include notes on how they did it, if they didn't think it was obvious. See "Where can I get software already compiled for SGIs?" above. - You need the headers and runtime libraries from SGI's extra-cost development option (IDO) to compile *or use* gcc. Of course if you buy IDO you'll get SGI's compiler anyway; this is comp.sys.sgi.*'s most popular Catch-22. - Don't forget to install the dev.cmplrs_hdr.internal subsystem, which contains needed headers and is not installed by default. - READ THE RELEASE NOTES! gcc (and gas, etc.) are updated too frequently for this FAQ to document every quirk of every release. The release notes often describe quirks that have not yet been fixed. ------------------------------ Subject: -62- Is there an SGI-compatible version of XView? Date: 03 Sep 1995 00:00:01 EST For IRIX 4.0.x, look in ftp://swedishchef.lerc.nasa.gov/libraries/XView3/. For IRIX 5.x, look in ftp://wuarchive.wustl.edu/graphics/graphics/sgi-stuff/XView/xview3/irix5/. A copy of the patches used to create the IRIX 5.x version is in ftp://viz.tamu.edu/pub/sgi/software/xview-on-irix5. A port of xview 3.2 to IRIX 5.2 is in ftp://claude.ifi.unizh.ch/pub/. ------------------------------ Subject: ! -63- How can I get db-1.85 to work on IRIX 5.x? Date: 07 Sep 1995 00:00:01 EST + See ftp://viz.tamu.edu/pub/software/db-on-irix5.tar.gz. ------------------------------ End of sgi/faq/apps Digest ****************************** -- The SGI FAQ group <sgi-faq@viz.tamu.edu> http://www-viz.tamu.edu/~sgi-faq/ Finger us for info on the SGI FAQs, or look in ftp://viz.tamu.edu/pub/sgi/.