Upstream-Status: Pending This issue is that with C++ compiler process an old version of kernel header file, coincidently that file has a variable named 'new': * 'embedded/qkbdtty_qws.cpp' include 'linux/vt.h'; * '/usr/include/linux/vt.h' has below code on SLED-11.x: + unsigned int new; On mostly hosts it has been changed to: new -> newev. Signed-off-by: Wenzong Fan ======================================= diff --git a/src/gui/embedded/qkbdtty_qws.cpp b/src/gui/embedded/qkbdtty_qws.cpp --- a/src/gui/embedded/qkbdtty_qws.cpp 2012-07-27 13:16:58.420198350 +0800 +++ b/src/gui/embedded/qkbdtty_qws.cpp 2012-07-27 13:24:43.924191127 +0800 @@ -54,8 +54,20 @@ #if defined Q_OS_LINUX # include + +/* Workaround kernel headers using "new" as variable name. The problem + is specific to SLED-11, other distros use "newev" rather than "new" */ +#ifdef __cplusplus +#warning "workaround kernel headers using new as variable name on SLED 11" +#define new newev +#endif + # include //TODO: move vt handling somewhere else (QLinuxFbScreen?) +#ifdef __cplusplus +#undef new +#endif + # include "qscreen_qws.h" # include "qwindowsystem_qws.h" # include "qapplication.h"