[lsb-discuss] Different behaviour between 4.0 release and 4.0 from 4.1 beta

Craig Scott craig.scott at csiro.au
Sun Jan 2 04:40:58 PST 2011


I was able to successfully build Qt 4.7.1 using the LSB 4.0 compilers as obtained from the linux foundation LSB 4.0 yum repository. I thought I'd check the more recent packages that are available in the 4.1 beta, so I moved to the 4.1 yum repository and set my LSBCC_LSBVERSION environment variable to 4.0. In theory, this should also have worked fine, but I'm seeing some differences. Specifically, the compiler error (shown at the end of this email) indicates that the Xlib.h library is now being pulled in where is wasn't before. Qt detects this because it needs to surround the inclusion of the Xlib.h header with some preprocessor defines. The end result is a failed build with the LSB 4.1 beta.

Is anyone aware of changes to headers which would result in Xlib.h being pulled in now with the 4.1 beta packages where it would not have been pulled in with the 4.0 packages?


End of compiler out follows
=====================

/opt/lsb/bin/lsbc++ -c -pipe -I/PkgBuild/Tools/Build/../ThirdParty/include -pthread -I/opt/lsb/include////glib-2.0 -I/opt/lsb/lib-4.0//glib-2.0/include -DXTHREADS -D_REENTRANT -DXUSE_MTSAFE_API -I/opt/lsb/include////gtk-2.0 -I/opt/lsb/lib-4.0//gtk-2.0/include -I/usr/X11R6/include -I/opt/lsb/include////atk-1.0 -I/opt/lsb/include////cairo -I/opt/lsb/include////pango-1.0 -I/opt/lsb/include////freetype -I/opt/lsb/include////glib-2.0 -I/opt/lsb/lib-4.0//glib-2.0/include -I/opt/lsb/include -I/opt/lsb/include/// -I/opt/lsb/include////libpng12 -O2 -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -I/opt/lsb/include/// -I/opt/lsb/include -fPIC -DQT_SHARED -DQT_BUILD_GUI_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -DQT_USE_BUNDLED_LIBPNG -DQT_NO_OPENTYPE -DQT_NO_STYLE_MAC -DQT_NO_STYLE_WINDOWSVISTA -DQT_NO_STYLE_WINDOWSXP -DQT_NO_STYLE_WINDOWSCE -DQT_NO_STYLE_WINDOWSMOBILE -DQT_NO_STYLE_S60 -DQ_INTERNAL_QAPP_SRC -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_HAVE_SSE3 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-lsb-g++ -I. -I../../include/QtCore -I../../include -I../../include/QtGui -I.rcc/release-shared -I../3rdparty/xorg -Iimage -I../3rdparty/libpng -I../3rdparty/zlib -I../3rdparty/zlib -I../3rdparty/harfbuzz/src -Idialogs -I.moc/release-shared -I/opt/lsb/include -I.uic/release-shared -o .obj/release-shared/qguiplatformplugin.o kernel/qguiplatformplugin.cpp
In file included from ../../include/QtGui/private/qt_x11_p.h:1,
                 from kernel/qguiplatformplugin.cpp:64:
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:64:2: error: #error "cannot include <X11/Xlib.h> before this file"
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:263: error: declaration of C function ‘int XRegisterIMInstantiateCallback(Display*, _XrmHashBucketRec*, char*, char*, void (*)(_XIM*, char*, char*), char*)’ conflicts with
/usr/X11R6/include/X11/Xlib.h:3940: error: previous declaration ‘int XRegisterIMInstantiateCallback(Display*, _XrmHashBucketRec*, char*, char*, void (*)(Display*, char*, char*), char*)’ here
../../include/QtGui/private/../../../src/gui/kernel/qt_x11_p.h:272: error: declaration of C function ‘int XUnregisterIMInstantiateCallback(Display*, _XrmHashBucketRec*, char*, char*, void (*)(_XIM*, char*, char*), char*)’ conflicts with
/usr/X11R6/include/X11/Xlib.h:3949: error: previous declaration ‘int XUnregisterIMInstantiateCallback(Display*, _XrmHashBucketRec*, char*, char*, void (*)(Display*, char*, char*), char*)’ here

-- 
Dr Craig Scott
Computational Software Engineering Team Leader, CSIRO (CMIS)
Melbourne, Australia


More information about the lsb-discuss mailing list