# x3270 Additional Build and Install Instructions

This file describes build and install information specific to x3270. For general build information, look here.

## Installing 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

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

       xset fp rehash

## Vanilla X11R6

x3270 is set up to build and install without modifications under any complete X11R6 installation.

A "complete" installation means that besides the usual X and Xt libraries, the Xaw and Xmu libraries and header files are installed. Some vendors (HP, IBM, SCO) consider these optional software and do not always install them.

## Notes for Ubuntu

Additional packages needed to compile x3270 are:

- libx11-dev
- libxt-dev
- libxmu-dev
- libxaw7-dev
- xfonts-100dpi (must log out and log back in again after installing)

## IBM AIX

The default installation of AIX may also not include the bdftopcf utility, which may need to be installed separately as part of the X11.fnt.util package.

## HP-UX

HP's X11 distribution may not include the Xaw and Xmu libraries or their 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.

## Sun Solaris 2.x

To run x3270, your `LD_LIBRARY_PATH` environment variable must include `/usr/openwin/lib`.

## Mixed X Environments

The Makefile and Imakefile that come with x3270 assume that you plan to run the x3270 client on the same kind of workstation as your X server. If you are running a mixture of X environments, such as a Sun XNews server and standard X11R6 libraries and header files, or using an X terminal, the supplied Makefile and Imakefile may not work properly, because then assume that your server and libraries are of the same type. This generally means that you will need to build and install the fonts separately, using server-specific tools. It is impossible to give comprehensive instructions here; however, here is an outline of how to do it:

Copy all of the `.bdf` files from the x3270 directory into a new directory, say `XXX`.

cd into `XXX`.

For each `.bdf` file, run the server-specific version of bdftosnf or bdftopcf to create a `.snf` or `.pcf` file. For example, for to build an NCD font on a Sun-4, the command is:

       /usr/local/NCD/binSun4/bdftosnf 3270.bdf >3270.snf

Run the server-specific version of mkfontdir. For example:

       /usr/local/NCD/binSun4/mkfontdir .

Then tell your X server to use this directory:

       xset fp+ XXX
       xset fp rehash

## SCO Open Desktop 3

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, 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:

- For a color display, use `configure --enable-app-defaults`
- For a monochrome display, use `configure --enable-app-defaults=-UCOLOR`

## x3270-specific configure Options

The `configure` script accepts the following x3270-specific options:

`--prefix=prefix` | Install common architecture-independent files under prefix (defaults to `/usr/local`). By default, this affects only the configuration files. In combination with `--without-xmkmf`, this affects all files.
`--exec-prefix=eprefix` | Install common architecture-dependent files (executables) under eprefix (defaults to same as prefix). See the note under `--prefix`, above.
`--bindir=dir` | Install common user executables in dir (defaults to `eprefix/bin`). See the note under `--prefix`, above.
`--sysconfdir=dir` | Install configuration files (`ibm_hosts`, character sets) in `dir/x3270` (defaults to `prefix/etc`). See the note under `--prefix`, above.
`--enable-app-defaults` `--enable-app-defaults=-UCOLOR` | Use a separate app-defaults file, instead of compiling one into the x3270 executable. With the `=-UCOLOR` option, builds for a monochrome display.
`--with-fontdir=/full-path` `--with-fontdir=relative-path` | Install fonts in an alternate directory. If the parameter starts with "/", it specifies the full pathname of a directory. If not, it specifies a subdirectory of the usual font directory. The default is `misc`.