Uploaded image for project: 'ZABBIX BUGS AND ISSUES'
  1. ZABBIX BUGS AND ISSUES
  2. ZBX-24009

The autoconf configure template makes improper use of AC_ARG_WITH and AC_ARG_ENABLE macros

XMLWordPrintable

    • Icon: Problem report Problem report
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 7.0.0beta1
    • Installation (I)
    • None

      The main Zabbix repository contains all Zabbix product component and library source code, and relies on a single autoconf (part of the GNU Build System) generated configuration script to interrogate the build environment and generate the final build system description for building all the components. Collectively, these components, in autoconf terminology, are referred to as packages.

      Historically, the enabling of building a particular component in Zabbix has been decided via a set of --enable-* flags, passed to the configure script.

      This is generally incorrect, as the the --enable-*/--disable-* flags (defined via the AC_ARG_ENABLE macro) are used to specify weather a feature of a package should be enabled for a particular build. An example of this in Zabbix would be the --enable-ipv6 flag, which specifies whether IPv6 relevant code should be enabled in network-related libraries and the agent, proxy and server applications.

      Instead, specifying the packages to be built should be done using the --with-*/--without-* flags (defined via the AC_ARG_WITH macro).

      As any reasonable and robust build system (which the GNU Build System is), this is necessary for the correct configuration and decoupling of nested packages (which the main Zabbix repository effectively does, as each library and application, is a separate package). This includes both "project local" and third-party packages that have been brought into the source tree in some fashion.

            palivoda Rostislav Palivoda
            jlambda Juris Lambda
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: