HardenedBSD/usr.sbin/xntpd/RELNOTES
1994-09-29 23:04:24 +00:00

217 lines
9.8 KiB
Plaintext

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
of todays UNIX versions (compilers are likely to be an extra product).
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
files in /dev/.
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.
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.
(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
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.
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 ? ?
A/UX 2.0.1, 3.x.x gcc LOCAL_CLOCK (jmj (94/01/26 see hints)
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"
PC BSD/386 1.0 gcc LOCAL_CLOCK possibly see "build problems"
PC Linux (pl14) gcc LOCAL_CLOCK (dw 93/10/30)
PC Dell SVR4 v2.2 gcc ? (tl 93/12/30)
PC Unixware1/SVR4 cc no tickadj, ? (ras 93/04/11)
NCR3445 NCR SVR4 cc LOCAL_CLOCK (tm 93/11/29)
pb: Piete Brooks
kd: Frank Kardel
dw: Torsten Duwe (duwe@informatik.uni-erlangen.de)
dm: David Mills (mills@udel.edu)
tl: Tony Lill <ajlill@tlill.hookup.net>
tm: Tom Moore <Tom.Moore@DaytonOH.NCR.COM>
jmj: Jim Jagielski <jim@jagubox.gsfc.nasa.gov>
ras: Ray Schnitzler <schnitz@unipress.com>
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
they are not fully compatible with sh or are buggy.
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".
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.
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