Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!howland.erols.net!netnews.com!newshub2.rdc1.sfba.home.com!news.home.com!enews.sgi.com!news.tamu.edu!sgi-faq
From: [email protected] (The SGI FAQ group)
Newsgroups: comp.sys.sgi.misc,comp.answers,news.answers
Subject: SGI apps Frequently Asked Questions (FAQ)
Supersedes: <[email protected]>
Followup-To: comp.sys.sgi.misc
Date: 6 Jul 2001 05:59:42 GMT
Organization: Visualization Lab, Texas A&M University
Lines: 1491
Approved: [email protected]
Expires: 3 Aug 2001 06:00:15 GMT
Message-ID: <[email protected]>
Reply-To: [email protected] (The SGI FAQ group)
NNTP-Posting-Host: viz.tamu.edu
NNTP-Posting-Date: 6 Jul 2001 05:59:42 GMT
Originator: [email protected]
Xref: senator-bedfellow.mit.edu comp.sys.sgi.misc:57358 comp.answers:46103 news.answers:210655

Archive-name: sgi/faq/apps
Last-modified: Tue Jun 20  1:00:03 CDT 2000
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 [email protected] 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
[email protected].

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- What is a good serial communications application?
 -13- How can I convert ASCII to PostScript?
 -14- How can I preview PostScript?
 -15- How can I edit PostScript files?
 -16- How can I deal with PDF (Portable Document Format) files?
 -17- How can I format unformatted manpages?
 -18- IRIX' version of top(1) doesn't let me renice or kill processes
      interactively. What to do?
 -19- What is the IRIX equivalent of 'trace'/'truss'?
 -20- What is the IRIX equivalent of 'etherfind'?
 -21- How can I capture a single frame from my IndyCam on the command
      line?
 -22- BUGS AND PROBLEMS
 -23- Why isn't Iris Insight working properly?
 -24- Why don't the arrow keys work in vi?
 -25- How can I tell application X about my screen size?
 -26- Why does ksh lock up if one's home directory is NFS-mounted?
 -27- Why can't I 'talk' to Suns?
 -28- How can I change what the keys on my keyboard do?
 -29- Why is 'jot' so slow on a remote display in IRIX 5.2?
 -30- Why does 'man -k' repeat itself in IRIX 5.2?
 -31- Netscape 1.1S (the custom SGI version) says it can't find
      'soundplayer'. What should I do?
 -32- Netscape emits "X Error"s. What should I do?
 -33- Netscape complains about a conflicting 'Netscape' file. What
      should I do?
 -34- Why do unwanted programs (e.g. Netscape) start themselves every
      time I log in?
 -35- COMPILERS AND PROGRAMMING
 -36- What are the correct versions of the Irix Development Option
      (IDO) and Fortran for current versions of IRIX?
 -37- Why can't I compile my non-ANSI C program?
 -38- Why doesn't application X understand NIS (Yellow Pages)?
 -39- Where's 'edge' in IRIX 5.x? What can I use instead?
 -40- How can I generate IRIX 4.0.x-compatible executables under IRIX
      5.x?
 -41- How can I convert IRIX 4.0.x executables to IRIX 5.x?
 -42- Why are some non-shared libraries missing in IRIX 5.x?
 -43- Where are the audio, CD and DAT libraries in IRIX 5.2?
 -44- Why can't my networking application resolve hostnames in IRIX
      5.x?
 -45- Can I use dynamic shared objects in IRIX?
 -46- How can I tell which shared objects my executable uses?
 -47- Why does malloc() never return NULL?
 -48- What is the difference between libc's malloc() and libmalloc's
      malloc()?
 -49- What prototypes are missing in IRIX 4.0.x and 5.x?
 -50- Where are the regcmp and regex functions?
 -51- Why does make(1) complain about syntax errors that I can't find?
 -52- What's wrong with strip(1)?
 -53- 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 ?
 -54- Why don't IRIX 5.3 executables run on IRIX 6.0.1?
 -55- Why don't COFF executables run on IRIX 6.1 or 6.2?
 -56- What object file formats does IRIX 6.2 support?
 -57- What are GP-relative and GOT overflows, and how can I fix them?
 -58- Why can't Perl open a socket on my SGI?
 -59- PORTING
 -60- How can I make the 'install' program work like BSD 'install'?
 -61- Where's 'ranlib'?
 -62- What do I need to do to build gcc/g++?
 -63- Is there an SGI-compatible version of XView?
 -64- How can I get db-1.85 to work on IRIX 5.x?

----------------------------------------------------------------------

Subject:    -1- Where can I find software for SGIs?
Date: 4 Nov 1998 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
 <[email protected]> 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 its most recent
 versions are available on the web at http://freeware.sgi.com/ which
 is updated frequently.

 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: Wed Sep 22 14:11:20 CDT 1999

 ftp://cb-iris.stanford.edu/pub/ *
 ftp://detritus.phys.wesleyan.edu/pub/
 ftp://ftp.uni-stuttgart.de/sw/
 ftp://mat075402.student.utwente.nl/pub/SGI/ *
 http://mat075402.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: Mon May 22 11:49:44 CDT 2000

 For IRIX 5.3, IDO is now available on the web free. See
 http://www.sgi.com/developers/devtools/apis/ido.html
 Complete with C compiler, headers, libraries, and tools.

 For IRIX 6.2-6.4, one needs IDF/IDL plus a compiler.  Purchase a
 C compiler from SGI (IDF/IDL come with the compiler) or download
 IDF/IDL (and gcc) for free.  IDF/IDL images for 6.2, 6.3, 6.4 are
 at http://www.sgi.com/developers/devtools/apis/idf_idl.html
 Get gcc from http://freeware.sgi.com/ to have a free C compiler.

 For IRIX 6.5, one needs IDF/IDL plus a compiler.  IDF and IDL are
 shipped with IRIX6.5.  Purchase a C compiler from SGI and/or get
 gcc for free from http://freeware.sgi.com/.

------------------------------

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 <[email protected]> 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: Tue Dec  7 10:04:06 CST 1999

 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' first 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 years ago. The IndyZoneII version of xdiff is
 now part of IRIX. A newer version of 'xdiff', capable of more
 than two files, is available from http://reality.sgi.com/rudy/xdiff.

 'mgdiff' is a gdiff lookalike based on X11 and Motif, written by Dan
 Williams <[email protected]>. It is in the X11R6 contrib stuff, at
 ftp://ftp.x.org/contrib/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- What is a good serial communications application?
Date: Mon May 22 15:59:47 CDT 2000

 C-Kermit is a combined serial and network communication software
 package providing online sessions, file transfer, international
 character-set translation, numeric and alpha paging, full scripting
 of communications tasks.  As of the time of writing, the current
 version is 7.0 and is available precompiled for IRIX releases from
 5.3 to 6.5.  Previous versions are avaiable for earlier IRIX releases.

 http://www.columbia.edu/kermit/ckermit.html.

------------------------------

Subject:   -13- 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:   -14- 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
 <[email protected]> has put a compiled, 'inst'-installable
 package at ftp://ftp.sgi.com/sgi/ghost/.

 Dale Atems <[email protected]> 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:   -15- How can I edit PostScript files?
Date: 16 Sep 1995 00:00:01 EST

 Ivan Bach <[email protected]> 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 <[email protected]> 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:   -16- 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
 <[email protected]> has a modified version of Ghostscript
 3.33/Ghostview which can read PDF files in
 ftp://siggraph.org/utilities/unix/ghost/.

------------------------------

Subject:   -17- 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
 <[email protected]> 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
 <[email protected]>, 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 <[email protected]> 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:   -18- 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 <[email protected]> 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:   -19- 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:   -20- 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:   -21- 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:   -22- BUGS AND PROBLEMS
Date: 10 Dec 1993 00:00:01 EST

 This section discusses bugs and problems with various applications.

------------------------------

Subject:   -23- 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 <[email protected]> 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:   -24- 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:   -25- 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:   -26- 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:   -27- 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:   -28- 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:   -29- 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:   -30- 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:   -31- 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 <[email protected]> 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:   -32- 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:   -33- 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:   -34- 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:   -35- 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:   -36- What are the correct versions of the Irix Development
               Option (IDO) and Fortran for current versions of IRIX?
Date: 06 Feb 1997 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', although
 this information can be obtained via 'odump -V'.

 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.

 Ping Huang <[email protected]> adds:

 IRIX 5.3 needs IDO 5.3, IRIX 6.0 needs IDO 6.0, and IRIX 6.1 needs
 IDO 6.1; that's pretty easy.

 After that, IDO version numbers are no longer tightly coupled to the
 IRIX version number.  The first IDO for IRIX 6.2 was IDO 6.2, but
 then IDO 7.0 and IDO 7.0.1 came out for IRIX 6.2 as well.  And IDO
 7.1 comes in three different flavors: IDO 7.1 for IRIX 6.2, IDO 7.1
 for IRIX 6.3, and IDO 6.1 for IRIX 6.4.

 If you use IRIX 6.2, use IDO 7.1 for IRIX 6.2.  If you use IRIX 6.3
 or 6.4, the appropriate flavor of IDO 7.1 is your only choice (for now).

------------------------------

Subject:   -37- 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:   -38- 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:   -39- 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:   -40- 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:   -41- How can I convert IRIX 4.0.x executables to IRIX 5.x?
Date: 04 Nov 1994 00:00:01 EST

 Sez Jay McCauley <[email protected]>:  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:   -42- 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:   -43- 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:   -44- 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:   -45- 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 <[email protected]> has written a package to do it
 anyway. Get ftp://ftp.cwi.nl/pub/dl-1.3.tar.Z.

------------------------------

Subject:   -46- 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:   -47- 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:   -48- 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:   -49- What prototypes are missing in IRIX 4.0.x and 5.x?
Date: 03 Sep 1995 00:00:01 EST

 Kevin Russo <[email protected]> has compiled lists, which you
 can FTP from
 ftp://viz.tamu.edu/pub/sgi/software/programming/missing-protos.shar.

------------------------------

Subject:   -50- 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:   -51- 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:   -52- 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:   -53- 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
 <[email protected]> is at
 ftp://viz.tamu.edu/pub/sgi/software/programming/fp-underflow.

------------------------------

Subject:   -54- 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:   -55- 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:   -56- What object file formats does IRIX 6.2 support?
Date: 20 Dec 1996 00:00:01 EST

 Bruce Karsh <[email protected]> and Ping Huang <[email protected]>
 write: IRIX 6.2 supports

   6 processors:       R4000, R4400, R4600, R5000, R8000, R10000
   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 6 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 6 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 6 processors.

   mips4:  Adds some supercomputing-style instructions.
           Available on the R5000, R8000, and R10000.

   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 6 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 6 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, R10000, 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  R5/8/10000
   -64  -mips3  64 bit regs, 64 bit pointers           IP19 R4400 &
                                                       R8/10000
   -64  -mips4  above plus supercomputer instructions  R8/10000

 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:   -57- 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:   -58- 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:   -59- 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:   -60- 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 <[email protected]> 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:   -61- 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:   -62- What do I need to do to build gcc/g++?
Date: 4 Nov 1998 00:00:01 EST

 Presuming you have the IDO (Iris Development Option) installed,
 recent versions of gcc build reliably on IRIX 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.

 - Don't forget to install the dev.cmplrs_hdr.internal (IRIX 4.0.x),
   dev.hdr.lib (IRIX 5.x, 6.0.x, 6.1), or eoe.hdr.lib (IRIX 6.2+)
   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.

 The following advice applies if you do not have the IDO installed:

 If you're running any release of IRIX previous to 6.2, you will be
 unable to build or use gcc, since you will be missing critical
 header files and runtime libraries.  Of course if you buy IDO you'll
 get SGI's compiler anyway; this is comp.sys.sgi.*'s most popular
 Catch-22.

 IRIX 6.2 (or later) comes with a full set of headers. Before anything
 else - make sure you have all the SGI headers. They are not installed
 by default, but are on the 6.2 CD in the subsystem eoe.hdr.lib.

 As of IRIX 6.5, support for gcc is much improved and includes the new
 ABIs (n32, 64). The SGI backend (including an assembler and linker
 supporting the n32 and 64 ABIs) plus all the bits and pieces needed
 for gcc (headers, libraries, runtime startup files, etc.) are included
 free with any IRIX 6.5 distribution on the 2 CDs titled "Development
 Foundation" and "Development Libraries" (in other words you don't need
 to have the SGI Developer's Option in order to use gcc.)
 In recent SGI releases, the SGI assembler and linker are in the
 subsystem compiler_dev.sw.base.

 Precompiled versions of gcc and g++ that were well-tested on 6.5
 and are known to work on IRIX 6.2 and up can be found in
 <http://reality.sgi.com/ariel/freeware> and will be available shortly
 on the SGI freeware site <http://freeware.sgi.com/>.


------------------------------

Subject:   -63- Is there an SGI-compatible version of XView?
Date: 04 Jun 1997 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 version that reportedly builds cleanly on IRIX is available from
 <ftp://ftp.sdsc.edu/pub/ccms/xview>.

------------------------------

Subject:   -64- 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 <[email protected]>   http://www-viz.tamu.edu/~sgi-faq/
Finger us for info on the SGI FAQs, or look in ftp://viz.tamu.edu/pub/sgi/.