🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.sgi.misc
Article #121

SGI apps Frequently Asked Questions (FAQ)

#121
From: Allan Schaffer
Date: Wed, 02 Jun 1993 06:37
423 lines
18346 bytes
Archive-name: sgi/faq/apps

           SGI apps Frequently Asked Questions (FAQ)


This information is freely distributable and wide circulation is encouraged.
The contents are accurate as far as we know, but the usual disclaimers apply.
This FAQ contains errors! Finding them is an exercise for alert readers.

Please send additions and changes to sgi-faq@archone.tamu.edu.

This FAQ is one of the SGI FAQ series, which consists of:

     SGI Admin FAQ - IRIX System Administration
     SGI Apps FAQ - Applications & Compilers
     SGI Graphics FAQ - Graphics & Windowing
     SGI Hardware FAQ - Hardware issues
     SGI Misc FAQ - Introduction & Miscellaneous Information

Each FAQ is posted to each comp.sys.sgi.* group as well as the news.answers
and comp.answers newsgroups (whose purpose is to store FAQs) every two weeks.
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/news.answers/sgi/faq/apps
 rtfm.mit.edu:pub/usenet/comp.sys.sgi.misc/SGI_apps_Frequently_Asked_Questions
 archone.tamu.edu:ftp/pub/sgi/faq/apps
 rtfm.mit.edu:pub/usenet/comp.answers/sgi/faq/apps

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.

Topics covered in this FAQ:
--------------------------
  -1- How can I quickly find the question I want in this FAQ?
  -2- What's a good graphic text editor for SGIs?
  -3- What about Explorer?
  -4- How can I make the 'install' program work like BSD 'install'?
  -5- How can I preview PostScript without buying DPS?
  -6- With what applications can I edit PostScript files?
  -7- How can I format unformatted manpages without buying DWB?
  -8- Why can't I compile application X?
  -9- Why does GNU Emacs not compile, or compile but not run?
  -10- Why doesn't Xarchie 1.3 work?
  -11- What do I need to do to build gcc/g++?
  -12- Can I use dynamic shared libraries in IRIX?
  -13- How can I make Fortran load entirely from a library?
  -14- How can I make my 4.0.x Fortran program read binary data files 
       written by a 3.3.x Fortran program?
  -15- Credits

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

Subject:   -1- How can I quickly find the question I want in this FAQ?
Date: 27 May 93 00:00:01 EST

- This FAQ follows the RFC1153 recommendations for message digests and thus
  can be viewed easily with newsreaders that understand message digests.
- Each question has a Subject: line, so you can easily step through the answers
  with rn's ^G command.
- Each question is marked with a "dash number dash" so that you can find any
  answer with a simple search pattern.
- Questions marked with a '+' are new this posting; those marked with a '!'
  have significant new content since the last edition.

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


Subject:   -2- What's a good graphic text editor for SGIs?
Date: 07 May 93 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. Its only disadvantage is that it doesn't
run on X-terminals, or of course text terminals. FTP to ftp.sgi.com and look 
in in graphics/zip.

GNU Emacs, a perennial favorite, isn't just an editor; it's a way of life.  It
has a X-windows mode and will work on X-windows terminals as well as SGI
consoles and text terminals.  Emacs may be FTPed from any GNU archive.

Epoch is a derivative of GNU Emacs with better graphics support. It may be
found at cs.uiuc.edu in pub/epoch-files/epoch.

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

Subject:   -3- What about Explorer?
Date: 07 May 93 00:00:01 EST

The IRIS Explorer data visualization system has its own newsgroup,
comp.graphics.explorer. There is an FAQ, which can be found, along with many
other Explorer goodies, at swedishchef.lerc.nasa.gov in the explorer directory.

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

Subject:   -4- How can I make the 'install' program work like BSD 'install'?
Date: 07 May 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.

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

Subject:   -5- How can I preview PostScript without buying DPS?
Date: 07 May 93 00:00:01 EST

SGI offers a PostScript previewer as part of the extra-cost Display PostScript
(DPS) option. Happily, Robert Keller of SGI <rck@fangio.asd.sgi.com> has made
available GNU's GhostScript previewer, compiled *and* in SGI 'inst'
installable form. FTP it from ftp.sgi.com in sgi/ghost.

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

Subject:   -6- With what applications can I edit PostScript files?
Date: 07 May 93 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).
- 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 on
  crocus.medicine.rochester.edu.
- The InterViews tool `idraw' allows manipluation of EPS (Encapulated
  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 editible 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:   -7- How can I format unformatted manpages without buying DWB?
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 include 'groff' and 'awf'.

'groff' is by the Free Software Foundation and can be had from any GNU
archive.  Compilers beware: it must be compiled with g++ (or another C++
compiler?). However, there are compiled binaries on cb-iris.stanford.edu.
David Hinds <dhinds@allegro.stanford.edu> 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 in pub/4D.

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

Subject:   -8- Why can't I compile application X?
Date: 07 May 93 00:00:01 EST

Plenty of reasons, but here's 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).

The cc(1) manpage describes these and related options.

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

Subject:   -9- Why does GNU Emacs not compile, or compile but not run?
Date: 07 May 93 00:00:01 EST

Emacs 18.59 is the most recent release of Emacs version 18, and builds and
runs correctly under IRIX 4.0.x. 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). Versions of Epoch and/or Lucid Emacs
derived from GNU Emacs 18.xx may need unexmips.c from the 18.59 distribution.

Emacs 19.10 is the most recent release of Emacs version 19, and the first to
build and run conveniently under 4.0.x. Earlier versions require fiddling.

Karsten Kuenne <kuenne@desy.de> has patched Emacs 18.59 to work with IRIX
5.0's new object file format. The patches are at ftp.desy.de in
pub/gnu/emacs/emacs-irix5.0-patches. Emacs version 19 is not yet known to 
work under IRIX 5.0.

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

Subject:   -10- Why doesn't Xarchie 1.3 work?
Date: 07 May 93 00:00:01 EST

The app-defaults file supplied with Xarchie 1.3 used fonts which did not exist
on some versions of IRIX, resulting in invisible text and sometimes program
lockups. You can either replace the "fixed" and "fixed*bold" fonts with
"screen13" and "screen-bold13" everywhere they appear in the Xarchie.ad file,
or better yet upgrade to Xarchie 2.0, in which this problem has been fixed.
The current version of Xarchie can be found on export.lcs.mit.edu in the
contrib directory.

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

Subject:   -11- What do I need to do to build gcc/g++?
Date: 07 May 93 00:00:01 EST

Before you start, remember that you need the headers and runtime libraries
from SGI's extra-cost development option both to compile and use gcc. (gas and
glibc do 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.

Nico Garcia-Otero <harvard.harvard.edu!eplunix!raoul> writes:
gcc/g++ is /pub/gnu/gcc-2.3.3.tar.z on aeneas.mit.edu. libg++ is
/pub/gnu/libg++-2.3.tar.z on the same machine. (These are not "pack"ed, they
are "gzip"ed. Gzip is a public domain compression system, faster and more
portable than compress or pack. It's available as /pub/gnu/gzip-1.0.7.tar on
the same machine, and should be installed first.)

Make sure you have both a C compiler and write permissions on a /usr/local
directory to install the these programs, untar and install gzip, then
gcc-2.3.3, then libg++-2.3.  The configure scripts on all of these are
reasonably clever and very effective: set them for mips-sgi-irix4 for the
Irix 4.x.x OS.

There *is* a bug in gcc-2.3.3 when bootstrapping with the cc from the Irix
4.0.5 OS:  specifically, cp-lex.c should *not* be compiled with -O. Using -O
causes g++ to break, and libg++ will fail to compile when it runs its
utils/gen-params script to test the g++ compiler. I've been told this is a
problem with the Version 3 SGI compiler, not the Version 2.10 SGI compiler.
I don't know if that is true, or on which SGI OS's it is true, but the
fix worked fine for me.

There are no other *fatal* flaws, but there are some tune-ups to the
installation process available. For example, the bootstrap installation
requires about 80 Meg of disk. Pruning at intermediate stages can prevent it
from taking more than about 50 Meg, at the cost of losing intermediate steps
to double check your results with.

The installation of gcc and libg++ require about 20 Meg free in /usr/local:
keep this in mind.

Reading the man pages will require either a licensed copy of nroff, or the
installation of groff, available as /pub/gnu/groff-1.08.tar.z on
aeneas.mit.edu. There are additional changes in the shell scripts created to
make it handle the SGI man formatting correctly: I don't know the details,
but they've been discussed on the sgi news groups.

Curtis Bingham <bingh@chopin.cs.byu.edu> adds some specifics for gcc:  Unless
you're sure you're starting from a fresh distribution, do a 'make distclean'
at the gcc-2.3.3 top level directory.  Then type 'configure mips-sgi-irix4'
(Assuming you have at least Irix 4.0).  Type 'make LANGUAGES=C' + whatever the
INSTALL file instructs you to do for the first run.  When that finishes, type
'make stage1'.   Before continuing with the instructions in the INSTALL file,
you must compile cp-lex.o without optimizations.  To do this, type something
along these lines(see the INSTALL file for exact details): 'make
"CC=stage1/gcc" "CFLAGS=-g" cp-lex.o' Notice there is not a -O in this, as
there is in the INSTALL file.  Once cp-lex.o compiles, you can type 'make
"CC=stage1/blahblah" "CFLAGS=-g -O"' as directed in the INSTALL file.  This
step needs to be repeated if you decide to make the stage2 compiler.

All of the above applies to IRIX 4.0.x; gcc is not knownn to deal with 5.x.
gcc 2.4.0 does not yet work under any version of IRIX.

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

Subject:   -12- Can I use dynamic shared libraries in IRIX?
Date: 07 May 93 00:00:01 EST

IRIX 5.0 supports SVR4-style dynamic shared libraries. IRIX 4.0.x does not,
but Jack Jansen <jack@cwi.nl> has written a package to do it anyway. Get the
file pub/dl-1.3.tar.Z from ftp.cwi.nl by anonymous FTP.

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

Subject:   -13- How can I make Fortran load entirely from a library?
Date: 07 May 93 00:00:01 EST

Bron Nelson <bron@sgi.com> writes:
> Is there any way to tell f77 to load entirely from a library? When using ld
> for C, it is possible to use -u symname to force the loader to start its
> work. This makes it possible to load entirely from a library.

The same trick works for Fortran, but (like all things Fortranish) you have to
do a little dance to make things work out.

The trouble is that the Fortran compiler has an "-u" option, so you have to
arrange to pass the "-u symname" option directly to the loader, by-passing the
Fortran front end.

Try adding the incantation "-Wl,-u,MAIN__" to the link line.  e.g.:

	f77 -Wl,-u,MAIN__ -o myprog myprog.a

The "-W" option is described in the man page.

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

Subject:   -14- How can I make my 4.0.x Fortran program read binary data files 
                written by a 3.3.x Fortran program?
Date: 07 May 93 00:00:01 EST

You must compile your program with the -old_rl flag (described in the f77
manpage) _and_ open the file with the option "form='unformatted'", for example:

open(1, file='filename', access='direct', recl=1, form='unformatted')

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

Subject:   -15- Credits
Date: 6 May 93 00:00:01 EST

The comp.sys.sgi FAQs are the collective effort of

  Dale Chayes		dale@ldeo.columbia.edu
  Steve Rikli		steve@archone.tamu.edu
  Allan Schaffer	aschaffe@sgi.com
  Dave Schweisguth	dcs@neutron.chem.yale.edu

Special thanks are due to

  Tom Davis		Author of 'zip'
  Harry Mangalam	Maintainer of the comp.sys.sgi.* WAIS database

Finally, much thanks to all of the SGI employees on Usenet, all of whom have
provided gigabytes of help and information.

Credits for individual contributions are given in the answers.

------------------------------
-- 
Allan Schaffer
aschaffe@sgi.com
-- 
Allan Schaffer
aschaffe@sgi.com
Technical Details
Message-ID: <apps_739003067@fido.asd.sgi.com>
Path: arc1-ca.pugleaf.net!senator-bedfellow.mit.edu!enterpoop.mit.edu!gatech!howland.reston.ans.net!spool.mu.edu!olivea!sgigate!odin!fido.asd.sgi.com!holodeck.csd.sgi.com!aschaffe
References: <misc_739003067@fido.asd.sgi.com>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!senator-bedfellow.mit.edu!enterpoop.mit.edu!gatech!howland.reston.ans.net!spool.mu.edu!olivea!sgigate!odin!fido.asd.sgi.com!holodeck.csd.sgi.com!aschaffe
From: aschaffe@holodeck.csd.sgi.com (Allan Schaffer)
Newsgroups: comp.sys.sgi.misc,comp.sys.sgi.admin,comp.sys.sgi.apps,comp.sys.sgi.bugs,comp.sys.sgi.graphics,comp.sys.sgi.hardware,comp.answers,news.answers
Subject: SGI apps Frequently Asked Questions (FAQ)
Supersedes: <apps_738918418@fido.asd.sgi.com>
Followup-To: comp.sys.sgi.misc
Date: 2 Jun 1993 06:37:55 GMT
Organization: Silicon Graphics, Inc., Mountain View, CA
Lines: 423
Approved: news-answers-request@MIT.Edu
Message-ID: <apps_739003067@fido.asd.sgi.com>
References: <misc_739003067@fido.asd.sgi.com>
Reply-To: sgi-faq@archone.tamu.edu
NNTP-Posting-Host: holodeck.csd.sgi.com
Originator: aschaffe@holodeck.csd.sgi.com