Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info.

SGI Apps Frequently Asked Questions

From Higher Intellect Vintage Wiki
From: [email protected] (The SGI FAQ group)
Subject: SGI apps Frequently Asked Questions (FAQ)
Newsgroups: comp.sys.sgi.misc,comp.answers,news.answers
Followup-To: comp.sys.sgi.misc
Reply-To: [email protected] (The SGI FAQ group)
Approved: [email protected]
Organization: Visualization Lab, Texas A&M University

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
******************************