# Building and Installing the Distribution

| from Pogo, Walt Kelly For putting out compiler fires.

## 1. Related Links

### 1.1. Build and Install

- Building and Installing the Distribution

- Debugging Reference Clock Drivers

- Client Quick Start Guide

- NTS Quick Start Guide

- NTP Debugging Techniques

- NTP Bug Reporting Procedures

## 2. Table of Contents

- Autoconf has been replaced with waf

- Building and Installing the Distribution

- Building and Installing for Unix

- Configuration

- If You Have Problems

- Additional `waf` Commands

### 2.1. Autoconf has been replaced with waf

The autoconf build system used in NTP Classic has been replaced with waf, a more modern and much faster build engine. It is not necessary to install any separate waf package; the build engine is a Python script included in your NTPsec distribution.

## 3. Building and Installing the Distribution

It is not possible in a software distribution such as this to support every individual computer and operating system with a common executable, even with the same system but different versions and options. Therefore, it is necessary to configure, build and install for each system and version. In almost all cases, these procedures are completely automatic, The user types `./waf configure`, `./waf build`, and `./waf install` in that order and the build system does the rest. There are some exceptions, as noted below.

This page provides only a general introduction to building the code. Please consult the INSTALL file in the distribution root for the most detailed information on build-time dependencies and configuration options.

## 4. Building and Installing for Unix

This distribution uses common compilers and tools that come with most Unix distributions. Not all of these tools exist in the standard distribution of modern Unix versions (compilers are likely to be an add-on product). If this is the case, consider using the GNU tools and `gcc` compiler included as freeware in some systems. For a successful build, all of these tools should be accessible via the current path.

The first thing to do is uncompress the distribution and extract the source tree. In the distribution base directory use the `./waf configure` command to perform an automatic configuration procedure. This command inspects the hardware and software environment and configures the build process accordingly. Use the `./waf build` command to compile and link the distribution and the `./waf install` command to install the executables by default in `/usr/local/bin`. It may be necessary to run `ldconfig` on Linux systems if using the FFI library (default).

## 5. Configuration

You are now ready to configure the daemon. You will need to create an NTP configuration file by default in `/etc/ntp.conf`. Newbies should see the Client Quick Start Guide. Seasoned veterans can start with the `ntpd` - Network Time Protocol (NTP) Daemon and `ntpd` Configuration File pages and move on to the specific configuration option pages.

## 6. If You Have Problems

If you have problems with your hardware and software environment, a tutorial on debugging technique is in the NTP Debugging Technique page. A list of important system log messages is on the `ntpd` System Log Messages page.

The first line of general assistance is the NTPsec web site www.ntpsec.org and the helpful documents resident there. Requests for assistance of a general nature and of interest to other timekeepers should be sent to the NTP newsgroup comp.protocols.time.ntp.

Users are invited to report bugs and offer suggestions via the NTP Bug Reporting Procedures page.

## 7. Additional `waf` commands

`./waf clean`

  Cleans out object files, programs and temporary files.

`./waf distclean`

  Removes the build directory.

Home Page | Site Map | Contacts