Some variant of a UNIX® operating system.
Standard user-shell (e.g., sh(1), ksh(1), bash(1)) .
An accurate and monotonic clock.
The requirement for an accurate and monotonic clock is absolutely necessary because the LDM protocol depends on accurate clocks on both the upstream host and the downstream host.
Additionally, if the clock is not monotonic (because it is periodically
set backwards by
ntpdate(8), for example) then processes
that read from the product-queue (such as upstream LDMs and pqacts will miss some data-products that are in
the queue. This is because data-products reside in the product-queue in
the order in which they were inserted into the queue according to
the system clock. If the system clock jumps backwards, then a
data-product might not be inserted at the tail
of the queue and so be missed by a process waiting at the tail
for the next product. The rate at which products will be missed
depends, among other things, on the rate at which products are inserted
into the queue, the frequency with which the system clock is adjusted
backwards, and the amount of the adjustments.
Linux systems with kernels older than 2.6.18 (for 32-bit systems) or 2.6.21 (for 64-bit systems) are at high-risk for non-monotonic system clocks.
This requirement can be generally satisfied by running a Network Time Protocol daemon (ntpd). The NTP daemon is available at ntp.org. Information on public NTP time servers is available at http://ntp.isc.org/bin/view/Servers/WebHome. Linux users with the older kernels mentioned above should pay particular attention to the NTP support documentation on Known Hardware Issues and Known Operating System Issues.
The following items must be installed in order to build the LDM.
perl 5 package
zlib development package. Look for the file libz.a or libz.so and the file zlib.h. If this package's library is installed but not its header-file, then you must install the development package (the runtime package doesn't contain the necessary header-files). This package is used by the libxml2 package.
libxml2 development package. Look for the file libxml2.a or libxml2.so and the file libxml/parser.h. If this package's library is installed but not its header-file, then you must install the development package (the runtime package doesn't contain the necessary header-files). This package is used by the LDM to parse the LDM registry.
The following item is necessary in order to use the LDM to ingest data-products from the NOAAPort satellite broadcast system.
PNG development package. Look for the file libpng.a or libpng.so and the file png.h. If the PNG package's library is installed but not its header-file, then you must install the development package (the runtime package doesn't contain the necessary header-files).
The following utilities must be available in order to collect metrics on the performance of the LDM system via the command ldmadmin addmetrics.
The following item is necessary to display the performance metrics of the LDM system via the command ldmadmin plotmetrics, or the plotMetrics utility.
You may ignore this section if you install from a binary RPM file.
To install from source, you must have a UNIX® development-environment. In particular, your platform must have:
A Standard C compiler (e.g.,
A standard make(1) utility.
While every effort is made to ensure that the LDM source-code distribution can be compiled and installed on as wide a variety of UNIX® platforms as possible, we can, necessarily, only test on platforms that are available at the Unidata Program Center (UPC).
The UPC reserves the right to deny support to outdated or irregular platforms.