Please consider a donation to the Higher Intellect project. See or the Donate to Higher Intellect page for more info.

Difference between revisions of "SGI IRIX Freeware FAQ"

From Higher Intellect Vintage Wiki
Jump to navigation Jump to search
(Created page with "<html> <h2>SGI IRIX Freeware</h2> <h2>Frequently Asked Questions</h2> <p> <h3><a href="#general">General Problems</a></h3> <ul> <li><a href="#Q0.1">Q0.1: Help!</a> <li><a hr...")
(One intermediate revision by the same user not shown)
Line 1: Line 1:
<h2>SGI IRIX Freeware</h2>
<h2>Frequently Asked Questions</h2>
Line 1,081: Line 1,078:
<!-- ================================================================  -->
<hr noshade>
Additions and contributions to this list gratefully accepted.
<a href="[email protected]?Subject=SGI/Freeware%20FAQ">[email protected]</a>
<hr noshade>

Latest revision as of 18:45, 20 July 2019

General Problems

Installation Problems

Run Time Problems



Package Replacement History

General Problems

Q0.1: Help!

If you've gotten as far as reading this FAQ you've probably already got some ideas on where to get help on the IRIX Freeware distribution. But to reinforce your intuitions here are some suggestions:
  • Read the general overview and introduction once or twice. It'll give you an idea what the IRIX Freeware distribution is all about, and some hints about where to start.
  • Read the package release notes. They typically give a brief overview of the package, including pointers to the official web sites, and also discuss some of the common IRIX-specific problems we've encountered. To see our release notes for a package click on the package name in the freeware index.
  • Visit the official package web site. These web sites are run by the authors or others who are intimately familiar with the code, and contains lots of good and useful information, like detailed on-line documentation, newsgroups and mailing lists, step-by-step instructions, etc. Our release notes will give a reference to the official web site, but you may find newer information on the web.
  • Send mail to us at [email protected].

There are also some places not to look for help:

  • Do not call SGI customer support. The IRIX freeware distribution is not a supported product, and while they'll try very hard to help you, it's not their job and not something in which they invest resources or training.
  • This is the IRIX Freeware distribution. We do not distribute binaries for Linux, NT, or other operating systems, and may know less about them than you do. Questions about freeware on other platforms are best sent to the package authors.

Finally some all-around, general purpose, feel-good advice:

  • Relax. Breathe in, breathe out. Repeat as necessary. The odds are high that whatever went wrong was not a personal assault directed at you.
  • It is supposed to work, but that doesn't mean every combination and permutation has been tested. Maybe there is a different way to do the same thing?
  • Stop and read the error message carefully. Although it may look like debugging output, well written programs give useful messages. What is the error message really saying?
  • Check to see if you have the latest versions installed. Maybe the problem has already been fixed.
  • Ask for help! Even if the answer is trivial, the fact that you ran into a problem that due diligence on your part couldn't resolve means something needs to be fixed.

Q0.2: I installed a package, but get "not found" when running it.

Probably you still need to change your PATH (and MANPATH and XUSERFILESEARCHPATH) environment variable so that your shell knows where to look for freeware programs. See the Changing your Search Path section in the introduction for some tips on running fixpath.

Installation Problems

Q1.1: How do I install a package on IRIX?

Open source comes in .tardist extension files. tardist files are tar archives of inst (SGI auto-install) files. They normally install automatically when you click on them in your browser. If you didn't have auto-installation configured in your browser this may fail, in which case you may follow the following manual procedure:
    % tar xvf xxxx.tardist	# untar that tardist file
    % su			# become superuser
    # inst -f .			# install from current dir
    inst> go
    inst> quit

Automating this process:

The utility tardist does all the above automatically. To configure your browser to support auto-install (i.e. calling tardist or SoftwareManager automatically when you click on a .tardist file on the web) you should have two entries added to your mailcap file (either your personal ~/.mailcap or, depending on your browser version, the system one in /var/netscape/.../mailcap, /usr/local/.../mailcap, or equivalent).
    application/x-install; \
	/usr/sbin/SoftwareManager -a -F %s ; \
	description="SGI automatic software installation"
    application/x-tardist; \
	/usr/sbin/SoftwareManager -a -f %s ; \
	description="SGI software distribution archive"
All this should work out of the box on recent IRIX releases. It is just on older IRIX systems (6.2) that you may need to go through the manual procedure.

Q1.2: I can't view the man pages...

All packages come with the full original documentation if it exists. However they are configured to install their man pages under /usr/freeware/... which is a non-standard location to search for man pages. To make this work, you must tell the man program to search there.

You may do it either by setting MANPATH using something like:

    % setenv MANPATH /usr/freeware/catman:/usr/freeware/man:\
(note the added /usr/freeware/catman location).

Or simply follow the instructions on the SGI IRIX Freeware web page which recommend running the utility fixpath. fixpath is included with every package as fw_common.sw.fixpath. You should run fixpath only once to update your personal startup files. Once you run fixpath you should re-login for it to take effect (or directly execute your fixed startup files (e.g: source ~/.cshrc)) from your shell.

Q1.3: Some packages are too big to download...

HTTP implementations seem to time out and fail on slow links and big files. The symptom is getting a timeout or some error message like "premature EOF" from Software Manager during the unpacking of the tardist file.

Good solutions are to use FTP instead of HTTP, or to use a local mirror of the freeware archives.

You may access SGI/freeware via FTP using any of the following methods:

Q1.4: I get this error after installation: (/bin/sh: ... not found ...)

Some very old freeware packages produce this error message during installation:
/bin/sh: \//usr/freeware/relnotes/shared/  not found
ERROR: Command "( \\$rbase/usr/freeware/relnotes/shared/ )"
failed (return status 127, subsystem 1022574820)
You may safely ignore this message. This is an old package (from Freeware release 6.2). Some of these old packages were not re-packaged for the current Freeware release. Instead, they were simply recycled "as-is". The error is benign and is a result of a typo in the exitop. The software itself should run fine.

Q1.5: I'm getting "missing prereqs"...

Unfortunately the freeware distribution doesn't give you any "free" required packages. When you install Linux or IRIX the base runtime environment gives you lots of packages and libraries all at once, so you normally don't see those dependencies when you install new programs. By its nature the freeware distribution tends to expose these dependencies. We don't make them up, honest! The only prerequisites in a package are those the original authors added. If you don't install the prerequsites something will fail at run-time, usually in an ugly way.

Too many prereqs

There are a couple ways to reduce the pain of downloading lots of prereqs. First look to see if you are installing optional subsystems that you don't really want, for example a GNOME-based user interface when a simpler GTK-based one will do, or optional plugins to extend functionality. If all the dependencies are necessary you still have a few options:

  • Open the entire distribution. Either download it or (if you have a fast and reliable network connection) install directly from the merged CD directory with "inst -f" (Note that there have been reports of inst problems doing net installs on pre-6.5.16 systems.)
  • Use the online prereq calculator to see which packages you need.
  • Use a selections file to see some common download bundles.

When installing on IRIX 6.2

That's because the current freeware distribution is built for IRIX 6.5. See Q3.2 below for more information.

Q1.6: Can I install freeware in a different directory?

This question is often being asked by people who don't have superuser permissions and/or whose sysadmin disabled tardist on their system so they cannot install into /usr/freeware via the web, or something similar. Unfortunately, the answer to this is no. Many packages are preconfigured to look for files in certain directories so moving them will simply break them. While some packages may not be sensitive to locations we simply don't have the resources to support such feature by creating alternate distributions.

Note that if you are short on disk space you can move the /usr/freeware directory to a different location; just make sure to leave a symlink behind so that the original path names still work. Moving individual subdirectories of /usr/freeware may or may not work.

Q1.7: Where can I find eoe.sw64.lib?

The clever answer is that if the Software Manager had to ask, then you probably don't need it after all.

First a little background: IRIX supports three different calling conventions: -o32 (which is basically obsolete), -n32 (the default, which is usable everywhere), and -64 (only usable on systems with an IRIX64 kernel, where "uname" returns "IRIX64"). The freeware "sw64" subsystems contain 64-bit versions of the same programs and libraries that are in the regular "sw" subsystems. They install by default on systems capable of running 64-bit programs, but rarely do anything differently. Very few programs actually require 64-bit addresses or bother to use the 64-bit library routines when available. Mainly the subsys are present for people who want to cross-compile 64-bit programs on 32-bit systems.

So if you get a conflict message installing freeware that says you also need to install eoe.sw64.lib a very plausible resolution is to not install ("keep") whatever subsystem had this prerequisite. If you really want to load that subsystem you'll need both your base IRIX 6.5 CDs plus the IRIX 6.5.x overlay disks for the release you are running. The same logic applies for x_eoe.sw64.eoe and ifl_eoe_sw64.eoe.

Q1.8: What causes "chcap: Function not implemented"?

You may be trying to set capabilities for a file (e.g. /usr/freeware/sbin/mysqld) that's stored with efs or some other file system that doesn't support attributes. Check the output from "/sbin/mount" to see what type of filesystem you're using. If necessary move the file to an xfs file system and try again.

Q1.9: Why do I get conflicts with "fw_common.sw.security_fixes(Freeware security fix checks)"?

The conflict message which you receive is an intentional indication inserted into the fw_common package to inform you that there is some known security vulnerability in a Freeware package. It is up to you to decide whether this vulnerability is an actual problem in your situation (i.e. your particular system configuration may or may not be vulnerable).

If you decide that the vulnerability in the package is something you can accept, you should elect to not install fw_common.sw.security_fixes. If you decide that the vulnerability in the package is something that cannot stay on the system, you should elect to remove the package.

Installation of fw_common.sw.security_fixes does not actually fix any security vulnerabilities (despite its name). Instead, this is an empty package which exists solely to generate this type of conflict message as a warning that there is a known issue with the indicated package.

Run Time problems

Q2.1: prog: rld: Fatal Error: (library version mismatch)...:

If you get an error message like this when running a package the runtime linker is having problems finding the right versions of libraries:
    gnuplot: rld: Fatal Error: object from liblist in gnuplot
    has version "sgi1.0", which does not match the found object:
    /usr/lib32/ (with version "sgi2.0")

There are two possible solutions.

  • Best: Upgrade to a more recent version of
  • Fastest/simplest (csh/tcsh example): Tell rld to ignore versions in this particular case:
    alias gnuplot 'env _RLD_ARGS=-ignore_all_versions gnuplot \!*'
Substitute gnuplot with your failing program name if it is different.

Q2.2: prog: rld: Fatal Error: (cannot successfully map soname)...

Since May 2001 (when we dropped support for pre-IRIX 6.5 systems) freeware packages have been built with the MipsPRO 7.3 compilers. If you are running on IRIX 6.5.9 or earlier you must install the following patches or their successors:
  • patch 3742 (5 MB) -- c++_eoe (includes
  • patch 3743 (160 MB) -- fortran_eoe
  • patch 3911 (19 MB) -- compiler_eoe (except libmp)
  • patch 4330 (2 MB) -- compiler_eoe (libmp)
Failure to do so can result in various strange errors, such as rld complaining that it cannot find at runtime. Patches can be downloaded from Or you can upgrade to a newer IRIX 6.5.x release; upgrades in the 'm' stream are free.

If you get an error message like this when running a package the runtime linker is having problems finding libraries:

    prog: rld: Fatal Error: cannot successfully map soname
    '' under any of the filenames

This should not happen if you have all the prerequisite libraries installed, but if you suppressed some conflicts during installation or manually removed some libraries (without using inst) later you may run into problems like this. Or it could be that we forgot to declare some prerequisite library. Do "showfiles" and search the output for the missing library; then look to see if it exists on your system. If not, reinstall the package that contained it.

Q2.3: gcc can't find 'as'.

Please click on the name of the package in the download table (leftmost cell) to get to the brief release notes and follow them. In this specific case, it includes instructions on how to get the SGI assembler and linker which are not a part of gcc. (If you have installed fw_gcc the release notes will also be in /usr/freeware/relnotes/gcc.html).

Q2.4: Where is the xemacs binary?

You need to manually select and install either the "MULE-free" (fw_xemacs.latin1.eoe) or "MULE-fied" (fw_xemacs.mule.eoe) subsystem, depending on how much foreign language support you want. When installing xemacs click on the "Customize" button in the software manager, and click on the little folder icon next to XEmacs product. Select the subsystem you want and hit "Start".

This is fixed in the current release.

Q2.5: perl: rld: Fatal Error: attempted access to unresolvable symbol in...

This message will appear whenever you try to use DB_File or GDBM_File in perl5.6.1 (package version 1277898120). This is due to a build error. For DB_File this can be worked around by including the appropriate ABI version of /usr/freeware/lib{,32,64} in LD_LIBRARY{,N32,64}_PATH environment variable. There is no useful or general workaround for the GDBM_File bug except to revert to the previous version of fw_perl (perl5.005_03). This will be fixed in a future release.

For those interested in the details, Perl's "smart" configurator (which attempts to "DWIM": Do What I Mean) overrode the packager's "I know what I'm doing" configuration instructions, and got it wrong.

Q2.6: Cannot open '/dev/scsi/sc1d4l0' (or other devices)

By default IRIX devices are protected against access by casual users, so programs that attempt to use them (e.g. CD drives by fw_cdrdao and fw_cdrtools, tape drives by fw_amanda, or serial ports by fw_sane-backends) may fail. If you don't want to run as root you can change device protections by modifying /etc/ioperms as described in the ioconfig man page, but may compromise security if other devices are connected instead.

Q2.7: Cannot forward mail to programs

If your .forward file bounces mail saying you don't "have a valid shell for mailing to programs" you're probably running a freeware shell on IRIX 6.5.18 or newer, but have not added that shell to /etc/shells. In IRIX 6.5.18 SGI introduced a default /etc/shells file. sendmail has honored this file for a long time, but before 6.5.18 it generally didn't find it, and so allowed any shell to be used when forwarding mail. If you want to invoke binaries from .forward files you have a few choices:
  • Add the full path of your shell (not the binary you're invoking!) to the existing /etc/shells file. If /etc/shells doesn't exist you must have run into some other problem -- let us know.
  • Add "/SENDMAIL/ANY/SHELL/" to the existing /etc/shells file. This may be more lax than you really want.
  • Remove /etc/shells. This will make sendmail behave as above, but is discouraged.
See the shells man page for more information.

If sendmail is failing for some other reason you should check the documentation on, particularly the information on sendmail security checks.


Q3.1: Could you please add package X?

Thanks for the request. All the open source packaging is done by volunteers so we cannot promise anything. Your request is noted and it is possible that someone would volunteer to contribute it. You may want to build it yourself and send us a pointer to your package so others may benefit as well. If you don't have the SGI development tools you may use the GNU compiler which is available in our recent distributions. If you do, please check-out the Notes on building open source packages on IRIX document.

Occasionally we get requests for packages that, for one reason or another, we cannot add to our freeware distribution. In these situations we simply add pointers to such software which was built and distributed by other kind people. Try following the "More Freeware" link from the top SGI/Freeware page.

We sometimes get requests for stuff that comes standard on IRIX like gzip or rcs. Please check your IRIX CD's, maybe what you want is already there... Specifically, RCS should be found in eoe.sw.rcs.

Q3.2: How about packages for older IRIX versions?

Due to limited resources, new open source packages are built on IRIX 6.5 (which has been out since 1998...) so they should install and run on IRIX 6.5 and up but not on older versions. You may find newer versions of these packages on the net, in places like

Freeware distributions through May 2001 were built on IRIX 6.2. Packages built prior to August 2001 should install and run on IRIX 6.2 and up. The May 2001 distribution is still online. An even older open source release (called Freeware 1.0) was built on IRIX 5.3 and is also available online.

Note that these older versions are not being actively maintained, enriched, or updated. If you run older IRIX versions on relatively new hardware (Indy, Indigo2, Challenge, Origin), we highly recommend upgrading IRIX to a latest version. IRIX 6.5 is a very stable, fast, well supported, multi-platform, and feature rich version of IRIX.

Q3.3: How can I order a set of freeware CDs?

Unfortunately, these CDs are goodwill freebies. They are not in our price book and we do not sell them so you cannot order them. But there are a few ways around this:

Q3.4: What is package X? How do I run/configure it?

We try (but cannot commit) to provide a short description of the packages on our web site. Click on the name of the package to get to the brief description. Some basic questions can be avoided by clicking on the name of the package on the leftmost cell in the download table (note that this is different than the Download button or the rightmost cell).

Our volunteers normally build and package the software and give it some testing but we do not provide documentation beyond what comes standard in the package. You may want to contact the original authors and ask for better docs. See also Q1.2.

Q3.5: Where is the source?

The source for nearly all packages is included in a non-default src subsys. To get the original source plus any changes we made locally start to install the package as usual, but press the "Customize" button in the Software Manager. Click on the little folder icon next to the main package to expand it, and then select the source subsystem for installation and press "Go". The source tarball and a diff file will be placed under /usr/freeware/src.

The contents of the src subsys are also available at Or you can obtain source from the original authors, just as we did. The package release notes often give a URL for the package home page.

Q3.6: Is freeware Y2K compliant?

In general: SGI can not guarantee the Y2K compliance of these packages since they are not written nor maintained by SGI. Also, we have no resources to do Y2K testing as we do for IRIX. If this issue is critical to you we recommend you devote the resources to scan the included source and report bugs to the original maintainers (not SGI). See also Q5.1.

Q3.7: I want to contribute to SGI/freeware...

Thanks very much for the offer. This is highly appreciated. We have a few reasons why we don't just take precompiled packages from external contributors:

  • Security (obviously)

  • Adherence to pretty elaborate build conventions + process (which are unlikely to exist in external builds):
    • IRIX 6.5 and up runtime backward compatibility
    • Using our latest compilers + patches
    • n32 builds with full optimizations
    • Install in standard places that don't clash with existing SW
    • Taking care of dependencies and/or clashes with shared libs
    • Various additional automatic checks of the packages

What you can do is port software to IRIX and send any patches to the official maintainers (and to us). If you distribute your own packages please do not install them under /usr/freeware, or give them names beginning with "fw_". If you do it's likely to cause trouble if/when we eventually add it to our distribution.

To help other SGI users without endorsement we do, however, refer to external packages using links from our web site. If you could place your contributed package out on the net and send us a pointer, we'll gladly add a link to your contributed freeware from our web site's More Freeware section.

Q3.8: How can I compile with a freeware library?

Basically you need to tell the compiler where to find the header files, you need to tell the linker where to find the libraries at link time, and you need to leave some hints where the run-time loader can find shared libraries at run-time. See the individual library package release notes for any additional details.

Include the following flag on your compile lines to tell the compiler where to find the library's header files:

  • -I/usr/freeware/include
Including the following flag on your link lines will cause the linker to correctly find the library's archive or shared object files at link time.
  • -L/usr/freeware/lib32 (if using n32 ABI)
  • -L/usr/freeware/lib64 (if using 64 ABI)
The -L flag must appear on the link line before any -l flags.

Note that order is important! If you search /usr/freeware/include before /usr/include, you should also search /usr/freeware/lib32 before /usr/lib32. Putting the freeware paths before the standard system paths and using all possible freeware libraries will reduce trouble.

Also it is a good idea to include the following flag on your link lines:

  • -rpath /usr/freeware/lib32 (if using n32 ABI)
  • -rpath /usr/freeware/lib64 (if using 64 ABI)
This flag will help rld locate the shared object library files when the application is run. This is useful since the shared objects are stored in /usr/freeware subdirectories, which are not on the run-time linker's default search path. Since the freeware distribution does not support installation in non-default directories many of its shared libraries already have an RPATH attribute set, so often you can safely omit -rpath when linking your applications. But not all libraries do this and it's bad form, so set -rpath when linking your binaries.

Finally, if you are building an installable package for inst (contributing to freeware, for example) be sure to prereq this package. Get the lower bound for the prereq range from the installed package, and use 1289999900 for the upper bound. (If this doesn't make sense then it's probably not something you need to know; don't worry about it!)


Q4.1: What freeware images do I need to install to run GNOME?

There are a lot! The current archive contents are a "top-of-tree" snapshot of GNOME taken roughly at the end of September, around the time that GNOME 1.4.1 was being released.

An easy way to download what you need is with the inst-get script. It's not fancy, but it will try to fetch all the freeware prereqs for a given package. It uses wget to download files, so you must install that first.

Alternatively, we've included an inst selections file that installs all the prerequisites you need after you manually download them. Just install fw_common.sw.selections, and follow the instructions in the files: /usr/freeware/selections/.

If you want everything related to GNOME you'll need the packages listed alphabetically below. This data was extracted from the graphical and text descriptions of the freeware prereqs.


If you choose to install some of the non-default variants you may need other images too, like fw_socks5. Also note that the fw_ImageMagick.sw.plugins subsystem has many additional requirements not included above.

Images that aren't strictly part of GNOME, but which have GNOME support or are otherwise related, include:

  • fw_Eterm
  • fw_abiword
  • fw_gaim
  • fw_galculator
  • fw_pan
  • fw_rxvt
  • fw_xmms

Q4.2: How can I start GNOME automatically at login?

This is covered in the GNOME Users Guide, which should be installed in /usr/freeware/share/gnome/help/gnome-users-guide/C/index.html on your system. Basically put
    exec gnome-session 1>.xsession.log 2>&1
in your .xsession file. The default IRIX script is in /var/X11/xdm/Xsession if you want to duplicate parts of your IRIX setup.

Q4.3: Why do I get BadMatch errors, crashes, blue-on-blue text, etc.?

Many Linux systems use a single X visual and colormap for all windows by default; IRIX doesn't. As a result there are a variety of bugs lurking in the source code where programmers have, for example, allocated colors in the wrong colormap or assumed that all windows have the same depth. Try making your default X server visual 24-bit TrueColor by adding "-depth 24 -class TrueColor" to /usr/lib/X11/xdm/Xservers. (Run xdpyinfo first to make sure your server supports this visual, and be sure to restart the X server after making a change. Logging out may not be enough!)

Q4.4: How can I make enlightenment run faster?

There are many options in the configuration page. The Pixmap theme in particular is very sluggish on older machines; avoid it.

Q4.5: Why are sounds garbled or noisy?

These problems are thought to be solved, but if you run into them you may have better luck by forcing esd to start in 8-bit mode.

Q4.6: Why don't gtop and other system monitoring tools work?

The libgtop library is very system-specific, and has not been ported to IRIX. As a result nearly all of its functionality is stubbed out.

Known Package Replacement Histories

Q5.1: What packages are known Y2K fixed?
As has been previously stated, we do not officially test for Y2K compliancy; we only fix the problems as they are reported. Again, this goes back to our core mantra "If we don't know it's broken, we can't fix it" so please email a report of any problems you encounter to us!

The following packages are Y2K fixed packages, and their release date:

  • fw_elm, February 2000
  • fw_sc, February 2000

Q5.2: What packages have been replaced or obsoleted?
Here's our known list of replacements or obsoletions, and the release where they took effect :
  • fw_bladeenc, dropped for legal concerns, May 2002
  • fw_cdrecord, absorbed by fw_cdrtools, February 2002
  • fw_colorls, replaced by fw_fileutils, February 2000
  • fw_cyrus-sasl, dropped in favor of fw_cyrus-sasl2, August 2003
  • fw_db4-NoCrypto, replaced by fw_db4, August 2003
  • fw_egcs, absorbed by fw_gcc 3.0, August 2001
  • fw_galeon, dropped because of bit-rot, August 2003
  • fw_gnome-admin, absorbed by fw_gnome-utils, August 2000
  • fw_gnomehack, dropped as obsolete, August 2002
  • fw_libstdc++, absorbed by fw_gcc 3.0, August 2001
  • fw_mkhybrid, absorbed by fw_cdrtools, February 2002
  • fw_mkisofs, absorbed by fw_cdrtools, February 2002
  • fw_mozilla-src, absorbed by fw_mozilla, November 2002
  • fw_vnc, replaced by fw_tightvnc, August 2002

Q5.3: What packages have been renamed?
Here's a partial list of recent name changes, along with the release where they took effect :
  • fw_abi became fw_abiword, November 2001
  • fw_elisp-intro became fw_emacs-lisp-intro, August 2002
  • fw_libgphoto2 spun off from fw_gphoto2, May 2003
  • fw_mswordview became fw_wv, November 2001
  • fw_phoenix became fw_mozillafirebird, August 2003
  • fw_sane split into fw_sane-backends and fw_sane-frontends, November 2002
  • fw_users-guide became fw_gnome-user-docs, November 2001
  • fw_xntp became fw_ntp, August 2001