SGI apps Frequently Asked Questions (FAQ)
From: sgi-faq@viz.tamu.edu (The SGI FAQ group)
Newsgroups: comp.sys.sgi.misc
Subject: SGI apps Frequently Asked Questions (FAQ)
Date: 6 Jul 2001 05:59:42 GMT
Message-ID: <apps_994399215@viz.tamu.edu>
Reply-To: sgi-faq@viz.tamu.edu (The SGI FAQ group)
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 mail-server@rtfm.mit.edu with
the word 'help' on a line by itself in the text, and it will send you a
document describing how to get files from rtfm.mit.edu by mail. Send the
command 'send usenet/news.answers/sgi/faq/misc' to get the SGI misc FAQ,
and similarly for the other FAQs. Send the command 'send
usenet/news.answers/internet-services/access-via-email' to get the
"Accessing the Internet by E-Mail FAQ".
You may distribute the SGI FAQs freely and we encourage you to do so.
However, you must keep them intact, including headers and this notice,
and you must not charge for or profit from them. Contact us for other
arrangements. We can't be responsible for copies of the SGI FAQs at
sites which we do not control, and copies published on paper or CD-ROM
are certain to be out of date. The contents are accurate as far as we
know, but the usual disclaimers apply. Send additions and changes to
sgi-faq@viz.tamu.edu.
Topics covered in this FAQ:
---------------------------
-1- Where can I find software for SGIs?
-2- Where can I find software already compiled for SGIs?
-3- What about Explorer?
-4- WHAT TO USE?
-5- Where's the C compiler?
-6- What's a good graphical text editor for SGIs?
-7- What's a good mail program for SGIs?
-8- What's a good POP server for SGIs?
-9- Can I use MediaMail with a POP server?
-10- What's a good graphical 'diff' (side-by-side file comparison)
program for SGIs?
-11- What's a good calendar/reminder program?
-12- 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/. Read it
carefully before you post a question about finding software ...
because half of your answers will be "look in Archie" anyway, and
"Finding Sources" tells you how to do that.
Useful general archive sites include ftp://ftp.x.org/ for X software
(particularly in the /contrib and /R5contrib directories) and X itself
(in /pub), ftp://prep.ai.mit.edu/pub/gnu/ for GNU software, and
ftp://ftp.uu.net/ and ftp://wuarchive.wustl.edu/ for nearly anything,
including archives of many Usenet sources newsgroups and mirrors of
the aforementioned GNU and X archives.
The best SGI-specific reference is Bill Henderson's
<billh@hampton.sgi.com> SGI anonymous FTP list. (Look in the misc FAQ
under "WWW pages" and "network-accessible documents".) Good places to
look, if you just feel like looking, are ftp://ftp.sgi.com/ and
ftp://sgigate.sgi.com/, where are kept any number of freebies from the
folks at SGI, http://www.sgi.com/Fun/free/, a collection of freeware
from SGI and elsewhere, and ftp://swedishchef.lerc.nasa.gov/, a site
particularly well-stocked with SGI-related materials.
SGI publishes a freeware CD-ROM with sources and binaries for popular
free software; it is included with new systems and 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/ and
ftp://proton.chem.yale.edu/pub/. Elm's autoreply/
arepdaemon subsystem has a bad security hole, so don't install those
binaries. (They have been removed from v. 2.4.24 and later.) The rest
of Elm is fine. Both programs have newsgroups, comp.mail.elm and
comp.mail.pine.
'mh' is a free, command-line oriented Mail Handling system. FTP the
source code from ftp://ftp.ics.uci.edu/pub/mh/ and patches for IRIX
from ftp://viz.tamu.edu/pub/sgi/software/mail/. If you build 'mh' you
can use 'xmh', a graphical mailer, which is part of Xwindows and thus
comes with IRIX. 'mh' has a newsgroup, comp.mail.mh.
Finally, Chris Lewis' "Unix Email Software - a Survey" lists many
more mail programs. FTP it from
ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/setup/unix/.
Subject: -8- What's a good POP server for SGIs?
Date: 17 Feb 1996 00:00:01 EST
Try the Berkeley popper, under http://www.ibd.nrc.ca/~sgi/, the
Qualcomm popper, in ftp://ftp.qualcomm.com/quest/unix/servers/popper/,
the Z-Code popper, in ftp://ftp.ncd.com/pub/z-code/supported/z-pop/,
or imapd (which supports pop2 and pop3) in
ftp://ftp.cac.washington.edu/mail/. Some info is at
http://www.sgi.com/Technology/Connectivity/pop.html. On a related
note, some ports of poppassd (a POP password changing daemon) to IRIX
5.3 are in ftp://viz.tamu.edu/pub/sgi/software/mail/.
Subject: -9- Can I use MediaMail with a POP server?
Date: 09 Dec 1995 00:00:01 EST
Walter Roberson <roberson@hamer.ibd.nrc.ca> writes:
Under IRIX 5.2, set the environment variable MAILHOST to the name of
the mail server, and set the zmail variable 'use_pop'. You may also
wish to set the zmail variable 'pop_options' to have mail retained on
the server. Your userids on the machine with MediaMail and on the POP
server must be the same.
Under IRIX 5.3 all of the above still applies as well as the
following: You can set the zmail variable 'mailhost' instead of the
environment variable MAILHOST. You can set the zmail variable
'pop_user' to your userid on the POP server if it is different from
your local userid.
Note that MediaMail, like any POP client, cannot send mail to the POP
server, only retrieve mail which has been sent to the server. That's
just fine; doing the above doesn't prevent MediaMail from delivering
mail normally.
"Digital Media Execution Environment and Tools 5.5", at
http://www.sgi.com/Products/Evaluation/dmedia/dmedia.html, includes an
updated version of MediaMail for IRIX 5.3.
Subject: -10- What's a good graphical 'diff' (side-by-side file
comparison) program for SGIs?
Date: 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 <dan@sass.com>. It is in the X11R6 contrib stuff, at
ftp://ftp.x.org/contrib/applications/ 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
<rck@fangio.asd.sgi.com> has put a compiled, 'inst'-installable
package at ftp://ftp.sgi.com/sgi/ghost/.
Dale Atems <atems@physics.wayne.edu> points out: Many people try
ghostscript and give it up because of the fonts. There is something
about ghostscript that's not as widely known as it should be and
deserves emphasis: if you have SGI's Display Postscript, you can
forget about most of the ugly bitmap fonts that come with
ghostscript. Edit your Fontmap file to point ghostscript to the DPS
outline fonts (in /usr/lib/DPS/outline/base) and it will use them
instead. This will improve both screen display and, if you're not
using a Postscript printer with those fonts already built in,
printing quality. [Editor's note: This seems to cause problems with
some files under IRIX 5.x. Any details?]
Subject: -15- How can I edit PostScript files?
Date: 16 Sep 1995 00:00:01 EST
Ivan Bach <ib@sgi.com> collected some testimonials from a number of
SGIers:
- Adobe Illustrator and Corel Draw can edit PS files of type AI (a
simplified version of PS that facilitates editing).
- Transverter (from TechPool, 212-291-1922) can convert some general
PostScript files to AI PostScript. It also does other conversions,
e.g. to TIFF.
- If you have DPS and the DPS developer's kit you can do this quite
well with xfig. Check out the version in
ftp://ftp.x.org/contrib/R5contrib-fixes/xfig-patches/.
- The InterViews tool `idraw' allows manipulation of EPS
(Encapsulated PostScript) files, and has a `mac-type' interface.
- Island Draw 3.0 has an option to import Postscript, and it seems to
accept arbitrary Postscript. I have fed it single page Postcript
files from Illustrator, Corel, Ventura, Designer, Eroff, and
hand-coded files, and it made Island Draw objects out of them. The
file initially opens as one grouped object, but if you ungroup, you
get editable objects. I was quite impressed. I don't doubt there
are ways to fool the interpreter, but it works for output from
drawing and publishing packages, which is what I need it for.
- Jack Howarth <howarth@nitro.med.uth.tmc.edu> adds: ps2ai.ps converts
Postscript to AI Postscript. It requires ghostscript (see above).
aimaker is a front end to ps2ai.ps. Both programs can be found in
ftp://toby.princeton.edu/pub/olszewsk/.
Subject: -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
<hart@ginzoo.eecs.wsu.edu> has a modified version of Ghostscript
3.33/Ghostview which can read PDF files in
ftp://siggraph.org/utilities/unix/ghost/.
Subject: -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
<strombrg@hydra.acs.uci.edu> notes that there is a C version of 'awf'
called 'cawf' which may be preferable; we don't know if it runs on
IRIX.
'groff' is by the Free Software Foundation and can be had from any GNU
archive (e.g. ftp://prep.ai.mit.edu/pub/gnu/). Compilers beware: it
must be compiled with g++ or SGI's C++. However, there are compiled
binaries in ftp://cb-iris.stanford.edu/pub/gnu/. David Hinds
<dhinds@allegro.stanford.edu>, the man who put them there, gives this
advice for installing groff so that it can format manpages on the fly
in IRIX 4.0.x:
Create a script called 'eqn':
> #!/bin/sh
> if [ ${1:-""} = /usr/pub/eqnchar ] ; then shift ; fi
> geqn $*
and a script called 'neqn':
> #!/bin/sh
> if [ ${1:-""} = /usr/pub/eqnchar ] ; then shift ; fi
> geqn -Tascii $*
and do:
> ln -s gnroff nroff
and edit the end of the gnroff script to be:
> rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'`
> exec groff -Wall -mtty-char $T $opts $rest
To get PostScript output from 'man -t', you also need to create a
'psroff' script similar to 'nroff'. Here are the context diffs:
*** /usr/local/bin/nroff Sat Feb 13 15:51:09 1993
--- /usr/local/bin/psroff Sat Feb 13 17:45:46 1993
***************
*** 1,8 ****
#!/bin/sh
! # Emulate nroff with groff.
prog="$0"
! T=-Tascii
opts=
for i
--- 1,8 ----
#!/bin/sh
! # Emulate psroff with groff.
prog="$0"
! T=-Tps
opts=
for i
***************
*** 25,30 ****
--- 25,33 ----
-Tascii|-Tlatin1)
T=$1
;;
+ -t)
+ # ignore -- default is send to stdout
+ ;;
-T*)
# ignore other devices
;;
***************
*** 49,53 ****
rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'`
# This shell script is intended for use with man, so warnings are
# probably not wanted. Also load nroff-style character definitions.
! exec groff -Wall -mtty-char $T $opts $rest
--- 52,56 ----
rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'`
# This shell script is intended for use with man, so warnings are
! # probably not wanted.
! exec groff -Wall $T $opts $rest
The binaries on cb-iris.stanford.edu have these changes already made.
Paul Walmsley <ccshag@cclabs.missouri.edu> offers the following
advice for IRIX 5.x, which assumes that you have already followed
David Hinds' instructions for IRIX 4.0.x:
1. Remove the link from tbl to gtbl.
2. Rename gtroff to gtroff-exe or some other suitable name. Note
that if you name it something other than gtroff-exe, you must
change the gtroff script below.
3. Install the gtroff and tbl scripts included below in place of the
above two programs, and chmod them appropriately.
--- cut here for tbl ---
#!/bin/sh
# Shoehorn gtbl into IRIX 5.2 - Shag
# Removes the -TX from gtbl's command line - yes, I know this is a kludge
rest=`echo ${1+"$@"} | sed -e 's+-TX++'`
exec gtbl $rest
--- cut here for gtroff --
#!/bin/sh
# Shoehorn gtroff into working with IRIX 5.2 - Shag
# Translates all references for /usr/lib/tmac to /usr/local/lib/groff/tmac,
# and disables warnings - from David Hinds' code
rest=`echo ${1+"$@"} | sed -e 's+/usr/lib/tmac+/usr/local/lib/groff/tmac+'`
exec gtroff-exe -Wall -mtty-char $rest
--- you can stop cutting now ---
It is also possible to avoid the need for these scripts by setting
some environment variables, which are only documented in the man(1)
manpage (q.v.) in IRIX 5.2 and later.
Finally, under IRIX 5.3, you need to edit the 'eqn' and 'neqn' scripts
(above) a bit more. Add the following line
if [ ${1:-""} = - ] ; then shift ; fi
just before the last "geqn" line.
Subject: -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 <phil@eecs.nwu.edu> version, which has these
capabilities. FTP it from ftp://eecs.nwu.edu/pub/top/. Ports to IRIX
are at ftp://ftp.cs.ruu.nl/pub/SGI/top-3.1.tar.gz,
ftp://ftp.cmpharm.ucsf.edu/pub/top/top-3.3beta3.irix.tar.Z, and
ftp://honey.bernstein.com/pub/entropy/top-3.3-irix-5.2-BETA.tar.gz.
Subject: -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/ 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 <gferg@hoop.timonium.sgi.com> list of other problems
with Insight is at
ftp://viz.tamu.edu/pub/sgi/software/insight-problems. Most or all
have probably been fixed in subsequent versions of Insight and IRIX.
Subject: -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 <bryanj@spiff.esd.sgi.com> describes several ways
to deal with its absence:
- Get Webforce (an extra-cost product) or Digital Media Tools 5.5
(free from
http://www.sgi.com/Products/Evaluation/dmedia/dmedia.html), both of
which include soundplayer. Both require IRIX 5.3.
- 'sfplay' is part of standard IRIX and handles almost all of the same
audio formats as does 'sfplay'. Edit the file
/usr/local/lib/netscape/mailcap and replace every instance of the
word "soundplayer" with "sfplay".
'sfplay' does NOT handle mpeg audio bitstreams (.mp2) like those
from the Internet Underground Music Archive site. Get 'maplay', an
MPEG audio file player, from
ftp://ftp.cs.tu-berlin.de/incoming/maplay1_2/; you can get the C++
source code (maplay1_2.tar.Z) and compile it yourself or just get
the IRIX binary (maplay_indigo.Z). (See also Doug Cook's audio apps
list, referenced in the misc FAQ.) After you've set up 'maplay',
edit /usr/local/lib/netscape/mailcap, find the line beginning with
"audio/x-mpeg" and replace the word "soundplayer" with "maplay" on
that line only.
Subject: -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 <pshuang@sgi.com> 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/ 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 <mccauley@sgi.com>: IRIX does not and cannot have a
coff2elf (actually, it's 'cof2elf') converter. The COFF (actually,
ECOFF) to ELF transition was also the transition to the use of
Expanded Fundamental Types (EFT), an SVR4-ism. EFT enlarges a number
of basic data types, finally casting off the last vestiges of the
PDP-11. So, structures built in an EFT world would have their
members at different offsets than they would in a pre-EFT (e.g. IRIX
4.x) world. The operating system uses the fact that an executable is
in ELF to trigger the use of EFT-based strucures for input and
output. So, even if you had a program like coff2elf, the resulting
transformed executable would not operate correctly for almost any
interesting case. Trivial programs that don't have any system calls
which pass in structures or get structures back from the OS could
theoretically work, but these fall into the "uninteresting" class.
Note that the cof2elf(1) program referred to by the elf(1) manpage in
IRIX 5.2 does not exist. The elf(1) manpage is wrong.
Subject: -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 <jack@cwi.nl> 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 <russo@rudedog.nrl.navy.mil> has compiled lists, which you
can FTP from
ftp://viz.tamu.edu/pub/sgi/software/programming/missing-protos.shar.
Subject: -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
<cpirazzi@cp.esd.sgi.com> 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 <karsh@audio.esd.sgi.com> and Ping Huang <pshuang@sgi.com>
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 <joost@ori.cadlab.de> points out that you can also use
GNU install (available from any GNU archive, e.g.
ftp://prep.ai.mit.edu/pub/gnu/), which emulates the BSD version.
Unlike /usr/bin/X11/bsdinst, it has a manpage. It also may be better
debugged; SGI's version reportedly mishandles '-o' and installs
multiple files into a single directory.
Subject: -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 <sgi-faq@viz.tamu.edu> http://www-viz.tamu.edu/~sgi-faq/
Finger us for info on the SGI FAQs, or look in ftp://viz.tamu.edu/pub/sgi/.