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
X11s 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 Build Daemon user on July, 28 2004
using texi2html