meson: building with meson -Dintrospection=false fails with unspecific error message
I just tried building with introspection disabled:
$ meson -Dintrospection=false build
The Meson build system
Version: 0.47.2
Source dir: /home/michael/git/NetworkManager
Build dir: /home/michael/git/NetworkManager/build
Build type: native build
Project name: NetworkManager
Project version: 1.15.0
Native C compiler: cc (gcc 8.2.0 "cc (Debian 8.2.0-5) 8.2.0")
Build machine cpu family: x86_64
Build machine cpu: x86_64
Has header "sys/auxv.h": YES
Checking for function "getrandom" : YES
Checking for function "secure_getenv" : YES
Checking for function "__secure_getenv" : NO
Checking for function "reallocarray" : YES
Checking for function "explicit_bzero" : YES
Checking for size of "dev_t": 8
Checking for size of "time_t": 8
Checking for size of "pid_t": 4
Checking for type "pid_t" : YES
Compiler for C supports arguments -fdata-sections: YES
Compiler for C supports arguments -ffunction-sections: YES
WARNING: -Wl,--gc-sections looks like a linker argument, but has_argument and other similar methods only support checking compiler arguments. Using them to check linker arguments are never supported, and results are likely to be wrong regardless of the compiler you are using. has_link_argument or other similar method can be used instead.
Compiler for C supports arguments -Wl,--gc-sections: YES
Compiler for C supports arguments -fno-strict-aliasing: YES
Compiler for C supports arguments -Wdeclaration-after-statement: YES
Compiler for C supports arguments -Wfloat-equal: YES
Compiler for C supports arguments -Wimplicit-fallthrough: YES
Compiler for C supports arguments -Winit-self: YES
Compiler for C supports arguments -Wlogical-op: YES
Compiler for C supports arguments -Wmissing-declarations: YES
Compiler for C supports arguments -Wmissing-include-dirs: YES
Compiler for C supports arguments -Wmissing-prototypes: YES
Compiler for C supports arguments -Wno-duplicate-decl-specifier -Wduplicate-decl-specifier: YES
Compiler for C supports arguments -Wno-format-truncation -Wformat-truncation: YES
Compiler for C supports arguments -Wno-missing-braces -Wmissing-braces: YES
Compiler for C supports arguments -Wno-missing-field-initializers -Wmissing-field-initializers: YES
Compiler for C supports arguments -Wno-pragmas -Wpragmas: YES
Compiler for C supports arguments -Wno-sign-compare -Wsign-compare: YES
Compiler for C supports arguments -Wno-unused-parameter -Wunused-parameter: YES
Compiler for C supports arguments -Wparentheses-equality: NO
Compiler for C supports arguments -Wpointer-arith: YES
Compiler for C supports arguments -Wshadow: YES
Compiler for C supports arguments -Wstrict-prototypes: YES
Compiler for C supports arguments -Wtypedef-redefinition: NO
Compiler for C supports arguments -Wundef: YES
Compiler for C supports arguments -Wunknown-attributes: NO
Found pkg-config: /usr/bin/pkg-config (0.29)
Native dependency uuid found: YES 2.32.1
Dependency libelogind found: NO
Native dependency libudev found: YES 239
Native dependency dbus-1 found: YES 1.12.10
Native dependency libndp found: YES 1.6
Native dependency jansson found: YES 2.11
Program eu-readelf found: NO
Program readelf found: YES (/usr/bin/readelf)
Native dependency libsystemd found: YES 239
Dependency libsystemd-login found: NO
Native dependency systemd found: YES 239
Native dependency gio-unix-2.0 found: YES 2.58.0
Native dependency gmodule-2.0 found: YES 2.58.0
Library dl found: YES
Native dependency udev found: YES 239
Native dependency libselinux found: YES 2.8
Native dependency audit found: YES 2.8.4
Native dependency polkit-gobject-1 found: YES 0.105
Native dependency gnutls found: YES 3.5.19
Native dependency nss found: YES 3.38
Has header "pppd/pppd.h": YES
Program pppd found: NO
Program /sbin/pppd found: NO
Program /usr/sbin/pppd found: YES (/usr/sbin/pppd)
Native dependency mm-glib found: YES 1.7.990
Program dhcpcanon found: NO
Program /sbin/dhcpcanon found: NO
Program /usr/sbin/dhcpcanon found: NO
Program /usr/local/sbin/dhcpcanon found: NO
Program /usr/bin/dhcpcanon found: NO
Program /usr/local/bin/dhcpcanon found: NO
Program dhclient found: NO
Program /sbin/dhclient found: YES (/sbin/dhclient)
Program dhcpcd found: NO
Program /sbin/dhcpcd found: NO
Program /usr/sbin/dhcpcd found: NO
Program /usr/local/sbin/dhcpcd found: NO
Program resolvconf found: NO
Program /sbin/resolvconf found: NO
Program /usr/sbin/resolvconf found: NO
Program /usr/local/sbin/resolvconf found: NO
Program netconfig found: NO
Program /sbin/netconfig found: NO
Program /usr/sbin/netconfig found: NO
Program /usr/local/sbin/netconfig found: NO
Program iptables found: NO
Program /sbin/iptables found: YES (/sbin/iptables)
Program dnsmasq found: NO
Program /sbin/dnsmasq found: NO
Program /usr/sbin/dnsmasq found: YES (/usr/sbin/dnsmasq)
Program dnssec-trigger-script found: NO
Program /usr/local/libexec/dnssec-trigger-script found: NO
Program /usr/local/lib/dnssec-trigger-script found: NO
Program /usr/local/lib/dnssec-trigger/dnssec-trigger-script found: NO
Program /usr/libexec/dnssec-trigger-script found: NO
Program /usr/lib/dnssec-trigger-script found: NO
Program /usr/lib/dnssec-trigger/dnssec-trigger-script found: NO
Native dependency libpsl found: YES 0.20.2
Native dependency libcurl found: YES 7.61.0
Native dependency libnewt found: YES 0.52.20
Native Vala compiler: valac (valac 0.42.0)
Program /home/michael/git/NetworkManager/tools/run-nm-test.sh found: YES (/home/michael/git/NetworkManager/tools/run-nm-test.sh)
Program intltool-merge found: YES (/usr/bin/intltool-merge)
Program perl found: YES (/usr/bin/perl)
Program xsltproc found: YES (/usr/bin/xsltproc)
Program /home/michael/git/NetworkManager/tools/check-exports.sh found: YES (/home/michael/git/NetworkManager/tools/check-exports.sh)
Native dependency glib-2.0 found: YES 2.58.0
Configuring nm-version-macros.h using configuration
WARNING: target links against shared modules. This is not
recommended as it is not supported on some platforms
WARNING: target links against shared modules. This is not
recommended as it is not supported on some platforms
Configuring org.freedesktop.nm_dispatcher.service using configuration
Configuring settings-docs.h using configuration
clients/common/meson.build:50: WARNING: Got an empty configuration_data() object and found no substitutions in the input file 'settings-docs.h.in'. If you want to copy a file to the build dir, use the 'copy:' keyword argument added in 0.47.0
Configuring server.conf using configuration
Configuring NetworkManager-dispatcher.service using configuration
Configuring NetworkManager.service using configuration
Configuring org.freedesktop.NetworkManager.service using configuration
Configuring NetworkManager-wait-online.service using configuration
Configuring org.freedesktop.NetworkManager.policy.in using configuration
vapi/meson.build:1:6: ERROR: Unknown variable "libnm_gir".
A full log can be found at /home/michael/git/NetworkManager/build/meson-logs/meson-log.txt
The problem afaics is that vapi
by default is true, and the combination -Dintrospection=false -Dvapi=true
does not work.
The autotools build handles this much nicer.
./configure --disable-introspection
just works, as vala is auto by default.
./configure --disable-introspection --enable-vala
will error out with a proper error message:
./configure --disable-introspection --enable-vala
...
configure: error: Vala bindings require GObject Introspection