Building 4.0.0 fails with unity build enabled
Was playing around with the new build system (which is great!) and tried enabling unity builds but the build fails. Sure this isn't an important feature for anyone but maybe it's an option to remove it as a configuration parameter until it can be investigated?
# meson build_dir -Dunity=on
The Meson build system
Version: 0.48.2
Source dir: /knot-resolver-v4.0.0
Build dir: /knot-resolver-v4.0.0/build_dir
Build type: native build
Project name: knot-resolver
Project version: 4.0.0
Native C compiler: cc (gcc 8.3.0 "cc (Alpine 8.3.0) 8.3.0")
Native C++ compiler: c++ (gcc 8.3.0 "c++ (Alpine 8.3.0) 8.3.0")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Message: --- required dependencies ---
Found pkg-config: /usr/bin/pkg-config (1.6.0)
Dependency libknot found: YES 2.8.1
Dependency libdnssec found: YES 2.8.1
Dependency libzscanner found: YES 2.8.1
Dependency libuv found: YES 1.23.2
Dependency lmdb found: YES @PACKAGE_VERSION@
Dependency gnutls found: YES 3.6.7
Dependency luajit found: YES 2.1.0-beta3
Message: ------------------------------
Message: --- systemd socket activation ---
Dependency libsystemd found: NO (tried pkgconfig)
Message: ---------------------------
Configuring kresconfig.h using configuration
Message: --- client dependencies ---
Dependency libedit found: NO (tried pkgconfig)
Library edit found: NO
Message: ---------------------------
Configuring trust_anchors.lua using configuration
Configuring sandbox.lua using configuration
Program ./kres-gen.sh found: YES (/knot-resolver-v4.0.0/daemon/lua/./kres-gen.sh)
Message: --- dnstap module dependencies ---
Dependency libprotobuf-c found: NO (tried pkgconfig)
Dependency libfstrm found: NO (tried pkgconfig)
Program protoc-c found: NO
Message: ----------------------------------
Configuring http.lua using configuration
Message: --- unit_tests dependencies ---
Dependency cmocka found: NO (tried pkgconfig)
Message: -------------------------------
Configuring kresd.8 using configuration
Program ../scripts/make-doc.sh found: YES (/knot-resolver-v4.0.0/doc/../scripts/make-doc.sh)
Configuring config.cluster using configuration
Configuring config.docker using configuration
Configuring config.isp using configuration
Configuring config.personal using configuration
Configuring config.splitview using configuration
Configuring kresd.conf using configuration
Message: --- lint dependencies ---
Program clang-tidy found: NO
Program luacheck found: NO
Program flake8 found: NO
Program scripts/run-pylint.sh found: YES (/knot-resolver-v4.0.0/scripts/run-pylint.sh)
Message: -------------------------
Message:
======================= SUMMARY =======================
paths
prefix: /usr/local
lib_dir: /usr/local/lib/knot-resolver
sbin_dir: /usr/local/sbin
etc_dir: /usr/local/etc/knot-resolver
root.hints: /usr/local/etc/knot-resolver/root.hints
trust_anchors
keyfile_default: /usr/local/etc/knot-resolver/root.keys
managed_ta: enabled
systemd:
socket activation: disabled
files: disabled
work_dir:
optional components
client: disabled
dnstap: disabled
unit_tests: disabled
config_tests: disabled
extra_tests: disabled
additional
user: knot-resolver
group: knot-resolver
install_kresd_conf: enabled
=======================================================
Build targets in project: 12
Found ninja-1.8.2 at /usr/bin/ninja
/knot-resolver-v4.0.0 # ninja -C build_dir
ninja: Entering directory `build_dir'
[7/19] Compiling C object 'contrib/contrib@@contrib@sta/meson-generated_contrib-unity.c.o'.
In file included from contrib/contrib@@contrib@sta/contrib-unity.c:8:
/knot-resolver-v4.0.0/build_dir/../contrib/base64.c:24: warning: "MAX_BIN_DATA_LEN" redefined
#define MAX_BIN_DATA_LEN ((INT32_MAX / 4) * 3)
In file included from contrib/contrib@@contrib@sta/contrib-unity.c:7:
/knot-resolver-v4.0.0/build_dir/../contrib/base32hex.c:23: note: this is the location of the previous definition
#define MAX_BIN_DATA_LEN ((INT32_MAX / 8) * 5)
In file included from contrib/contrib@@contrib@sta/contrib-unity.c:8:
/knot-resolver-v4.0.0/build_dir/../contrib/base64.c:35: warning: "PD" redefined
#define PD 64
In file included from contrib/contrib@@contrib@sta/contrib-unity.c:7:
/knot-resolver-v4.0.0/build_dir/../contrib/base32hex.c:33: note: this is the location of the previous definition
#define PD 32
[13/19] Compiling C object 'lib/lib@@kres@sha/meson-generated_kres-unity.c.o'.
FAILED: lib/lib@@kres@sha/meson-generated_kres-unity.c.o
cc -Ilib/lib@@kres@sha -Ilib -I../lib -Ilib/.. -I../lib/.. -Icontrib -I../contrib -Icontrib/.. -I../contrib/.. -I. -I../ -I/usr/local/include -I/usr/include/p11-kit-1 -I/usr/include/luajit-2.1 -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=gnu11 -g -D_GNU_SOURCE -Wformat -Wformat-security -Wtype-limits -Wshadow -fvisibility=hidden -fPIC -MD -MQ 'lib/lib@@kres@sha/meson-generated_kres-unity.c.o' -MF 'lib/lib@@kres@sha/meson-generated_kres-unity.c.o.d' -o 'lib/lib@@kres@sha/meson-generated_kres-unity.c.o' -c 'lib/lib@@kres@sha/kres-unity.c'
In file included from lib/lib@@kres@sha/kres-unity.c:8:
/knot-resolver-v4.0.0/build_dir/../lib/cache/nsec3.c:255:12: error: conflicting types for 'dname_wire_reconstruct'
static int dname_wire_reconstruct(knot_dname_t *buf, const knot_dname_t *zname,
^~~~~~~~~~~~~~~~~~~~~~
In file included from lib/lib@@kres@sha/kres-unity.c:7:
/knot-resolver-v4.0.0/build_dir/../lib/cache/nsec1.c:28:12: note: previous definition of 'dname_wire_reconstruct' was here
static int dname_wire_reconstruct(knot_dname_t *buf, const struct key *k,
^~~~~~~~~~~~~~~~~~~~~~
In file included from lib/lib@@kres@sha/kres-unity.c:20:
/knot-resolver-v4.0.0/build_dir/../lib/layer/iterate.c:48: warning: "VERBOSE_MSG" redefined
#define VERBOSE_MSG(...) QRVERBOSE(req->current_query, "iter", __VA_ARGS__)
In file included from /knot-resolver-v4.0.0/build_dir/../lib/cache/api.c:40,
from lib/lib@@kres@sha/kres-unity.c:1:
../lib/../lib/cache/impl.h:394: note: this is the location of the previous definition
#define VERBOSE_MSG(qry, ...) QRVERBOSE((qry), "cach", ## __VA_ARGS__)
[15/19] Compiling C++ object 'modules/policy/modules@policy@@ahocorasick@sha/meson-generated_ahocorasick-unity.cpp.o'.
ninja: build stopped: subcommand failed.