From 7a054e99e22ffbca74b89f48ecbc296a940f56c3 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Thu, 2 Aug 2012 14:21:00 +0100 Subject: [PATCH] Avoid clash of base64 symbols On Debian/Ubuntu, one of the libraries libvirt (indirectly) links with exports a symbol named 'base64_encode'. This takes precedence over GNULIB's base64_encode function during linking. Unfortunately they of course have different API semantics. To avoid this problem use a few #defines in config.h to rename the GNULIB provided function to have a 'libvirt_gl_' prefix --- configure.ac | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/configure.ac b/configure.ac index 6b189dbad0..04584998ee 100644 --- a/configure.ac +++ b/configure.ac @@ -2876,6 +2876,11 @@ test "x$lv_cv_static_analysis" = xyes && t=1 AC_DEFINE_UNQUOTED([STATIC_ANALYSIS], [$t], [Define to 1 when performing static analysis.]) +# Some GNULIB base64 symbols clash with a kerberos library +AC_DEFINE_UNQUOTED([isbase64],[libvirt_gl_isbase64],[Hack to avoid symbol clash]) +AC_DEFINE_UNQUOTED([base64_encode],[libvirt_gl_base64_encode],[Hack to avoid symbol clash]) +AC_DEFINE_UNQUOTED([base64_encode_alloc],[libvirt_gl_base64_encode_alloc],[Hack to avoid symbol clash]) + AC_OUTPUT(Makefile src/Makefile include/Makefile docs/Makefile \ docs/schemas/Makefile \ gnulib/lib/Makefile \