Got this building failure: In file included from qemu-img.c:68: qemu-img-cmds.h:22:1: error: unterminated argument list invoking macro "printf" cc1: warnings being treated as errors qemu-img.c: In function ‘help’: qemu-img.c:95: warning: statement with no effect qemu-img.c:71: error: expected ‘;’ before string constant qemu-img.c:95: error: expected statement before ‘)’ token make: *** [qemu-img.o] Error 1
And git bisect figure out the commit: 84958305, "Enable _FORTIFY_SOURCE=2". And the code is here: printf("qemu-img version " QEMU_VERSION ", Copyright (c) 2004-2008 Fabrice Bellard\n" "usage: qemu-img command [command options]\n" "QEMU disk image utility\n" "\n" "Command syntax:\n" #define DEF(option, callback, arg_string) \ " " arg_string "\n" #include "qemu-img-cmds.h" #undef DEF #undef GEN_DOCS .... Seems gcc take "printf" as a marco. I added a "#undef printf" before the line, then it works... So any clue on what's happened and how to fix? GCC version is 4.1.2. -- regards Yang, Sheng