Path: bloom-beacon.mit.edu!hookup!swrinde!cs.utexas.edu!news.tamu.edu!sgi-faq From: sgi-faq@viz.tamu.edu (The SGI FAQ group) Newsgroups: comp.sys.sgi.misc,comp.answers,news.answers Subject: SGI apps Frequently Asked Questions (FAQ) Supersedes: Followup-To: comp.sys.sgi.misc Date: 6 Apr 1994 20:11:33 GMT Organization: Visualization Lab, Texas A&M University Lines: 840 Approved: news-answers-request@mit.edu Expires: 4 May 1994 20:11:14 GMT Message-ID: Reply-To: sgi-faq@viz.tamu.edu (The SGI FAQ group) NNTP-Posting-Host: viz.tamu.edu Originator: sgi-faq@viz Xref: bloom-beacon.mit.edu comp.sys.sgi.misc:9364 comp.answers:4791 news.answers:17741 Archive-name: sgi/faq/apps Last-modified: Wed Apr 6 15:10:31 CDT 1994 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 & compilers SGI graphics FAQ - Graphics and user environment customization SGI hardware FAQ - Hardware SGI misc FAQ - Introduction & miscellaneous information SGI performer FAQ - IRIS Performer SGI pointer FAQ - Pointer to the other FAQs 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 by anonymous FTP from one of these sites: rtfm.mit.edu:/pub/usenet/comp.sys.sgi.misc/ rtfm.mit.edu:/pub/usenet/news.answers/sgi/faq/ rtfm.mit.edu:/pub/usenet/comp.answers/sgi/faq/ viz.tamu.edu:/pub/sgi/faq/ Note that 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. If you can't use FTP, send mail to mail-server@rtfm.mit.edu with the command 'send usenet/news.answers/ftp-list/faq' on a line by itself in the text, and it will send you a document describing how to FTP by mail. You can also read a hypertext version of the FAQs at http://www.cis.ohio-state.edu/hypertext/faq/usenet/sgi/top.html The SGI FAQs are freely distributable and wide circulation is encouraged. The contents are accurate as far as we know, but the usual disclaimers apply. Please 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- What's a good graphical text editor for SGIs? ! -6- What's a good graphical mail program for SGIs? -7- How can I convert ASCII to PostScript? -8- How can I preview PostScript? -9- How can I edit PostScript files? -10- How can I format unformatted manpages? -11- IRIX's version of top(1) doesn't let me renice or kill processes interactively. What to do? -12- BUGS AND PROBLEMS -13- Why isn't Iris Insight working properly? -14- Why don't the arrow keys work in vi? -15- How can I tell application X about my screen size? -16- Why does ksh lock up if one's home directory is NFS-mounted? -17- Why can't I 'talk' to Suns? -18- PORTING -19- Why can't I compile application X? -20- Why doesn't application X understand NIS (Yellow Pages)? -21- Where's 'ranlib'? -22- How can I make the 'install' program work like BSD 'install'? -23- Why does GNU Emacs not compile, or compile but not run? -24- What do I need to do to build gcc/g++? -25- COMPILERS AND PROGRAMMING -26- What are the correct versions of the Irix Development Option (IDO) and Fortran for current versions of IRIX? -27- Where's edge in IRIX 5.x? What can I use instead? -28- Can I use dynamic shared libraries in IRIX? -29- How can I tell which shared objects my IRIX 5.x executable uses? -30- How can I generate IRIX 4.0.x-compatible executables under IRIX 5.x? -31- How can I convert IRIX 4.0.x executables to IRIX 5.x? -32- How can I make IRIX malloc return null on failure? -33- Where's CHILD_MAX? + -34- What prototypes are missing in IRIX 4.0.x and 5.x? -35- Why are some static libraries missing in IRIX 5.x? -36- Where are the audio, CD and DAT libraries in IRIX 5.x? ---------------------------------------------------------------------- Subject: ! -1- Where can I find software for SGIs? Date: 03 Apr 94 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. The best general reference for finding sources on the Internet is Jonathan Kamens' "Finding Sources" document. It can be FTPed from 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.x.org:/contrib/ for X software (and X itself), prep.ai.mit.edu:/pub/gnu/ for GNU software, and ftp.uu.net:/ and 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 SGI anonymous FTP list. (See "What are some related network documents?" in the misc FAQ.) Good places to look, if you just feel like looking, are ftp.sgi.com:/ and sgigate.sgi.com:/, where are kept any number of freebies from the folks at SGI, and swedishchef.lerc.nasa.gov:/, a site particularly well-stocked with SGI-related materials. 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: 03 Apr 94 00:00:01 EST A very large stash of SGI-compiled software is at ftp.uni-stuttgart.de:/sw; look in the sgi_40 directory for IRIX 4.0.x versions and the sgi_51 directory for IRIX 5.x versions. David Hinds keeps a stock of GNU software compiled for IRIX 4.0.x at cb-iris.stanford.edu:/pub/gnu/. Presently it includes recent versions of emacs, gcc, gnuplot, groff, gzip and perl. Scott Henry provides recent versions of GNU Emacs and gzip compiled for IRIX 4.0.x and (pay attention here) IRIX 5.x, in 'inst' form, in sgigate.sgi.com:/net-services/gnu-emacs. If none of the above helps, check Bill Henderson's list. 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 increasing rapidly and the trend is definitely toward better IRIX support. ------------------------------ Subject: -3- What about Explorer? Date: 24 Feb 94 00:00:01 EST The IRIS Explorer data visualization system has its own newsgroup, comp.graphics.explorer. There is an FTP site at ftp.epcc.ac.uk:/pub/explorer/ (with a North American mirror at 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 93 00:00:01 EST The next few questions discuss software for various applications. ------------------------------ Subject: -5- What's a good graphical text editor for SGIs? Date: 11 Mar 94 00:00:01 EST The most popular graphic text editors on SGIs include: zip (by Tom Davis of SGI) is something like jot but is orders of magnitude faster and laden with nifty features. It doesn't run well remotely or at all on X-terminals, text terminals or non-SGI machines, but if most of your editing will be at an SGI console, read no further! You can FTP it from ftp.sgi.com:/graphics/zip/. If you're using IRIX 5.x, 'zip' has replaced 'jot' and you probably didn't even need to read this question. nedit is a straightforward graphical editor with programmers' features. It needs X-windows but not GL. Get it from fnpspb.fnal.gov:/pub/nedit/. Patches to make it work under IRIX 5.x are at viz.tamu.edu:/pub/sgi/software/nedit/nedit-on-irix-5.x.patch. 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. prep.ai.mit.edu:/pub/gnu/. Epoch is a derivative of GNU Emacs 18 with better X-windows support. It may be found at cs.uiuc.edu:/pub/epoch-files/epoch/. Lucid Emacs is a derivative of an early version of GNU Emacs 19. It may be found at lucid.com:/pub/lemacs/. It requires graphics. Finally, the comp.windows.x FAQ (at rtfm.mit.edu:/pub/usenet/comp.windows.x/) lists many more editors which run under X-windows, both free and commercial. ------------------------------ Subject: ! -6- What's a good graphical mail program for SGIs? Date: 03 Apr 94 00:00:01 EST SGI ships 'xmh' but not 'mh' (which 'xmh' needs), and it looks nasty anyway. Here are some more popular choices: The free programs Elm and Pine are not graphical, but they are screen-oriented (they use text-based menus), easy to use, powerful and can easily be run in a separate window. They can be configured to use 'metamail' for MIME support. (MIME, described in RFC1521, is a standard for enclosing multimedia material in your mail.) Elm can be FTPed from dsinc.dsi.com:/elm/, Pine from ftp.cac.washington.edu:/pine/ and 'metamail' from thumper.bellcore.com:/pub/nsb/. Elm has an FAQ (at rtfm.mit.edu:/pub/usenet/comp.mail.elm). A package which makes Elm work nicely with IRIX 4.0.5x's WorkSpace is at neutron.chem.yale.edu:/pub/elm-ws-support.shar. Note that Elm's autoreply/arepdaemon subsystem has a bad security hole, so don't install those binaries. The rest of Elm is fine. An IRIX-friendly version of 'xmailtool' is in crocus.medicine.rochester.edu:/pub/apps/. 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 MIME-compatible and have a text-only mode. The PostScript file viz.tamu.edu:/pub/sgi/software/mail/zmail-vs-mediamail.ps describes the differences between Z-Mail and MediaMail. 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'. Finally, Chris Lewis' "Unix Email Software - a Survey" lists many mail programs, some of which are graphical. FTP it from rtfm.mit.edu:/pub/usenet/news.answers/mail/setup/unix. ------------------------------ Subject: -7- How can I convert ASCII to PostScript? Date: 06 Jan 94 00:00:01 EST - IRIX 4.0.x includes 'lptops', which, because it's called indirectly from 'lp', isn't as well known as it ought to be. Read the 'lptops' and 'gpsinterface' 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. - Popular free converters include 'a2ps' (at imag.fr:/archive/postscript/), 'lwf' (in volume 15 of comp.sources.unix, e.g. ftp.uu.net:/usenet/comp.sources.unix/volume15/lwf/) and 'psf' (in volume 35 of comp.sources.misc, e.g. ftp.uu.net:/usenet/comp.sources.misc/volume35/psf3/). The comp.lang.postscript FAQ (at 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: -8- How can I preview PostScript? Date: 20 Mar 94 00:00:01 EST Display Postscript (DPS), which includes the 'xpsview' PostScript previewer, is an extra-cost option from SGI. Happily, Robert Keller of SGI has made available GNU's GhostScript previewer, compiled *and* in SGI 'inst' installable form. FTP it from ftp.sgi.com:/sgi/ghost/. Dale Atems 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. ------------------------------ Subject: -9- How can I edit PostScript files? Date: 07 May 93 00:00:01 EST Ivan Bach 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 extensions on your server and a DPS compile time environment you can do this quite well with xfig. Check out the version in crocus.medicine.rochester.edu:/pub/apps/. - 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. ------------------------------ Subject: -10- How can I format unformatted manpages? Date: 07 May 93 00:00:01 EST SGI provides manpages in formatted form, and does not therefore need to provide us all with the formatting software. Most FTPable software, however, comes with unformatted manpages. Manpages are most often formatted with 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. Public domain alternatives to DWB include 'groff' and 'awf': 'groff' is by the Free Software Foundation and can be had from any GNU archive (e.g. prep.ai.mit.edu:/pub/gnu/). Compilers beware: it must be compiled with g++ (or another C++ compiler?). However, there are compiled binaries in cb-iris.stanford.edu:/pub/gnu/. David Hinds , the man who put them there, gives this advice for installing groff so that it can format manpages on the fly: 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. 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 fresnel.stanford.edu:/pub/4D/. Finally, you might be able to format them on a non-SGI machine which does have nroff. You might need to specify the generic printer macros with '-Tlp', i.e. 'nroff -man -Tlp foo.1 > foo'. ------------------------------ Subject: -11- IRIX's version of top(1) doesn't let me renice or kill processes interactively. What to do? Date: 10 Dec 93 00:00:01 EST Try William LeFebvre's version, which has these capabilities. FTP it from eecs.nwu.edu:/pub/top/. One port to IRIX is at ftp.cs.ruu.nl:/pub/SGI/top-3.1.tar.gz. ------------------------------ Subject: -12- BUGS AND PROBLEMS Date: 10 Dec 93 00:00:01 EST This section discusses bugs and problems with various applications. ------------------------------ Subject: -13- Why isn't Iris Insight working properly? Date: 10 Dec 93 00:00:01 EST Iris Insight 2.0 (which came on a CD included in the July/August Pipeline) uses a different format in the .insightrc file in your home directory. If there is an .insightrc left over from an older version when you run Insight 2.0, it may emit error messages or not work in various ways. Just delete the old .insightrc and restart Insight. Greg Ferguson keeps a list of other problems with Insight, which can be found at viz.tamu.edu:/pub/sgi/lists/insight-problems. ------------------------------ Subject: -14- Why don't the arrow keys work in vi? Date: 10 Dec 93 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 zip or Emacs. ------------------------------ Subject: -15- How can I tell application X about my screen size? Date: 10 Dec 93 00:00:01 EST IRIX does not have 'stty rows n' or 'stty columns n'. Use 'setenv LINES n' and 'setenv COLUMS n' respectively. ------------------------------ Subject: -16- Why does ksh lock up if one's home directory is NFS- mounted? Date: 21 Jan 94 00:00:01 EST Sez Dave Olson : Since all ksh sessions for the same user write to the same file, ksh uses locking on the history file. Locking over NFS is problematic at best. There is an environment variable (HISTFILE) that can be set to specify where the history file lives; I would suggest putting it somewhere on the local disk. ------------------------------ Subject: -17- Why can't I 'talk' to Suns? Date: 16 Mar 94 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 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.uu.net:/usenet/comp.sources.unix/volume27/ytalk-3.0/. ------------------------------ Subject: -18- PORTING Date: 10 Dec 93 00:00:01 EST This section discusses how to port 'found' software: usually free, written by someone else and probably not written explicitly for SGIs. ------------------------------ Subject: -19- Why can't I compile application X? Date: 12 Jan 94 00:00:01 EST Plenty of reasons, but here are some of the most common: - SGI's C compiler is ANSI C by default in IRIX 4.0.x. Use the '-cckr' option to compile K&R 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. This can often be worked around by removing "-prototypes" from the line where it appears in the Makefile (not the Imakefile). - You need the libPW.a library, which contains the regcmp and regex functions. Add '-lPW' to your linking command. - You're linking X libraries, which have complex interdependencies, in the wrong order. Mark Kilgard provided this handy chart: libXm--libXirisw \ libXt--libXmu--libgl--libXi--libXext--libX11 / libXaw Libraries should be listed in the same order on the cc or ld command line, left to right, as they appear above. If you don't use routines from a library, of course, you don't need it. - Some header files were in both the dev.hdr.lib subsystem (which is part of IDO) and eoe1.sw.unix (which is part of basic IRIX) in IRIX 4.0.5, but are not in dev.hdr.lib in IDO 4.1 and 4.1.1. If one removes an older IDO then installs IDO 4.1(.1), these headers will disappear. The solution is to reinstall eoe1.sw.unix. Affected headers are all in /usr/include/sys, and include domain.h, fddi.h, if_imf.h, if_ipg.h, if_mf.h, if_sl.h, llc.h, mbuf.h, protosw.h, smt.h, socket.h, socketvar.h, tcp-param.h, uio.h, un.h, and unpcb.h. - There may be dependency lines in a Makefile which begin with spaces. Some 'make's accept spaces; SGI's requires tabs. - You may be running into one of the many popular bugs in IDO 4.1. See "COMPILERS AND PROGRAMMING". ------------------------------ Subject: -20- Why doesn't application X understand NIS (Yellow Pages)? Date: 19 Dec 93 00:00:01 EST If you run NIS (aka Yellow Pages), you need to link programs which access files served by NIS 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. This is only true for IRIX 4.0.x; IRIX 5.x's libc.a is NIS-aware. ------------------------------ Subject: -21- Where's 'ranlib'? Date: 16 Sep 93 00:00:01 EST IRIX doesn't need it. Read the description of the 's' option in the 'ar' manpage. When the Makefile for a program you're porting wants ranlib, substitute 'true' or put a little shell script in your PATH to fake it. ------------------------------ Subject: -22- How can I make the 'install' program work like BSD 'install'? Date: 16 Jun 93 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). SGI's 'imake' defines INSTALL as /usr/bin/X11/bsdinst.sh, and the Install* rules use that definition, so Imakefile-generated Makefiles will use the BSD version. Michael Joosten points out that you can also use GNU install (available from any GNU archive, e.g. prep.ai.mit.edu:/pub/gnu/), which emulates the BSD version. Unlike /usr/bin/X11/bsdinst.sh, 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: -23- Why does GNU Emacs not compile, or compile but not run? Date: 20 Jan 94 00:00:01 EST You probably have an old version. Emacs 18.59 is the last release of Emacs version 18. It builds and runs correctly under IRIX 4.0.x. Some earlier versions failed to compile (because cc now needs -cckr for K&R C compatibility) or failed to run when stripped (because of object file format changes). For the latter reasion, the file unexmips.c in some versions of Epoch and Lucid Emacs should be replaced with the same-named file from the GNU Emacs 18.59 distribution. Karsten Kuenne has patched Emacs 18.59 to work with IRIX 5.0's new object file format. The patches are at ftp.desy.de:/pub/gnu/emacs/emacs-irix5.0-patches. Emacs 19.22 is the most recent release of Emacs version 19 at this writing; it builds and runs correctly under IRIX 4.0.x and 5.x with recent compilers (IDO 4.1.1 or newer). Be sure to read about Iris quirks in etc/MACHINES. You may need to say 'configure mips-sgi-irix5.1' instead of 'configure mips-sgi-irix5' to work around a small 'configure' bug. If you want to use dbx on Emacs 19.22, you need viz.tamu.edu:/pub/sgi/software/emacs/unexelfsgi.c.patch. See also "Where can I get software already compiled for SGIs?" above. ------------------------------ Subject: -24- What do I need to do to build gcc/g++? Date: 12 Jan 94 00:00:01 EST Recent versions of gcc build reliably on IRIX 4.0.x and 5.x without difficulty. Just read the INSTALL document and follow the directions. A few hints: - You need the headers and runtime libraries from SGI's extra-cost development option both to compile and use gcc. (glibc does not yet work on SGIs.) Of course if you buy the development option you'll get SGI's compiler anyway; this is comp.sys.sgi.*'s most popular Catch-22. - Don't forget to install the dev.cmplrs_hdr.internal subsystem, which contains needed headers and is not installed by default. - You'll need up to 80Mb of free disk space. You can manage with as little as 50Mb by compiling without "-g", stripping binaries and pruning after each build stage. _ If you are using IDO 4.1, use the 'mips-sgi-irix4loser' configuration, which disables optimization to avoid an assembler bug, or use the 'noasmopt' flag to gcc. This is not necessary with IDO 4.1.1. - If you are using IDO 5.1, don't use GNU's binutils ('ar' and 'ld') to build gcc. Use the IRIX versions. - gcc's '-g' option (include debugging info) does not work on IRIX 5.x. This is not a bug, but an absence of support. '-g' will work when someone ports GNU's 'gas' to IRIX 5.x or explicitly writes ELF support into gcc. See also "Where can I get software already compiled for SGIs?" above. ------------------------------ Subject: -25- COMPILERS AND PROGRAMMING Date: 10 Dec 93 00:00:01 EST This section discusses compilers and programming issues. Check the graphics FAQ for graphics programming issues, and the Performer FAQ for Performer issues. ------------------------------ Subject: -26- What are the correct versions of the Irix Development Option (IDO) and Fortran for current versions of IRIX? Date: 15 Feb 94 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). IDO 4.1 (C 3.10 and the 3.10 back-end) was buggy; upgrade to 4.1.1 ASAP. IDO 4.0.1 (with the 2.40 back-end) was the last stable release before IDO 4.1.x and is still acceptable. IRIX 5.1 requires IDO 5.1. 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.1 needs Fortran 4.0. ------------------------------ Subject: -27- Where's edge in IRIX 5.x? What can I use instead? Date: 02 Feb 94 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'; it can be FTPed from ftp.x.org and a patch to make it work on SGIs is at viz.tamu.edu:/pub/sgi/software/xdbx/xdbx.sgi.patch. ------------------------------ Subject: -28- Can I use dynamic shared libraries in IRIX? Date: 07 May 93 00:00:01 EST IRIX 5.x supports SVR4-style dynamic shared libraries. IRIX 4.0.x does not, but Jack Jansen has written a package to do it anyway. Get the file ftp.cwi.nl:/pub/dl-1.3.tar.Z by anonymous FTP. ------------------------------ Subject: -29- How can I tell which shared objects my IRIX 5.x executable uses? Date: 10 Dec 93 00:00:01 EST Tom Weinstein reveals the truth: Use elfdump(1), which is in the dev.cmplrs_sw.util subsystem. The -Dl flag lists shared object dependencies, and there are other flags that do other things. ------------------------------ Subject: -30- How can I generate IRIX 4.0.x-compatible executables under IRIX 5.x? Date: 10 Dec 93 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. ------------------------------ Subject: -31- How can I convert IRIX 4.0.x executables to IRIX 5.x? Date: 17 Jan 94 00:00:01 EST Sez Jay McCauley : 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 vestages 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. ------------------------------ Subject: -32- How can I make IRIX malloc return null on failure? Date: 23 Jan 94 00:00:01 EST SGI's malloc(), by default, does not return NULL if there's not enough virtual memory around to allocate the requested space; instead the program is killed if and when it touches an unavailable page. To make malloc() behave more conventionally -- to return NULL if the space is not available -- set the kernel variable availsmem_accounting (in /usr/sysgen/master.d/kernel, or via 'systune' in IRIX 5.x) to 1 and rebuild your kernel. ------------------------------ Subject: -33- Where's CHILD_MAX? Date: 21 Jan 94 00:00:01 EST /usr/include/limits.h has a bug in all versions of IRIX 4.0.5. The definition of ARG_MAX on line 92 is missing a closing comment, so the definition of CHILD_MAX on line 93 is ignored. Line 92 #define ARG_MAX 5120 /* max length of arguments to exec should look like this: #define ARG_MAX 5120 /* max length of arguments to exec */ ------------------------------ Subject: + -34- What prototypes are missing in IRIX 4.0.x and 5.x? Date: 03 Apr 94 00:00:01 EST Kevin Russo has compiled a list, which you can FTP from viz.tamu.edu:/pub/sgi/software/prototypes/missing-protos.shar. ------------------------------ Subject: -35- Why are some static libraries missing in IRIX 5.x? Date: 05 Feb 94 00:00:01 EST IRIX 5.x does not have static (non-shared) versions of some libraries, notably libX11.a. This is only a problem if one needs to name one explicitly in a linking statement; just use the shared version (in this case, libX11.so.1). But *why* are they missing? 1) The shared versions (but not the static versions) are specified in the MIPS ABI, with which IRIX 5.x complies. 2) SGI can tune system-dependent aspects of the libraries without losing binary compatibility between different SGI machines and with other MIPS ABI-compliant platforms. 2) The library interfaces are stable, so there is no need to link them statically. 3) It forces us all to use the shared versions with the attendant benefits: less disk and memory usage and better portability. ------------------------------ Subject: -36- Where are the audio, CD and DAT libraries in IRIX 5.x? Date: 05 Mar 94 00:00:01 EST In IRIX 5.x, they (and the associated headers, sample code, etc.) have moved to the extra-cost Digital Media Development option. Sorry. ------------------------------ End of sgi/faq/apps Digest ****************************** -- The SGI FAQ group sgi-faq@viz.tamu.edu Finger us for info on the SGI FAQs, or look in viz.tamu.edu:/pub/sgi.