Commit | Line | Data |
---|---|---|
09169146 GW |
1 | For special hints on setup/compilation/installation and other general |
2 | topics you may persue the files in the hints directory. | |
3 | ||
4 | This file contains the usual instructions to compile and install the programs in | |
5 | this distribution. To make these programs: | |
6 | ||
7 | (0) Make sure that you have all necessary tools for building executables. | |
8 | These tools include cc/gcc, make, awk, sed, tr, sh, grep, egrep and | |
9 | a few others. Not all of these tools exist in the standard distribution | |
98771864 | 10 | of todays UNIX versions (compilers are likely to be an extra product). |
09169146 GW |
11 | For a successful build all of these tools should be accessible via the |
12 | current path. | |
13 | ||
14 | (1) By default, if there is no Config.local, the system will generate one | |
15 | to support a local ref clock (i.e. run off the system clock). | |
16 | Greenhorns can skip on to (2). | |
17 | ||
18 | HACKers can create a Config.local and choose the compilation options, | |
19 | install destination directory and clock drivers. | |
20 | A template for Config.local can be found in Config.local.dist. | |
21 | There are two Configurations that can be auto-generated: | |
22 | make Config.local.local # network configuration plus local | |
23 | # reference clock (the default) | |
24 | make Config.local.NO.clock # network only configuration | |
25 | ||
26 | To set up for a radio clock, type "make refconf" and answer the questions | |
27 | about PLL, PPS and radio clock type. | |
28 | If this is the first use of the ref clock, don't forget to make suitable | |
98771864 | 29 | files in /dev/. |
09169146 GW |
30 | |
31 | For custom tailored configuration copying Config.local.dist to Config.local | |
32 | and editing Config.local to suit the local needs is neccessary (at most | |
33 | 3 lines to change), or use one of the make's above and then tweak it. | |
34 | ||
35 | (2) Type "make" to compile everything of general interest. Expect few or | |
36 | no warnings using cc and a moderate level of warnings using gcc. | |
37 | Note: On some Unix platforms the use of gcc can result in quite a few | |
38 | complaints about system header files and type problems within xntp | |
39 | code. This is usually the case when the OS header files are not up | |
40 | up to ANSI standards or GCCISMs. (There may, however, be still some | |
41 | inconsistencies in the code) | |
42 | ||
43 | Other known problems stem from bugs/features/... in utility programs | |
44 | of some vendors. | |
45 | ||
46 | See section "build problems" for known problems and possible work- | |
47 | arounds. | |
48 | ||
49 | Each time you change the configuration a script that pokes your hard- and | |
50 | software will be run to build the actual configuration files. | |
51 | If the script fails, it will give you a list of machines it knows about. | |
52 | You can override the automatic choice by cd to the ../machines directory | |
53 | and typing "make makeconfig OS=<machine>", where <machine> is one of the | |
54 | file names in the ../machine directory. | |
55 | ||
56 | The shell script will attempt to find the gcc compiler and, if | |
57 | found, will use it instead of the cc compiler. You can override | |
58 | this automatic choice by cd to the ../machines directory and typing | |
59 | "make makeconfig COMP=<compiler>", where <compiler> is one of the file | |
60 | names in the ../compilers directory. This can be combined with | |
61 | the OS argument above. | |
62 | ||
63 | The configuration step can be separatly invoked by "make makeconfig". | |
64 | ||
65 | Note that any reconfiguration will result in cleaning the old | |
66 | program and object files. | |
67 | ||
68 | (3) Assuming you have write permission on the install destination directory, | |
69 | type "make install" to install the binaries in the destination directory. | |
70 | At the time of writing this includes | |
71 | the programs xntpd (the daemon), xntpdc (an xntpd-dependent query | |
72 | program), ntpq (a standard query program), ntpdate (an rdate | |
73 | replacement for boot time date setting and sloppy time keeping) | |
74 | and xntpres (a program which provides name resolver support for | |
75 | some xntpd configurations). | |
76 | ||
77 | (4) You are now ready to configure the daemon and start it. At this | |
78 | point it might be useful to format and print the file doc/notes.me | |
79 | and read a little bit. The sections on configuration and on the | |
80 | tickadj program will be immediately useful. | |
81 | ||
82 | Additional "make" target you might find useful are: | |
83 | ||
84 | clean cleans out object files, programs and temporary files | |
85 | ||
86 | dist makes a new distribution file (also cleans current binaries) | |
87 | All usual scratch and backup files (*.rej, *.orig, *.o, *~ | |
88 | core, lint*.errs, executables, tags, Makefile.bak, make.log) | |
89 | will be removed. The distribution is created in a tar file | |
90 | (file name: <prefix><version>.tar.<compression suffix> - with | |
91 | the prefix usually being ../xntp- and a compression suffix | |
92 | of .Z (compress)) | |
93 | Note: the file Config.local will never be included in the | |
94 | distribution tar file. For configuration hints to propagate | |
95 | in in distribution changes must be made to Config.local.dist. | |
96 | ||
97 | depend possible maker of hazardous waste | |
98 | ||
99 | refconf a target to interactively configure reference clock support. | |
100 | This should work for you, but has not yet been tested on | |
101 | the more exotic Unix ports (mostly the supercomputer ones). | |
102 | ||
103 | Bug reports of a general nature can be sent to David Mills (mills@udel.edu). | |
104 | Reports concerning specific hardware or software systems mentioned in the | |
105 | COPYRIGHT file should be sent to the author, with copy to David Mills for | |
106 | archive. | |
107 | ||
108 | The distribution has been compiled and run on at least the following | |
109 | machines, operating systems and compilers. In all known cases, if | |
110 | the gcc compiler eats it with some success, the cc compiler also enjoys | |
111 | the meal. The converse is not always true. | |
112 | ||
113 | VAX-11/785 4.3 tahoe cc no REFCLOCK (dm 93/11/20) | |
114 | Sun3 SunOS 4.1.1 gcc no REFCLOCK (pb 93/10/25) | |
115 | Sun4 SunOS 4.1.1 gcc all REFCLOCK drivers (dm 93/10/25) | |
116 | Sun4 SunOS 4.1.3 gcc all REFLCOCK drivers | |
117 | Sun4 SunOS 5.1 gcc no REFCLOCK (pb 93/10/25) | |
118 | Sun4 SunOS 5.2 gcc no REFCLOCK (dm 93/11/20) | |
119 | Sun4 SunOS 5.2 gcc PARSE REFCLOCK (kd 93/11/10) | |
120 | Sun4 SunOS 5.3 gcc local (pb 93/11/10) | |
121 | HP700 HPUX 9.0 cc no REFCLOCK | |
122 | hp7xx HPUX 9.01 cc local + PARSE (kd 93/10/26) | |
123 | HP3xx HPUX 9.01 cc no REFCLOCK (pb 93/10/25) | |
124 | HP3xx HPUX 8.0 cc no REFCLOCK (pb 93/10/25) | |
125 | MIPS Ultrix 4.3a gcc WWVB clock (dm 93/11/20) | |
126 | MIPS Ultrix 3a gcc green (pb 93/10/26) | |
127 | ALPHA OSF 1.2a gcc no REFCLOCK (dm 93/11/20) | |
128 | ALPHA OSF 1.3 gcc no REFCLOCK (pb 93/10/25) | |
129 | ALPHA OSF1 1.3 gcc green (pb 93/10/26) | |
130 | Convex Convex OS 10.1 ? ? | |
131 | SGI IRIX 4.0.5F gcc no REFCLOCK (pb 93/11/10) | |
132 | AIX 3.2 ? ? | |
98771864 | 133 | A/UX 2.0.1, 3.x.x gcc LOCAL_CLOCK (jmj (94/01/26 see hints) |
09169146 GW |
134 | RS6000 AIX 3.2 gcc no REFCLOCK |
135 | MX500 Sinix-m V5.40 cc PARSE REFCLOCK | |
136 | S2000 Sequent PTX 1.4 cc LOCAL_CLOCK (kd 93/11/10) | |
137 | S2000 Sequent PTX 1.4 gcc LOCAL_CLOCK (kd 93/11/10) | |
138 | PC FreeBSD gcc LOCAL_CLOCK see "build problems" | |
139 | PC NetBSD? gcc LOCAL_CLOCK possibly see "build problems" | |
98771864 | 140 | PC BSD/386 1.0 gcc LOCAL_CLOCK possibly see "build problems" |
09169146 | 141 | PC Linux (pl14) gcc LOCAL_CLOCK (dw 93/10/30) |
98771864 GW |
142 | PC Dell SVR4 v2.2 gcc ? (tl 93/12/30) |
143 | NCR3445 NCR SVR4 cc LOCAL_CLOCK (tm 93/11/29) | |
09169146 GW |
144 | |
145 | pb: Piete Brooks | |
146 | kd: Frank Kardel | |
147 | dw: Torsten Duwe (duwe@informatik.uni-erlangen.de) | |
148 | dm: David Mills (mills@udel.edu) | |
98771864 GW |
149 | tl: Tony Lill <ajlill@tlill.hookup.net> |
150 | tm: Tom Moore <Tom.Moore@DaytonOH.NCR.COM> | |
151 | jmj: Jim Jagielski <jim@jagubox.gsfc.nasa.gov> | |
09169146 GW |
152 | |
153 | Build Problems (and workaround): | |
154 | ||
155 | During testing/porting we have found some | |
156 | of "make" and "sh" and "awk" features in different implementations. | |
157 | If you have problems other tha the one listed below please check for | |
158 | usualy things like the latest sh compatible pd shell in your own | |
159 | environment. Things like this are known to hinder compilation if | |
98771864 | 160 | they are not fully compatible with sh or are buggy. |
09169146 GW |
161 | |
162 | Current build problem on (Mac) NetBSD, possibly BSDI and 386BSD: | |
163 | pmake (e. g. NetBSD on MAC, possible other BNR2+pmake systems) | |
164 | Following Makefile construction fails for no | |
165 | apparent reason (at least to me) | |
166 | doit: | |
167 | $(MAKE) MAKE=\"$(MAKE)\" all | |
168 | ||
169 | all: | |
170 | @echo all done. | |
171 | ||
172 | for the "make MAKE=make" call but not for "make" or | |
173 | "make -e MAKE=make". Use the last form if you suffer | |
174 | from that kind of make problems. (Easily detected | |
175 | by failure to build with the message: | |
176 | "don't know how to make make". | |
177 | ||
98771864 GW |
178 | On BSD/386 the solution is to get GNU make and run build as: |
179 | % gnumake MAKE=gnumake | |
180 | Note that BSD/386 1.0's "sed" goes into an infinite loop if | |
181 | you try to make the "refconf" target -- so edit Config.local | |
182 | by hand if you have a reference clock. (BSD/386 1.1 will fix | |
183 | this "sed" bug.) | |
184 | ||
185 | The NetBSD people claim that this problem goes away | |
186 | when you compile make with POSIX compilation options. | |
187 | ||
09169146 | 188 | The known sh and some make pecularities have already been taken care of. |
09169146 GW |
189 | |
190 | Usually the vendor should fix these bugs in vital utilities. | |
191 | We try to circumvent these bugs in a hopefully portable way. | |
192 | If you can reproduce these bugs on your system please bug your | |
193 | vendor/developer group to fix them. We are not trying anything fancy | |
194 | in here (except for starting sub-makes) and we are shocked that even | |
195 | the most common tools fail so miserably. By the time you get this | |
196 | code the above utilities may already have been fixed. Hopefully one | |
197 | day we do not have to cope with this kind of broken utilities. | |
198 | Frank Kardel | |
199 | ||
200 | William L. Jones <jones@chpc.utexas.edu> | |
201 | Dennis Ferguson (Advanced Network Systems) <dennis@ans.net> | |
202 | Lars Mathiesen (University of Copenhagen) <thorinn@diku.dk> | |
203 | David Mills <mills@udel.edu> | |
204 | Frank Kardel <Frank.Kardel@informatik.uni-erlangen.de> | |
205 | Piete Brooks <Piete.Brooks@cl.cam.ac.uk> | |
206 | ||
207 | -- and a cast of thousands -- see the COPYRIGHT file | |
208 | 16 November 1993 |