x3270 Build and Install Instructions

Vanilla X11R5 or X11R6

x3270 was developed on a Sun workstation running SunOS 4.1.3_U1 and MIT X11R5. It is set up to build and install without modifications under any complete X11R5 or X11R6 implementation.

A "complete" R5 or R6 implementation means that xmkmf and imake are configured and installed on your system, and that the Xaw and Xmu libraries and header files are installed. Some vendors (HP and IBM in particular) consider these optional software and do not always install them.

If you are running vanilla X11R5 or X11R6, then the build procedure is:

    xmkmf		# create a Makefile
    make depend		# add dependency information
    make		# build x3270 and its fonts

x3270 prefers that its fonts be installed in order to run. However, a script is provided for testing a local copy of x3270 in the current directory:

    ./dryrun		# test x3270

Once you are satisfied that x3270 is working, you can install it (as root) with the command:

    make install

Before running x3270, you will also need to (once):

    xset fp rehash

That's the easy way. Here are the exceptions:

IBM RS/6000, AIX 3.2, X11R5

AIX X11R5 does not include does not include xmkmf or imake, but it includes the source code for them. If these have not been built and installed on your system (e.g., if there is no such file as "/usr/bin/X11/imake"), you must first build and install them by following the instructions in /usr/lpp/X11/Xamples/README.

Once these have been installed, you can use the standard X11R5 build procedure above.

HP-UX A9.01, X11R5

HP's X11R5 distribution does not include the Xaw libraries or header files. As HP's X man page says,
A number of unsupported core MIT clients and miscellaneous utilities are provided in /usr/contrib/bin. In addition, the entire core MIT distribution, compiled for Hewlett-Packard platforms, can be obtained from HP's users group INTERWORKS for a nominal fee. See the release notes for details.
What you need is the Xaw and Xmu libraries, imake, and xmkmf. Then you can follow the vanilla R5 build and install instructions.

Sun Solaris 2.x

Follow the instructions for Vanilla X11R5, with the following two changes.

Sun's 'xmkmf' configuration puts some compiler flags in the Makefile that are specific to Sun's unbundled C compiler. If you are using a different C compiler such as gcc, you may get a number of harmless, but annoying error messages while compiling. To eliminate these, use the command:

    make "CDEBUGFLAGS=-O" "CCOPTIONS=-DSYSV -DSVR4"

'xmkmf' also gets the path of the 'install' program wrong. To install x3270, you must use the command:

    make INSTALL=/usr/ucb/install install

To run x3270, you must have your LD_LIBRARY_PATH environment variable set properly. First, it must include /usr/openwin/lib. Also, if you are using Sun's BSD-compatibility C compiler, /usr/ucb/cc, you must also use include /usr/ucblib. See the "dryrun" script for details on how to do this.

Systems Based on System V, Release 4

Before running xmkmf, you must uncomment a line in the Imakefile to include the network libraries:
  EXTRA_LIBRARIES = -lnsl -lsocket

Mixed X Environments

If you are running a mixture of X environments, such as running a Sun XNews server but using X11R5 libraries and header files, the supplied Imakefile may not work properly, because it assumes that your server and libraries are of the same type. This is not an impossible situation, just a difficult one. It generally means that you will have to build and install the fonts separately, perhaps even by hand.

Building Fonts for X Terminals

The Imakefile that comes with x3270 assumes that you plan to run the x3270 client on the same workstation as your X server. Therefore it builds fonts for that kind of X server. Compiled fonts (.snf or .pcf files) are not compatible between different servers, so if you run x3270 with its display somewhere else (such as on an X Terminal), you will need to compile the fonts for that server. It is impossible to give comprehensive instructions here; however, here is an outline for how to do it:

SCO Open Desktop 3

You will need to edit a few files in order to build under SCO Open Desktop 3.

In globals.h, remove the "#define NO_SYS_TIME_H" that is defined for sco.

In Imakefile, add:

	EXTRA_LIBRARIES = -lnsl_s -lsocket
Also be aware that x3270 requires the Athena Widgets library, which is available from sosco.sco.com.

Using an app-defaults File

Earlier versions of x3270 required a separate app-defaults file. The app-defaults file contains definitions for options, text strings, fonts, colors, etc. The file allows x3270 to be reconfigured without recompiling by simply editing the file.

Unfortunately, using an app-defaults file is a pain. The mechanism for finding the file is so flexible as to be almost incomprehensible, and it is difficult to run the program without doing a full installation, requiring root access to your system. Also, the app-defaults file generally changes whenever the program changes, and making sure that x3270 finds the correct app-defaults file compounds the above problems.

Starting with version 3.1.0.0, x3270 no longer uses a separate app-defaults file. Instead, the file is compiled into x3270 itself. If however, you prefer to have a separate app-defaults file, you can compile x3270 to use it.

First, you must decide whether you want app-defaults for a color display or a monochrome display. The default is color; if you want monochrome app-defaults you must edit Imakefile and un-comment the line under the comment "Rule for building a separate app-defaults file...".

Then you need to edit Imakefile, and un-comment the lines under the comment "To use a separate app-defaults file...". Then, if you are using Imakefile, do the following:

	xmkmf
	make depend
	make clean
	make