tools/configure.ac: add version check for glib2

xen-unstable fails to build in a SLES10SP4 environment since a long time
because the included version of glib is slightly older than the required
glib version. According to the glib docs version 2.12 includes base64
support, but SLES10 is shipped with glib 2.8.6:

qemu-timer-common.o: In function `init_get_clock':
/usr/src/packages/BUILD/xen-4.2.25432/non-dbg/tools/qemu-xen-dir/qemu-timer-common.c:57:
undefined reference to `clock_gettime'
qga/guest-agent-commands.o: In function `qmp_guest_file_write':
qga/guest-agent-commands.c:249: undefined reference to `g_base64_decode'
qga/guest-agent-commands.o: In function `qmp_guest_file_read':
qga/guest-agent-commands.c:224: undefined reference to `g_base64_encode'
collect2: ld returned 1 exit status
make[3]: *** [qemu-ga] Error 1

Add a version check to toplevel configure to require at least glib 2.12.
This makes sure configure can detect the condition early instead of
failing later in the middle of tools build when qemu-upstream errors
out.

Please rerun autoconf after applying this.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
This commit is contained in:
Olaf Hering committed 2012-07-04 15:46:16 +01:00
1 parent ecf5a746f1
commit c004a0fec2
2 files changed
+10 -10

No files matched your search

+9 -9
View File
@@ -5961,12 +5961,12 @@ if test -n "$glib_CFLAGS"; then
pkg_cv_glib_CFLAGS="$glib_CFLAGS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5
($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.12\""; } >&5
($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.12") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_glib_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0" 2>/dev/null`
pkg_cv_glib_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.12" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -5977,12 +5977,12 @@ if test -n "$glib_LIBS"; then
pkg_cv_glib_LIBS="$glib_LIBS"
elif test -n "$PKG_CONFIG"; then
if test -n "$PKG_CONFIG" && \
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0\""; } >&5
($PKG_CONFIG --exists --print-errors "glib-2.0") 2>&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.12\""; } >&5
($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.12") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; then
pkg_cv_glib_LIBS=`$PKG_CONFIG --libs "glib-2.0" 2>/dev/null`
pkg_cv_glib_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.12" 2>/dev/null`
else
pkg_failed=yes
fi
@@ -6002,14 +6002,14 @@ else
_pkg_short_errors_supported=no
fi
if test $_pkg_short_errors_supported = yes; then
glib_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-2.0" 2>&1`
glib_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "glib-2.0 >= 2.12" 2>&1`
else
glib_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-2.0" 2>&1`
glib_PKG_ERRORS=`$PKG_CONFIG --print-errors "glib-2.0 >= 2.12" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$glib_PKG_ERRORS" >&5
as_fn_error $? "Package requirements (glib-2.0) were not met:
as_fn_error $? "Package requirements (glib-2.0 >= 2.12) were not met:
$glib_PKG_ERRORS
+1 -1
View File
@@ -115,7 +115,7 @@ AX_PATH_PROG_OR_FAIL([BCC], [bcc])
AX_PATH_PROG_OR_FAIL([IASL], [iasl])
AX_CHECK_UUID
AX_CHECK_CURSES
PKG_CHECK_MODULES(glib, glib-2.0)
PKG_CHECK_MODULES(glib, [glib-2.0 >= 2.12])
# Check library path
AX_DEFAULT_LIB
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.