1993-12-21 18:36:48 +00:00
|
|
|
For special hints on setup/compilation/installation and other general
|
|
|
|
topics you may persue the files in the hints directory.
|
|
|
|
|
|
|
|
This file contains the usual instructions to compile and install the programs in
|
|
|
|
this distribution. To make these programs:
|
|
|
|
|
|
|
|
(0) Make sure that you have all necessary tools for building executables.
|
|
|
|
These tools include cc/gcc, make, awk, sed, tr, sh, grep, egrep and
|
|
|
|
a few others. Not all of these tools exist in the standard distribution
|
1994-02-03 22:09:07 +00:00
|
|
|
of todays UNIX versions (compilers are likely to be an extra product).
|
1993-12-21 18:36:48 +00:00
|
|
|
For a successful build all of these tools should be accessible via the
|
|
|
|
current path.
|
|
|
|
|
|
|
|
(1) By default, if there is no Config.local, the system will generate one
|
|
|
|
to support a local ref clock (i.e. run off the system clock).
|
|
|
|
Greenhorns can skip on to (2).
|
|
|
|
|
|
|
|
HACKers can create a Config.local and choose the compilation options,
|
|
|
|
install destination directory and clock drivers.
|
|
|
|
A template for Config.local can be found in Config.local.dist.
|
|
|
|
There are two Configurations that can be auto-generated:
|
|
|
|
make Config.local.local # network configuration plus local
|
|
|
|
# reference clock (the default)
|
|
|
|
make Config.local.NO.clock # network only configuration
|
|
|
|
|
|
|
|
To set up for a radio clock, type "make refconf" and answer the questions
|
|
|
|
about PLL, PPS and radio clock type.
|
|
|
|
If this is the first use of the ref clock, don't forget to make suitable
|
1994-02-03 22:09:07 +00:00
|
|
|
files in /dev/.
|
1993-12-21 18:36:48 +00:00
|
|
|
|
|
|
|
For custom tailored configuration copying Config.local.dist to Config.local
|
|
|
|
and editing Config.local to suit the local needs is neccessary (at most
|
|
|
|
3 lines to change), or use one of the make's above and then tweak it.
|
1994-04-21 00:33:33 +00:00
|
|
|
Config.local can also be used to override common settings from the
|
|
|
|
machines/* files like the AUTHDEFS= to select very specific configurations.
|
|
|
|
Please use this feature with care and don't be disappointed if it doesn't
|
|
|
|
work the way you expect.
|
1993-12-21 18:36:48 +00:00
|
|
|
|
|
|
|
(2) Type "make" to compile everything of general interest. Expect few or
|
|
|
|
no warnings using cc and a moderate level of warnings using gcc.
|
|
|
|
Note: On some Unix platforms the use of gcc can result in quite a few
|
|
|
|
complaints about system header files and type problems within xntp
|
|
|
|
code. This is usually the case when the OS header files are not up
|
|
|
|
up to ANSI standards or GCCISMs. (There may, however, be still some
|
|
|
|
inconsistencies in the code)
|
|
|
|
|
|
|
|
Other known problems stem from bugs/features/... in utility programs
|
|
|
|
of some vendors.
|
|
|
|
|
|
|
|
See section "build problems" for known problems and possible work-
|
|
|
|
arounds.
|
|
|
|
|
|
|
|
Each time you change the configuration a script that pokes your hard- and
|
|
|
|
software will be run to build the actual configuration files.
|
|
|
|
If the script fails, it will give you a list of machines it knows about.
|
|
|
|
You can override the automatic choice by cd to the ../machines directory
|
|
|
|
and typing "make makeconfig OS=<machine>", where <machine> is one of the
|
|
|
|
file names in the ../machine directory.
|
|
|
|
|
|
|
|
The shell script will attempt to find the gcc compiler and, if
|
|
|
|
found, will use it instead of the cc compiler. You can override
|
|
|
|
this automatic choice by cd to the ../machines directory and typing
|
|
|
|
"make makeconfig COMP=<compiler>", where <compiler> is one of the file
|
|
|
|
names in the ../compilers directory. This can be combined with
|
|
|
|
the OS argument above.
|
|
|
|
|
|
|
|
The configuration step can be separatly invoked by "make makeconfig".
|
|
|
|
|
|
|
|
Note that any reconfiguration will result in cleaning the old
|
|
|
|
program and object files.
|
|
|
|
|
|
|
|
(3) Assuming you have write permission on the install destination directory,
|
|
|
|
type "make install" to install the binaries in the destination directory.
|
|
|
|
At the time of writing this includes
|
|
|
|
the programs xntpd (the daemon), xntpdc (an xntpd-dependent query
|
|
|
|
program), ntpq (a standard query program), ntpdate (an rdate
|
|
|
|
replacement for boot time date setting and sloppy time keeping)
|
|
|
|
and xntpres (a program which provides name resolver support for
|
|
|
|
some xntpd configurations).
|
|
|
|
|
|
|
|
(4) You are now ready to configure the daemon and start it. At this
|
|
|
|
point it might be useful to format and print the file doc/notes.me
|
|
|
|
and read a little bit. The sections on configuration and on the
|
|
|
|
tickadj program will be immediately useful.
|
|
|
|
|
|
|
|
Additional "make" target you might find useful are:
|
|
|
|
|
|
|
|
clean cleans out object files, programs and temporary files
|
|
|
|
|
|
|
|
dist makes a new distribution file (also cleans current binaries)
|
|
|
|
All usual scratch and backup files (*.rej, *.orig, *.o, *~
|
|
|
|
core, lint*.errs, executables, tags, Makefile.bak, make.log)
|
|
|
|
will be removed. The distribution is created in a tar file
|
|
|
|
(file name: <prefix><version>.tar.<compression suffix> - with
|
|
|
|
the prefix usually being ../xntp- and a compression suffix
|
|
|
|
of .Z (compress))
|
|
|
|
Note: the file Config.local will never be included in the
|
|
|
|
distribution tar file. For configuration hints to propagate
|
|
|
|
in in distribution changes must be made to Config.local.dist.
|
|
|
|
|
|
|
|
depend possible maker of hazardous waste
|
|
|
|
|
|
|
|
refconf a target to interactively configure reference clock support.
|
|
|
|
This should work for you, but has not yet been tested on
|
|
|
|
the more exotic Unix ports (mostly the supercomputer ones).
|
|
|
|
|
|
|
|
Bug reports of a general nature can be sent to David Mills (mills@udel.edu).
|
|
|
|
Reports concerning specific hardware or software systems mentioned in the
|
|
|
|
COPYRIGHT file should be sent to the author, with copy to David Mills for
|
|
|
|
archive.
|
|
|
|
|
|
|
|
The distribution has been compiled and run on at least the following
|
|
|
|
machines, operating systems and compilers. In all known cases, if
|
|
|
|
the gcc compiler eats it with some success, the cc compiler also enjoys
|
1994-09-29 23:04:24 +00:00
|
|
|
the meal. The converse is not always true. See the conf directory for
|
|
|
|
test suites known to compile with various radio clocks; however, not all
|
|
|
|
the combinations that compile have been tested.
|
1993-12-21 18:36:48 +00:00
|
|
|
|
|
|
|
VAX-11/785 4.3 tahoe cc no REFCLOCK (dm 93/11/20)
|
|
|
|
Sun3 SunOS 4.1.1 gcc no REFCLOCK (pb 93/10/25)
|
|
|
|
Sun4 SunOS 4.1.1 gcc all REFCLOCK drivers (dm 93/10/25)
|
|
|
|
Sun4 SunOS 4.1.3 gcc all REFLCOCK drivers
|
|
|
|
Sun4 SunOS 5.1 gcc no REFCLOCK (pb 93/10/25)
|
|
|
|
Sun4 SunOS 5.2 gcc no REFCLOCK (dm 93/11/20)
|
|
|
|
Sun4 SunOS 5.2 gcc PARSE REFCLOCK (kd 93/11/10)
|
|
|
|
Sun4 SunOS 5.3 gcc local (pb 93/11/10)
|
|
|
|
HP700 HPUX 9.0 cc no REFCLOCK
|
|
|
|
hp7xx HPUX 9.01 cc local + PARSE (kd 93/10/26)
|
|
|
|
HP3xx HPUX 9.01 cc no REFCLOCK (pb 93/10/25)
|
|
|
|
HP3xx HPUX 8.0 cc no REFCLOCK (pb 93/10/25)
|
|
|
|
MIPS Ultrix 4.3a gcc WWVB clock (dm 93/11/20)
|
|
|
|
MIPS Ultrix 3a gcc green (pb 93/10/26)
|
|
|
|
ALPHA OSF 1.2a gcc no REFCLOCK (dm 93/11/20)
|
|
|
|
ALPHA OSF 1.3 gcc no REFCLOCK (pb 93/10/25)
|
|
|
|
ALPHA OSF1 1.3 gcc green (pb 93/10/26)
|
|
|
|
Convex Convex OS 10.1 ? ?
|
|
|
|
SGI IRIX 4.0.5F gcc no REFCLOCK (pb 93/11/10)
|
|
|
|
AIX 3.2 ? ?
|
1994-02-03 22:09:07 +00:00
|
|
|
A/UX 2.0.1, 3.x.x gcc LOCAL_CLOCK (jmj (94/01/26 see hints)
|
1993-12-21 18:36:48 +00:00
|
|
|
RS6000 AIX 3.2 gcc no REFCLOCK
|
|
|
|
MX500 Sinix-m V5.40 cc PARSE REFCLOCK
|
|
|
|
S2000 Sequent PTX 1.4 cc LOCAL_CLOCK (kd 93/11/10)
|
|
|
|
S2000 Sequent PTX 1.4 gcc LOCAL_CLOCK (kd 93/11/10)
|
|
|
|
PC FreeBSD gcc LOCAL_CLOCK see "build problems"
|
|
|
|
PC NetBSD? gcc LOCAL_CLOCK possibly see "build problems"
|
1994-02-03 22:09:07 +00:00
|
|
|
PC BSD/386 1.0 gcc LOCAL_CLOCK possibly see "build problems"
|
1993-12-21 18:36:48 +00:00
|
|
|
PC Linux (pl14) gcc LOCAL_CLOCK (dw 93/10/30)
|
1994-02-03 22:09:07 +00:00
|
|
|
PC Dell SVR4 v2.2 gcc ? (tl 93/12/30)
|
1994-04-21 00:33:33 +00:00
|
|
|
PC Unixware1/SVR4 cc no tickadj, ? (ras 93/04/11)
|
1994-02-03 22:09:07 +00:00
|
|
|
NCR3445 NCR SVR4 cc LOCAL_CLOCK (tm 93/11/29)
|
1993-12-21 18:36:48 +00:00
|
|
|
|
|
|
|
pb: Piete Brooks
|
|
|
|
kd: Frank Kardel
|
|
|
|
dw: Torsten Duwe (duwe@informatik.uni-erlangen.de)
|
|
|
|
dm: David Mills (mills@udel.edu)
|
1994-02-03 22:09:07 +00:00
|
|
|
tl: Tony Lill <ajlill@tlill.hookup.net>
|
|
|
|
tm: Tom Moore <Tom.Moore@DaytonOH.NCR.COM>
|
|
|
|
jmj: Jim Jagielski <jim@jagubox.gsfc.nasa.gov>
|
1994-04-21 00:33:33 +00:00
|
|
|
ras: Ray Schnitzler <schnitz@unipress.com>
|
1993-12-21 18:36:48 +00:00
|
|
|
|
|
|
|
Build Problems (and workaround):
|
|
|
|
|
|
|
|
During testing/porting we have found some
|
|
|
|
of "make" and "sh" and "awk" features in different implementations.
|
|
|
|
If you have problems other tha the one listed below please check for
|
|
|
|
usualy things like the latest sh compatible pd shell in your own
|
|
|
|
environment. Things like this are known to hinder compilation if
|
1994-02-03 22:09:07 +00:00
|
|
|
they are not fully compatible with sh or are buggy.
|
1993-12-21 18:36:48 +00:00
|
|
|
|
|
|
|
Current build problem on (Mac) NetBSD, possibly BSDI and 386BSD:
|
|
|
|
pmake (e. g. NetBSD on MAC, possible other BNR2+pmake systems)
|
|
|
|
Following Makefile construction fails for no
|
|
|
|
apparent reason (at least to me)
|
|
|
|
doit:
|
|
|
|
$(MAKE) MAKE=\"$(MAKE)\" all
|
|
|
|
|
|
|
|
all:
|
|
|
|
@echo all done.
|
|
|
|
|
|
|
|
for the "make MAKE=make" call but not for "make" or
|
|
|
|
"make -e MAKE=make". Use the last form if you suffer
|
|
|
|
from that kind of make problems. (Easily detected
|
|
|
|
by failure to build with the message:
|
|
|
|
"don't know how to make make".
|
|
|
|
|
1994-02-03 22:09:07 +00:00
|
|
|
On BSD/386 the solution is to get GNU make and run build as:
|
|
|
|
% gnumake MAKE=gnumake
|
|
|
|
Note that BSD/386 1.0's "sed" goes into an infinite loop if
|
|
|
|
you try to make the "refconf" target -- so edit Config.local
|
|
|
|
by hand if you have a reference clock. (BSD/386 1.1 will fix
|
|
|
|
this "sed" bug.)
|
|
|
|
|
|
|
|
The NetBSD people claim that this problem goes away
|
|
|
|
when you compile make with POSIX compilation options.
|
|
|
|
|
1993-12-21 18:36:48 +00:00
|
|
|
The known sh and some make pecularities have already been taken care of.
|
|
|
|
|
|
|
|
Usually the vendor should fix these bugs in vital utilities.
|
|
|
|
We try to circumvent these bugs in a hopefully portable way.
|
|
|
|
If you can reproduce these bugs on your system please bug your
|
|
|
|
vendor/developer group to fix them. We are not trying anything fancy
|
|
|
|
in here (except for starting sub-makes) and we are shocked that even
|
|
|
|
the most common tools fail so miserably. By the time you get this
|
|
|
|
code the above utilities may already have been fixed. Hopefully one
|
|
|
|
day we do not have to cope with this kind of broken utilities.
|
|
|
|
Frank Kardel
|
|
|
|
|
|
|
|
William L. Jones <jones@chpc.utexas.edu>
|
|
|
|
Dennis Ferguson (Advanced Network Systems) <dennis@ans.net>
|
|
|
|
Lars Mathiesen (University of Copenhagen) <thorinn@diku.dk>
|
|
|
|
David Mills <mills@udel.edu>
|
|
|
|
Frank Kardel <Frank.Kardel@informatik.uni-erlangen.de>
|
|
|
|
Piete Brooks <Piete.Brooks@cl.cam.ac.uk>
|
|
|
|
|
|
|
|
-- and a cast of thousands -- see the COPYRIGHT file
|
|
|
|
16 November 1993
|