On 8/8/19 1:00 PM, Daniel P. Berrangé wrote:
The AM_CPPFLAGS setting includes the gnulib headers, which
means we can get some replacement functions defined. Since
virt-login-shell and the NSS module intentionally don't link
to gnulib, these replacement functions causes link failures.
This was seen cross-compiling on Debian for example:
virt-login-shell.o: In function `main':
/builds/libvirt/libvirt/build/tools/../../tools/virt-login-shell.c:81: undefined
reference to `rpl_strerror'
/builds/libvirt/libvirt/build/tools/../../tools/virt-login-shell.c:66: undefined
reference to `rpl_strerror'
/builds/libvirt/libvirt/build/tools/../../tools/virt-login-shell.c:75: undefined
reference to `rpl_strerror'
The only way to avoid these replacement gnulib headers is
to drop the -Ignulib/lib flags. We do still want to use
gnulib for configmake.h and intprops.h, but those can be
included via their full path.
We must also stop using internal.h, since that expects
-Ignulib/lib to be on the include path in order to resolve
the verify.h header.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
Technically a CI build fix, but waiting for review before
pushing since it is larger than most build fixes.
cfg.mk | 3 +++
tools/Makefile.am | 10 ++++++++++
tools/nss/libvirt_nss.c | 13 ++++++++++---
tools/nss/libvirt_nss_leases.c | 15 ++++++++-------
tools/nss/libvirt_nss_leases.h | 2 +-
tools/nss/libvirt_nss_macs.c | 6 +++---
tools/nss/libvirt_nss_macs.h | 2 +-
tools/virt-login-shell.c | 8 ++++++--
8 files changed, 42 insertions(+), 17 deletions(-)
Ooops.
Reviewed-by: Michal Privoznik <mprivozn(a)redhat.com>
Michal