[libvirt] [PATCH] tools: avoid accidentally using files from gnulib

Michal Prívozník mprivozn at redhat.com
Thu Aug 8 12:22:06 UTC 2019


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 at 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 at redhat.com>

Michal




More information about the libvir-list mailing list