From: Jan Vesely <jano.vesely@gmail.com>
To: qemu-devel@nongnu.org
Cc: qemu-trivial@nongnu.org, Markus Armbruster <armbru@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Stefan Weil <sw@weilnetz.de>
Subject: [Qemu-devel] [PATCH] configure: Check if struct fsxattr is available from linux header
Date: Fri, 29 Apr 2016 09:07:59 -0400 [thread overview]
Message-ID: <1461935279-30418-1-git-send-email-jano.vesely@gmail.com> (raw)
Fixes build failure with --enable-xfsctl and
new linux headers (>=4.5) and older xfsprogs(<4.5):
In file included from /usr/include/xfs/xfs.h:38:0,
from /var/tmp/portage/app-emulation/qemu-2.5.0-r1/work/qemu-2.5.0/block/raw-posix.c:97:
/usr/include/xfs/xfs_fs.h:42:8: error: redefinition of ‘struct fsxattr’
struct fsxattr {
^
In file included from /var/tmp/portage/app-emulation/qemu-2.5.0-r1/work/qemu-2.5.0/block/raw-posix.c:60:0:
/usr/include/linux/fs.h:155:8: note: originally defined here
struct fsxattr {
CC: qemu-trivial@nongnu.org
CC: Markus Armbruster <armbru@redhat.com>
CC: Peter Maydell <peter.maydell@linaro.org>
CC: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Jan Vesely <jano.vesely@gmail.com>
---
One can argue that the failure only happens for invalid linux-headers,
xfsprogs combinations, feel free to reject the patch in that case.
This patch relies on functionality introduced in
559607ea173 io: add QIOChannelSocket class
configure | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/configure b/configure
index b88d0db..bb64d6c 100755
--- a/configure
+++ b/configure
@@ -4474,6 +4474,21 @@ if test "$fortify_source" != "no"; then
fi
fi
+########################################
+# check if struct fsxattr is available
+
+have_fsxattr=no
+cat > $TMPC << EOF
+#include <linux/fs.h>
+struct fsxattr foo;
+int main(void) {
+ return 0;
+}
+EOF
+if compile_prog "" "" ; then
+ have_fsxattr=yes
+fi
+
##########################################
# End of CC checks
# After here, no more $cc or $ld runs
@@ -5137,6 +5152,9 @@ fi
if test "$have_ifaddrs_h" = "yes" ; then
echo "HAVE_IFADDRS_H=y" >> $config_host_mak
fi
+if test "$have_fsxattr" = "yes" ; then
+ echo "HAVE_FSXATTR=y" >> $config_host_mak
+fi
if test "$vte" = "yes" ; then
echo "CONFIG_VTE=y" >> $config_host_mak
echo "VTE_CFLAGS=$vte_cflags" >> $config_host_mak
--
2.7.3
next reply other threads:[~2016-04-29 13:09 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-29 13:07 Jan Vesely [this message]
2016-04-29 13:54 ` [Qemu-devel] [PATCH] configure: Check if struct fsxattr is available from linux header Stefan Weil
2016-04-29 13:54 ` Peter Maydell
2016-04-29 13:56 ` Stefan Weil
2016-04-29 14:00 ` Peter Maydell
2016-04-29 14:31 ` Stefan Weil
2016-04-29 14:49 ` Peter Maydell
2016-04-29 17:14 ` Jan Vesely
2016-04-29 17:15 ` [Qemu-devel] [PATCH v2] " Jan Vesely
2016-05-02 12:07 ` Peter Maydell
2016-05-02 12:18 ` [Qemu-devel] [Qemu-trivial] [PATCH] " Michael Tokarev
2016-05-02 12:30 ` Peter Maydell
[not found] <1458436706-20743-1-git-send-email-jano.vesely@gmail.com>
2016-04-12 21:09 ` [Qemu-devel] " Jan Vesely
2016-04-29 0:54 ` Jan Vesely
2016-04-29 7:52 ` Markus Armbruster
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1461935279-30418-1-git-send-email-jano.vesely@gmail.com \
--to=jano.vesely@gmail.com \
--cc=armbru@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-trivial@nongnu.org \
--cc=sw@weilnetz.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).