This directory contains sources for the XView and olgx libraries, an X Window System graphical user interface toolkit needed by WAVE and SEMIA. Also available here are binaries for several popular platforms.
An outstanding resource for information about these libraries is a set of three books available freely from O'Reilly's Open Books Project.
Important note for users of 64-bit CPUs
There is no 64-bit version of XView, and it is unlikely that one will be produced. Although a port of XView to 64-bit architectures was reported in progress as of April 2006, this effort appears to have stalled. Unfortunately, the changes that would be required to create a 64-bit version are very extensive, requiring an effort that would be similar to starting from scratch. Fortunately, 64-bit platforms can run XView in 32-bit compatibility mode.
Warning: Work-around required when using some recent X servers
Beginning in version 10.6, the standard Xorg server is severely incompatible with XView. This server is standard in Fedora 11 and Ubuntu 9.04, among others. The symptom of incompatibility is that the X server freezes if any XView control is activated by a mouse click. (If this happens to you, you may be able to regain control of your X session by killing the XView client, for example by logging in remotely, or by switching to a text console.) The cause of the problem appears to be a broken interaction between the X server and the XView Notifier (event dispatcher).
It is possible to work around this problem by adding the -Wfsdb option to the command line. This option, which disables full-screen grabs, is interpreted by the XView library initialization code, not by the application code, so it should work for all XView applications. See this page for details and other suggested workarounds. Thanks to Michael Buro for this tip!
Beginning in version 6.10 (October 2009), WAVE includes code that disables full-screen grabs, thus avoiding this problem.
Requirements for the X server
XView applications need a few resources commonly provided by X servers. Since an XView application running on a remote machine may be displaying its output on a local machine, it is important to understand that the local machine is running the X server, and that it needs to provide these resources:
Open Look glyph fonts
Xview applications require the Open Look glyph fonts on the X server. Although these fonts are usually installed by default, they may be missing on some platforms (as on Fedora 10, for example). If the Open Look glyph fonts cannot be read by the X server at run time, XView applications will quit after emitting an error message similar to:
(Font package) (Cursor package) XView warning: invalid object (not a pointer), xv_get X Error of failed request: BadFont (invalid Font parameter) Major opcode of failed request: 94 (X_CreateGlyphCursor)
If this happens, install the missing fonts. On Fedora (and possibly other platforms), use this command to do so:
yum install xorg-x11-fonts-misc
Otherwise, download the files located in the fonts subdirectory, and install them in your X server's miscellaneous fonts directory (the location varies but may be /usr/share/X11/fonts/misc/ or /usr/X11R6/lib/X11/lib/fonts/). You may need to run fc-cache (or fontconfig) after installing the Open Look fonts manually.
The default text fonts expected by all XView applications are the Lucida fonts contained in lucida-fonts.tar.gz. Most X11 servers come with these fonts, but if they are missing, you will most likely see
(Font package) (Font package) (Server package)
when you try to run an XView application. If this happens, you have two choices:
Add the option -fn fixed to the command line needed to run the XView application. For example,
wave -r mitdb/200 -a atr -fn fixed
The font named fixed has been present since the very first release of X11. You may substitute any other installed font (use xlsfonts to find out what you have), but "fixed" should always work.
Download the Lucida fonts, install them, and make sure that the X server knows how to find them. On Fedora 10, simply download and install the Fedora 9 rpms containing the Lucida fonts, using the command
yum install xorg-x11-fonts-100dpi xorg-x11-fonts-ISO8859-1-100dpi \ xorg-x11-fonts-75dpi xorg-x11-fonts-ISO8859-1-75dpi
On other platforms, the packages containing these fonts may have different names; if you cannot locate suitable packages, download and unpack lucida-fonts.tar.gz, run mkfontdir in each of the two directories (75dpi and 100dpi created by doing so, and then add these directories to the X server's font path (for example, using
xset +fp /path/to/75dpi xset +fp /path/to/100dpi
The FreeBSD port of XView, including olgx, is available from the FreeBSD Project.
XView for RPM-based distributions (Red Hat, Fedora, CentOS, Mandriva, SuSE)
The binary XView RPMs in the i386-* subdirectories of this directory are usable with Fedora Core and with Red Hat Linux 4.0 through 9.0 (and later) on Intel x86, and those in the alpha subdirectory with RHL 6.x and 7.x on Alpha systems. Early versions of Red Hat Linux came with binary XView RPMs that were compatible with the X11 and libc packages in those earlier versions. To install XView under Fedora or Red Hat Linux download xview-* from the appropriate directory (i386-5.x for RHL 4.x or 5.x on Intel, i386-6.x for RHL 6.x on Intel, i386-7.x for RHL 7.x on Intel, i386-8.x for RHL 8.x or 9.x, i386-Fedora for Fedora on Intel, or alpha for RHL 6.x or 7.x on Alpha), then install XView using the command
rpm -Uvh xview-*
If you are using Red Hat Linux 5.0 or 5.1, we recommend that you upgrade to a current version if possible. If this is not possible, you should link against the static versions of the XView libraries (libxview.a and libolgx.a) rather than the dynamic versions, which have known incompatibilities with Red Hat Linux 5.0 and 5.1.
XView packages for a number of other RPM-based GNU/Linux distributions, including x86 and PPC Mandriva 9.x and 10.x, and x86 SuSE 9.x, can be obtained from rpmfind.net.
Important note for Fedora and other version 2.6 kernel distributions
Please be sure to use the i386-Fedora (or i386-FCn) RPMs if you can, or rebuild XView for your platform from the most recent sources in the src subirectory.
Two types of ptys (pseudo-terminal devices) have been supported by most GNU/Linux distributions until recently. Traditionally, XView has used BSD-style ptys to implement text windows and terminal emulator objects such as WAVE's analysis commands window. Most recent GNU/Linux distributions based on version 2.6 kernels, including Fedora Core 2 and later, support only the newer UNIX98 (SVR4-style) ptys. Although the i386-8.x XView RPMs can be installed on these platforms, they will cause XView-based applications to crash whenever a text or terminal window is opened, generally with an error message such as All pty's in use. The newer i386-Fedora RPMs use UNIX98 ptys and therefore do not cause this problem; they have been compiled from xview-3.2p1.4-21.fc5.src.rpm (for versions FC5-FC6) or xview-3.2p1.4-21.1.fc8.src.rpm (for versions FC7 and later).
If you are using Fedora 8, 9, or 10, or any distribution that includes X.org's libX11 version 1.1, you will need to use the i386-FC8 RPMs (or to compile XView from the sources included in xview-3.2p1.4-21.1.fc8.src.rpm) to avoid XAllocID runtime failures in XView applications. These RPMs are also compatible with the earlier libX11 version 1.0 (as in Fedora 7).
XView for other GNU/Linux distributions
Debian and Ubuntu packages for XView are available from the usual sources (e.g., www.debian.org in the stable, testing, and unstable branches under X Window System software); look for xviewg, xviewg-dev, xview-clients, and xview-examples. Debian XView packages are available for most 32-bit CPU types supported by Linux, including Alpha, ARM, i386, HP-PA, 680x0, big- and little-endian MIPS, PowerPC, S/390, and Sparc.
On 32-bit Debian (or Ubuntu, etc.): Download and install the packages by:
sudo apt-get install xviewg xviewg-dev
(The other packages, xview-clients and xview-examples, are optional and not needed in order to compile XView applications.)
On 64-bit Ubuntu: Defective 64-bit packages are available in the Ubuntu repositories. Avoid using them, because the 64-bit XView library will not work at all and will cause crashes if linked to applications. The best choice on 64-bit Ubuntu is to disable use of the Ubuntu repositories temporarily and enable the Debian repositories in /etc/apt/sources.list, and then to get and install the 32-bit xviewg and xview packages.
Elliot Sprecher reports that XView can be obtained for Linspire from the CNR Linspire site.
Thanks to Ben McClelland for reporting that Cygwin 1.7 includes working XView packages. Simply select the xview-devel package in Cygwin's setup tool and all of the necessary components will be installed painlessly. We no longer recommend using the XView packages available here with any modern version of Windows; they may be useful if you are still using Windows 95, 98, or ME, which are not compatible with Cygwin 1.7.
Although XView was originally developed by Sun, it has been deprecated and the last XView packages released by Sun as the OpenWindows SDK were for Solaris 8. These have been repackaged and extended for Solaris 9 and 10 (both Sparc and x86 versions) by Vincent Cojot as the OpenWindows Augmented Compatibility Environment (OWacomp); follow these instructions to download and install OWacomp for current versions of Solaris.
On older versions of Solaris, and on SunOS, install Sun's OpenWindows SDK.
If your operating system and CPU combination does not appear in this list, no binaries are currently available for it. Try a Google search for "xview hpux", "xview irix", etc., or check in the comp.windows.open-look and alt.toolkits.xview newsgroups to see if an XView port is available for your platform. Alternatively, you may wish to try compiling your own binaries from the free sources available in the src directory.
Your contributions are welcome! If you have created working XView libraries for other operating systems or CPUs, please contact us to arrange for your binaries to be posted here.
The src subdirectory contains the sources that were used to compile the various XView packages available in the other subdirectories.
The most recent set of sources (xview-3.2p1.4-18c.tar.gz) contains the UNIX98 pty patches, additional updates from Debian, and further patches by Isaac Henry of PhysioNet to permit the package to be compiled under MS-Windows. Use this as a basis for further work.
The source RPMs were used to compile the older versions of XView for GNU/Linux that are available here.