A. Installation and Troubleshooting
Compiling and installing the package should be straightforward. If any problems
occur, please contact the author (Thomas.Nau@rz.uni-ulm.de) to find
a solution and include it into the next release.
A.1 Compiling and Installing
This section covers the steps which are necessary to compile the package.
A.1.1 Editing config.h
Most X11
related options are automatically covered by imake
which is called from xmkmf
. The ones special to Pcb
have to be edited in `config.h'.
In order of appearance:
- `INFOLIBDIR'
- must be set to the directory where your GNU info files are located.
- `/usr/X11R6/lib/X11/pcb'
- is the path of a directory where the font files will be installed.
- `DEFAULTFONT'
- the name of the default font file.
- `DEFAULTLIBRARY'
- the name of the default library.
- `m4'
- the name of GNUs m4 version.
- `Mod1'
- If your window manager has already bound Mod1 together with some
function keys you may want to change this setting. This is true for HP-VUE.
- `EXTRA_INCLUDES'
- Some systems do not have the Athena Widget include files in their normal
place as configured by
X11
s config files. Define this as follows:
| EXTRA_INCLUDES = -I/usr/openwin/share/include
|
This is probably true for Suns which use OpenWindows
.
- `PATCHES'
- This symbol is passed to the compiler. Use it to define additional compiler
flags.
Add the -DNEED_STRDUP flag, if your system does not have a strdup()
library function.
- `HAS_REGEX'
- Set to -DHAS_REGEX if your system supports regular expressions.
This enables the actions Select(*ByName).
- `EXITCALL'
- The symbol EXITCALL should be defined according to the
call on exit functions supported by your system. There are three
choices:
| EXITCALL = -DHAS_ATEXIT if atexit() is supported (SYSV)
EXITCALL = -DHAS_ON_EXIT if on_exit() and no atexit() is supported
EXITCALL = if none of them is supported
|
Please check your manpages for details.
- `SYS_LIBRARIES'
- This symbol is used to pass additional libraries to the linker. The only
additional libraries which are used are the math and lex library.
If you have to make system dependent changes please include them into a
#ifdef Architecture ... #endif construct and mail a copy to
the author (Thomas.Nau@rz.uni-ulm.de).
Now run xmkmf -a
which creates the `Makefiles' and runs
make depend
. This should finish without any problems except some
systems which complain about missing include files. Don't worry about any
such warnings at this time, the package should compile without any problems.
A.1.2 Manuals
After xmkmf -a
has created the new `Makefile' you are able to
create the manpages, the application resource, the info file, the
TeX
output and a reference card by executing
| (cd doc; make)
(cd src; make Pcb.ad)
|
You'll need TeX
, texindex
and, if you want PostScript
,
dvips
to build the manuals. Preformatted documentation for the
default configuration may be found in the `./doc.ps' directory.
A simple make builds everything.
Generate a printed copy to make your life easier.
TeX-3.0
failed, TeX-3.14
worked just fine.
A.1.3 Compiling the Package
After reaching this point, it is time for make
. It should build
everything without any errors.
If it doesn't refer to A.2 Troubleshooting.
You have to be root to install the package or at least a user with
the appropriate priveleges in some X11
directories. Set the umask to
022 or else some files will not be found because the directory isn't
world readable.
If you do not have the appropriate permissions you should run
`./pcbtest.sh' in the `src' directory to run Pcb
from
the installation directory.
make install
and make install.man
install the program,
the fonts, the application default resource file, all element and package
data as well as the manpage into the X11
directories.
make install.info
does the same for the GNU
info file.
A.2 Troubleshooting
There are some known problems. Most of them are related to
missing parts of a standard X11
distribution. Some others are caused by
third party applications such as X
servers. To make this list more
complete please mail your problems and, if available, solutions to the author.
The mail address may be found at the beginning of this chapter.
In any case, read A.2.8 Problems related to X11.
By the way, you MUST HAVE AN ANSI COMPILER
to make Pcb
work.
If the shell script create_sed_script.sh
fails with an error
of awk
check your system for nawk
or get the GNU gawk
.
See the script for details.
Another source of problems are older versions of flex
and bison
.
Pcb
definitely works with flex-2.4.7
and bison-1.22
or
later. The problems will result in a syntax error while parsing files.
You will have to add -lfl to the SYS_LIBRARIES identifier in
`Imakefile'. See also, A.2.7 FreeBSD and NetBSD.
The following list gives you just an idea because I'm not able to test
all Pcb
releases on all platforms.
A.2.1 HP Series 700 and 800
You have to install several X11
tools (imake
) and include files
or, better, install a complete X11R5
release. Hewlett-Packard doesn't
support the Athena Widgets. So the header files and libraries are missing
from the application media, but they are available as a patch.
They also do not ship the ANSI
compiler with the normal operating
system release so you have to buy one or use GCC
.
Some of the tools are available as patches.
In addition, Pcb
has been successfully tested on these platforms with
HPUX 9.*, 10.*
running self-compiled X11R5
.
A.2.2 Sun SPARC architecture
There are no known problems with Sun machines if they use X11R5
instead
of OpenWindows
. Pcb
compiled successfully with all kinds of
SPARCstations Solaris-2.[345]
.
For problems with OpenWindows
refer to A.2.8 Problems related to X11.
If xmkmf
is missing, try
| /usr/openwin/bin/imake -DUseInstalled -I/usr/openwin/lib/config
make Makefile
make includes
make depend
|
instead. I got it compiled but the linker complained about missing symbols.
The problem may be related to the mixed OpenWindows
- X11R5
environment which is installed on the test machine.
Anyway the code was executable and I haven't got a core yet.
A.2.3 Silicon Graphics
Pcb
has been tested on some boxes running either IRIX-4.0.5
or
IRIX-5.3
. The former one uses a X11R4
server.
There are no problems except some additionally needed
compiler flags. For known problems
with X11R4
, see A.2.8 Problems related to X11. Check `Imakefile', too.
A.2.4 DEC Alpha
Pcb
compiled and runs without problems on DEC UNIX V3.2c
if you
do the following instead of calling xmkmf -a
:
| xmkmf
make Makefiles
make includes
make depend
|
A.2.5 SCO Unix
John DuBois <spcecdt@deeptht.armory.com> wrote:
| SCO-ODT-3.0 requires the latest version of tls003, the Athena
widget library (available from sosco.sco.com). The main problems
I have encountered are it core dumps fairly often, especially
while loading/dropping elements...
|
I'll see what I am able to do as soon as I have access to an SCO
system.
A.2.6 Linux
Since the X11
version of Pcb
has been developed on a Linux
system here are no known problems.
A.2.7 FreeBSD and NetBSD
If Pcb
complains about syntax errors even in the demo files get
rid of your lex
and yacc
implementation. Replace them by
GNU flex
and bison
. Don't forget to change the SYS_LIBRARIES
in `Imakefile' from -ll to -lfl. You also need to define:
| YACC = bison -y
LEX = flex
|
A.2.8 Problems related to X11
There are a some problems related to X11R4
or systems derived from
X11
such as OpenWindows
. See section A.2.2 Sun SPARC architecture. You at least have to change
all occurances of baseTranslations in the resource files to
translations if you are using a X11R4
server. Look at the
X11R5
Intrinsics manual for details.
The panner widget (print dialog box) appears only in release X11R5
and
later. It really simplifies adjusting the offsets.
With earlier releases the printout will always appear in the center of the
page.
You may have some problems in a mixed X11-OpenWindows
environment.
If you want to try it anyway you have to add an additional path for
include files and define another symbol in `Imakefile',
| EXTRA_INCLUDES = -I/usr/openwin/include
|
Pcb
has been tested successfully with X11R6
under Linux 1.1.59
and later.
A.2.9 Problems related to TeX
If your TeX
installation complains about a missing `texinfo.tex'
file copy the one included in this release (directory `doc'
to your TeX
macro directory.
Note, there are probably newer versions of this file available from some
FTP sites.
TeX-3.0
failed, TeX-3.14
worked just fine. Check our FTP server
ftp.uni-ulm.de for ready-to-print versions of the manuals.
This document was generated
by Michael Banck on April, 16 2004
using texi2html