1 | <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML Strict//EN"> |
---|
2 | <html><head><title> |
---|
3 | Building and Installing the Distribution |
---|
4 | </title></head><body><h3> |
---|
5 | Building and Installing the Distribution |
---|
6 | </h3><hr> |
---|
7 | |
---|
8 | <p>Following are instructions to build and install the programs in this |
---|
9 | distribution. |
---|
10 | |
---|
11 | <p>Note that the automatic build process inspects the machine |
---|
12 | environment and tests for the presence of system header files and the |
---|
13 | contents of these files to determine if certain features are available. |
---|
14 | When one or more of these features are present, the code is compiled to |
---|
15 | use them; if not, no special code is compiled. However, even if the code |
---|
16 | is compiled to use these features, the code does a special test at run |
---|
17 | time to see if one or more are actually present and avoids using them if |
---|
18 | not present. In such cases a warning message is sent to the system log, |
---|
19 | but the daemon should still work properly. |
---|
20 | |
---|
21 | <p><h4>Building and Installing under Unix</h4> |
---|
22 | |
---|
23 | <p>Make sure that you have all necessary tools for building executables. |
---|
24 | These tools include <code>cc/gcc, make, awk, sed, tr, sh, grep, |
---|
25 | egrep</code> and a few others. Not all of these tools exist in the |
---|
26 | standard distribution of modern Unix versions (compilers are likely to |
---|
27 | be an add-on product - consider using the <code>gnu</code> tools and |
---|
28 | <code>gcc</code> compiler in this case). For a successful build, all of |
---|
29 | these tools should be accessible via the current path. |
---|
30 | |
---|
31 | <h5>Configuration</h5> |
---|
32 | |
---|
33 | <p>Use the <code>configure</code> command to perform an automatic |
---|
34 | configuration procedure. This procedure normally includes the debugging |
---|
35 | code, which can be useful in diagnosing problems found in initial test, |
---|
36 | and all reference clock drivers known to work with each machine and |
---|
37 | operating system. Unless memory space is at a premium, this is a |
---|
38 | sensible strategy and saves lots of messy fiddling. If you need to |
---|
39 | delete either the debugging code or one or more or all reference clock |
---|
40 | drivers to save space, see the <a href=config.html>Configuration |
---|
41 | Options</a> page. |
---|
42 | |
---|
43 | <p>If your site supports multiple architectures and uses NFS to share |
---|
44 | files, you can use a single source tree to compile executables for all |
---|
45 | architectures. While running on a target architecture machine and with |
---|
46 | the distribution base directory active, create a subdirectory using a |
---|
47 | command like <code>mkdir `config.guess`</code>, which will create an |
---|
48 | architecture-specific directory with name peculiar to the architecture |
---|
49 | and operating system. Then change to this directory and configure with |
---|
50 | the <code>../configure</code> command. The remaining steps are the same |
---|
51 | whether building in the base directory or in the subdirectory. |
---|
52 | |
---|
53 | <h5>Compilation</h5> |
---|
54 | |
---|
55 | <p>Use the <code>make</code> command to compile all source modules, |
---|
56 | construct the libraries and link the distribution. Expect few or no |
---|
57 | warnings using <code>cc</code> and a moderate level of warnings using |
---|
58 | <code>gcc</code>. Note: On some Unix platforms the use of |
---|
59 | <code>gcc</code> can result in quite a few complaints about system |
---|
60 | header files and type inconsistencies, especially about pointer |
---|
61 | variables. This is usually the case when the system header files are not |
---|
62 | up to ANSI standards or <code>gcc</code>-isms. While the autoconfigure |
---|
63 | process is quite thorough, the Unix programming cultures of the various |
---|
64 | workstation makers still remain idiosyncratic. |
---|
65 | |
---|
66 | <h5>Installation</h5> |
---|
67 | <p>As root, use the <code>make install</code> command to install the |
---|
68 | binaries in the destination directory. You must of course have write |
---|
69 | permission on the install destination directory. This includes the |
---|
70 | programs <a href="xntpd.html"><code>xntpd</code></a> (the daemon), <a |
---|
71 | href="xntpdc.html"><code>xntpdc</code></a> (an <code>xntpd</code>- |
---|
72 | dependent query program), <a href="ntpq.html"><code>ntpq</code></a> (a |
---|
73 | standard query program), <a href="ntpdate.html"><code>ntpdate</code></a> |
---|
74 | (an <code>rdate</code> replacement for boot time date setting and sloppy |
---|
75 | time keeping) and <a href="ntptrace.html"><code>ntptrace</code></a> (a |
---|
76 | utility useful to find the primary (stratum-1) servers). In some |
---|
77 | systems, the <a href="tickadj.html"><code>tickadj</code></a> (a utility |
---|
78 | useful to adjust kernel variables) is installed. If the precision time |
---|
79 | kernel modifications are present, the <a |
---|
80 | href="ntptime.html"><code>ntptime</code></a> (a utility useful to debug |
---|
81 | kernel time functions) is installed. |
---|
82 | |
---|
83 | <p>You are now ready to configure the daemon and start it. You will need |
---|
84 | to create a NTP configuration file <code>ntp.conf</code> and possibly a |
---|
85 | cryptographic key file <code>ntp.keys</code>. Directions for doing that |
---|
86 | are in the <a href="notes.html">Notes on Configuring NTP and Setting up |
---|
87 | a NTP Subnet</a>. A tutorial on debugging technique is in <a |
---|
88 | href="debug.html">NTP Debugging Technique</a>. If problems peculiar to |
---|
89 | the particular hardware and software environment are suspected, browse |
---|
90 | the <a href="http:hints.html">Hints and Kinks</a> page. |
---|
91 | |
---|
92 | <p>Bug reports of a general nature can be sent to David Mills |
---|
93 | (mills@udel.edu). Bug reports of a specific nature on features |
---|
94 | implemented by the programmer corps mentioned in the <a |
---|
95 | href="copyright.html">Copyright</a> page should be sent directly to the |
---|
96 | implementor listed in that page, with copy to mills@udel.edu. |
---|
97 | |
---|
98 | <p><strong>Please include the version of the source distribution (e.g., |
---|
99 | xntp3-5.87) in your bug report.</strong> |
---|
100 | |
---|
101 | <p><strong>Please include the output of <code>config.guess</code> in |
---|
102 | your bug report.</strong> |
---|
103 | |
---|
104 | <p><strong>It will look something like: |
---|
105 | <code>pdp11-dec-fuzzos3.4</code></strong> |
---|
106 | |
---|
107 | <p>Additional <code>make</code> commands |
---|
108 | |
---|
109 | <dl> |
---|
110 | |
---|
111 | <dt><code>make clean</code> |
---|
112 | <dd>Cleans out object files, programs and temporary files. |
---|
113 | |
---|
114 | <p><dt><code>make distclean</code> |
---|
115 | <dd>Does the work of <code>clean</code>, but cleans out all directories |
---|
116 | in preparation for a new distribution release. |
---|
117 | |
---|
118 | <p><dt><code>make dist</code> |
---|
119 | <dd>Does the work of <code>make distclean</code>, but constructs |
---|
120 | compressed tar files for distribution. You must have GNU automake to |
---|
121 | perform this function. |
---|
122 | |
---|
123 | </dl> |
---|
124 | |
---|
125 | <p><h4>Building and Installing under Windows NT</h4> |
---|
126 | |
---|
127 | <p>Under Windows NT, you will need <code>Visual C++ 4.0</code> or above, |
---|
128 | <code>InstallShield</code> SDK (comes with <code>VC++</code>), |
---|
129 | <code>Perl5</code> and some version of the archiving program |
---|
130 | <code>ZIP</code>. |
---|
131 | |
---|
132 | <p>See the <code>./scripts/wininstall/readme.nt</code> file for |
---|
133 | directions to compile the sources, build the libraries and link the |
---|
134 | executables. Initiate the build by running either <code>bldrel.bat</code> |
---|
135 | or <code>blddbg.bat</code> to compile all of the source and create an |
---|
136 | <code>InstallShield</code> based graphical installation package. |
---|
137 | |
---|
138 | <p>To install the executables, make sure that you are logged in as a |
---|
139 | system account, or one with administrator privileges such as the |
---|
140 | "administrator" account. As part of the build an |
---|
141 | <code>InstallShield</code> based graphical installer was created. Run |
---|
142 | <code>\xntp\scripts\wininstall\intel\disk1\setup.exe</code> to begin the |
---|
143 | installation. This installer will prompt for basic defaults, copy the |
---|
144 | binaries, install the service, and start it up. The other option is |
---|
145 | to run <code>\xntp\scripts\wininstall\distrib\install.bat</code> which |
---|
146 | will do the basic installation from the command line. |
---|
147 | |
---|
148 | <hr><address>David L. Mills (mills@udel.edu)</address></body></html> |
---|