Certain versions of GCC will ignore the -Wformat-security flag unless you have also set the -Wformat flag. Unfortunately when checking flags, we only check one at a time in isolation, so it was thinking -Wformat-security is not supported in Fedora. The fix is to include all previously verified flags during the check process, but not for -Werror because for added fun, the autoconf test program itself causes compile warnings with some flags we have. The patch also fixes 3 harmless format problems in virsh Daniel Index: m4/compiler-flags.m4 =================================================================== RCS file: /data/cvs/libvirt/m4/compiler-flags.m4,v retrieving revision 1.2 diff -u -p -r1.2 compiler-flags.m4 --- m4/compiler-flags.m4 14 Jan 2009 15:23:26 -0000 1.2 +++ m4/compiler-flags.m4 27 Apr 2009 10:34:43 -0000 @@ -24,7 +24,15 @@ AC_DEFUN([gl_COMPILER_FLAGS], [AC_MSG_CHECKING(whether compiler accepts $1) AC_SUBST(COMPILER_FLAGS) ac_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $1" + dnl Some flags are dependant, so we set all previously checked + dnl flags when testing. Except for -Werror which we have to + dnl check on its own, because some of our compiler flags cause + dnl warnings from the autoconf test program! + if test "$1" = "-Werror" ; then + CFLAGS="$CFLAGS $1" + else + CFLAGS="$CFLAGS $COMPILER_FLAGS $1" + fi AC_TRY_LINK([], [], has_option=yes, has_option=no,) echo 'int x;' >conftest.c $CC $CFLAGS -c conftest.c 2>conftest.err Index: src/virsh.c =================================================================== RCS file: /data/cvs/libvirt/src/virsh.c,v retrieving revision 1.201 diff -u -p -r1.201 virsh.c --- src/virsh.c 15 Apr 2009 20:09:09 -0000 1.201 +++ src/virsh.c 27 Apr 2009 10:34:45 -0000 @@ -4463,7 +4463,7 @@ cmdNodeListDevicesPrint(vshControl *ctl, } /* Print this device */ - vshPrint(ctl, indentBuf); + vshPrint(ctl, "%s", indentBuf); vshPrint(ctl, "%s\n", devices[devid]); @@ -4487,7 +4487,7 @@ cmdNodeListDevicesPrint(vshControl *ctl, /* If there is a child device, then print another blank line */ if (nextlastdev != -1) { - vshPrint(ctl, indentBuf); + vshPrint(ctl, "%s", indentBuf); vshPrint(ctl, " |\n"); } @@ -4511,7 +4511,7 @@ cmdNodeListDevicesPrint(vshControl *ctl, /* If there was no child device, and we're the last in * a list of devices, then print another blank line */ if (nextlastdev == -1 && devid == lastdev) { - vshPrint(ctl, indentBuf); + vshPrint(ctl, "%s", indentBuf); vshPrint(ctl, "\n"); } } -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list