--with-serial
Note this means drivers where serial port is the only supported connection (most of the NUT drivers), and half the ability of nutdrv_qx(8) (which can be built to use serial or USB or both types of media links).
This toggle is currently unrelated to modbus drivers which normally use Serial RTU, but some can use TCP RTU and USB RTU. This might be or not be revised in future NUT releases.
It also does not impact the build of libnutscan for 8,
8, and possibly other (third-party) consumers, which as a
library aims to support all communications media it can.
Build and install the serial drivers (default: yes)
--with-usb
Build and install the USB drivers (default: auto-detect)
Note that you need to install the libusb development package or files, and that both libusb 0.1 and 1.0 are supported. In case both are available, libusb 1.0 takes precedence, and will be used by default.
It is however possible to override this default choice by explicitly
calling --with-usb=libusb-0.1 or --with-usb=libusb-1.0.
If you do specify the version to use (or yes for auto-detection),
this option would fail if requested (or any) libusb version was not
found. The default auto value would not fail in such case.
If you intend to use the libmodbus variant with libusb
support, you would require libusb-1.0 specifically; the implementation
or "compat API" of 0.1 is not supported by that library version.
--with-snmp
Build and install the SNMP drivers (default: auto-detect)
Note that you need to install libsnmp development package or files.
--with-net-snmp-config
In addition to the --with-snmp option above, this one allows to provide
a custom program name (in PATH) or complete pathname to net-snmp-config
(may have copies named per architecture, e.g. net-snmp-config-32 and
net-snmp-config-64).
This may be needed on build systems which support multiple architectures,
or in cases where your distribution names this program differently.
With a default value of yes it would mean preference of this program,
compared to information from pkg-config, if both are available.
--with-neon
Build and install the XML drivers (default: auto-detect)
Note that you need to install neon development package or files.
--with-powerman
Build and install Powerman PDU client driver (default: auto-detect)
This allows to interact with the Powerman daemon, and the numerous Power Distribution Units (PDU) supported by the powerman project.
Note that you need to install powerman development package or files.
--with-ipmi --with-freeipmi
Build and install IPMI PSU driver (default: auto-detect)
This allows to monitor numerous Power Supply Units (PSU) found on servers.
Note that you need to install freeipmi (0.8.5 or higher, for nut-scanner; and 1.0.1 or higher, for nut-ipmipsu) development package or files.
--with-upower (default: auto-detect)
Build and install the nut-upower driver.
This allows to monitor UPS and battery devices managed by the UPower daemon via D-Bus. This introduces a new category of drivers that talk to operating system services to obtain power state information.
Note that you need to install glib-2.0 and gio-2.0 development packages
or files.
--with-linux_i2c
Build and install i2c drivers (default: auto-detect)
Note that you need to install libi2c development package or files.
--with-gpio
Build and install GPIO drivers (default: auto-detect)
Note that on Linux you need to install libgpiod library and development package or files. This seems to be present in distributions released after roughly 2018. Other platforms are not currently supported, but may be in the future.
--with-modbus
Build and install modbus (Serial, TCP) drivers (default: auto-detect)
Note that you need to install libmodbus development package or files.
For most drivers, the ability to use serial port (and build code for that)
is implicitly required, and currently independent from --with-serial
option.
--with-modbus+usb
Require a variant of libmodbus with RTU USB support. This feature is
currently not available in upstream project or OS distribution packages,
so your NUT build environment should provide a prerequisite build of
https://github.com/networkupstools/libmodbus/tree/rtu_usb (may be a
static library build, used from a temporary installation prefix location,
to avoid potential conflicts with the OS packaged shared library).
You would also need specifically libusb-1.0 (not the older API).
At the time of this writing, such constraint can be desirable for the apc_modbus(8) driver which supports different communication media.
For more details please see https://github.com/networkupstools/nut/wiki/APC-UPS-with-Modbus-protocol
--with-drivers=<driver>,<driver>,...
Specify exactly which driver or drivers to build and install (this works for serial, usb, and snmp drivers, and overrides the preceding three options).
As of the time of original writing (2010), there are 46 UPS drivers available. Most users will only need one, a few will need two or three, and very few people will need all of them.
To save time during the compile and disk space later on, you can
use this option to just build and install a subset of the drivers.
For example, to select mge-shut and usbhid-ups, you’d do this:
--with-drivers=apcsmart,usbhid-ups
If you need to build more drivers later on, you will need to rerun
configure with a different list. To make it build all of the
drivers from scratch again, run make clean before starting.