On 01/31/2017 11:33 AM, Olaf Hering wrote:
On Tue, Jan 31, Michal Privoznik wrote:
>> This fails to compile on systems without MS_MOVE, like openSUSE 11.4.
> $ grep -r MS_MOVE /usr/include/
At that point glibc did not provide MS_MOVE.
/usr/include/sys/mount.h: MS_MOVE = 8192,
/usr/include/sys/mount.h:#define MS_MOVE MS_MOVE
/usr/include/linux/fs.h:#define MS_MOVE 8192
/WD20_11.4/usr/include/linux/fs.h:#define MS_MOVE 8192
/WD20_13.1/usr/include/sys/mount.h: MS_MOVE = 8192,
/WD20_13.1/usr/include/sys/mount.h:#define MS_MOVE MS_MOVE
/WD20_13.1/usr/include/linux/fs.h:#define MS_MOVE 8192
So what should be done?
so sys/mount.h is present and does provide the symbol. And yet, compiler
does not see it. Anything suspicious on sys/mount.h that would make the
compiler not see it (e.g. #ifdef). Meanwhile, does this help?
diff --git i/src/util/virfile.c w/src/util/virfile.c
index bf8099e34..a900bd405 100644
--- i/src/util/virfile.c
+++ w/src/util/virfile.c
@@ -34,6 +34,9 @@
#include <sys/wait.h>
#if defined(HAVE_SYS_MOUNT_H)
# include <sys/mount.h>
+# if defined(__linux__)
+# include <linux/fs.h>
+# endif
#endif
#include <unistd.h>
#include <dirent.h>
Michal