How to Install WorkMan

Prerequisites

WorkMan requires XView version 3 or higher. This is supplied by default on Sun systems (though you may have to select the "OpenWindows Developers" category from your SunOS or Solaris CD to get the necessary files for compiling) and is available as part of the "contrib" distribution in X11R5 and X11R6 for other systems. Some X11 distributions part libraries from the "development" files. The latter are required for compiling WorkMan.

Some of the Makefiles assume that OPENWINHOME is set to the Sun OpenWindows 3.x home directory. Some tweaking will probably be required if you're not using OpenWindows; OPENWINHOME is used to locate the XView include files and libraries. If you are searching for your OPENWINHOME path, try to find the subdirectories include/xview. On my Linux box it's /usr/openwin/include/xview. In this case, OPENWINHOME must be /usr/openwin.

Building

NOTE: If you are reading this document, you are trying to get WorkMan 1.3b-BETA running. If not, that means for any earlier version of Workman (up to 1.3a), this document is too new. Please read the documentation enclosed in your package.

How you build WorkMan depends on which platform you're trying to build it on. Please review the file config.h for compile time options like default CD-ROM device or Soundcard mixer support. config.h has several sections, for each platform one section. The first section to be found is "general options". In this section you can configure compile-time options that take effect on every supported platform (hopefully).

On most platforms, you can configure WorkMan to use a database library from 4.4BSD to look CDs up very quickly. More details on that below.

All Systems
After reviewing config.h, a simple "make" should do. If not, please report any problems.

I'm unsure about the functionality of the Imakefile. Please use this with caution. Any hints regarding the Imakefile are welcome.

Now following are the configuration/installation hints for WorkMan 1.3a. These may be out of date. If the above method doesn't work, please have a look at these older hints and tell me how you succeeded.

SunOS 4.x
Edit "Makefile.sun" and comment out the Solaris 2 lines (SOL2, LIBLOC, and EXTRA_LIBS). Then type "make -f Makefile.sun". You may want to use the "-e" option when you run WorkMan; see the manpage.

Solaris 2.x
If you're not using gcc, adjust the Makefile.sun accordingly. Then type "make -f Makefile.sun".

ULTRIX
NEWS-OS
BSD/386
FreeBSD
Run "imake" or "xmkmf" to convert the supplied Imakefile to a Makefile. Or edit the Makefile to point to the right directories.

HP-UX
Edit "Makefile.hpux" to point to the correct directories, then type "make -f Makefile.hpux" to build WorkMan. You may want to use the "-e" option when you run WorkMan; see the manpage.

Linux
At least with SuSE Linux 4.x , the supplied "Makefile" does the job. You may adjust some directories if you use other distributions. After reviewing config.h and the Makefile, a simple "make" should suffice.

SVr4 4.0
Edit "Makefile.svr4" to point to the right directories, then type "make -f Makefile.svr4".

OSF/1
Note: OSF/1 is not officially supported; the code is known to have problems on many systems. Edit "Makefile.osf1" to point to the right directories, then type "make -f Makefile.osf1". Note that this port is preliminary and there are known problems (see README.osf1 for details).

Using the libdb package

The follwing is Steve's writing on the libdb code. I did not change anything regarding this. It may not work now.

WorkMan can optionally make use of the 4.4BSD "libdb" package to speed up database lookups tremendously. Here's how to use it.

  1. For now, you have to get libdb separately; it's available on ftp.cs.berkeley.edu in /ucb/4bsd.
  2. Unpack libdb in the WorkMan source directory. A subdirectory called "db.1.85" will be created.
  3. cd db.1.85/PORT
  4. Have a look at the README file if you like.
  5. There are a bunch of system-specific directories in PORT. Look for the system name that most closely resembles yours. Go into it.
  6. make
  7. Go back to the WorkMan source directory (cd ../../..).
  8. Edit your system's Makefile, or the Imakefile if that's what you're using. You'll see a comment about libdb; the lines below that define some compiler options and the path to the libdb library. Uncomment those lines and make sure the paths point to the PORT directory you built libdb in.
  9. make (with appropriate arguments, e.g. -f Makefile.linux, for your system.)

If you have an old WorkMan database sitting around, you should build an index file for it; WorkMan itself only writes to the index file when you save or update a CD. There's a program called "buildindex" to build index files. Type "make buildindex" (specifying an alternate Makefile as appropriate) after you've built WorkMan. To run buildindex, just give it the path to your database file as an argument, e.g. "buildindex $HOME/.workmandb".

One thing to be careful of is using libdb on a database you're sharing via NFS on a system without working file locking. If you run WorkMan with the "-n" option to bypass the file locking code, you risk corrupting the index file if two people save CDs at once. If you're the only one using a CD database, or the only one with write access to it, you can safely use -n in conjunction with libdb; it's only when two or more entries are saved simultaneously that problems can occur. In that case the best solution is to bug your sysadmin, or your UNIX vendor, to give you working file locking.

Installing

Once the executable is built, install it in your favorite directory for such things. The file "workman.info" should be placed in the XView help directory, usually $OPENWINHOME/lib/help. If you put it somewhere else, be sure to set your HELPPATH environment variable to point to that directory. This is necessary if you want to use the Help key to see the controls' descriptions. Run "make install" to install everything under $OPENWINHOME. You will probably need to be root to do this.

Once all that's done, you're ready to rock and roll (or jazz, or...)


[WorkMan home page]
$Date: 1999/01/15 08:47:36 $