Building QT 5.12 on CentOS 6
-
Hi
I'm trying to build Qt 5.12.3 on a 32 bits CentOS 6.10 . I'm using the RH devtoolset4.
I configured the build with the following options:
configure -v -release -qt-xcb -no-opengl -skip imageformats -skip qtwebengine -skip qtgamepad -skip qtremoteobjects --prefix=/opt/qt5.12.3
I get the following when trying to configure the build:
ERROR: Feature 'xcb' was enabled, but the pre-condition 'features.thread && features.xkbcommon && libs.xcb' failed.
If I remove the -qt-xcb option, the configure and the build pass but the xcb plugin is not built and I'm not able to run any of the examples.
I tried to build Qt 5.11.3 with the same option and everything was fine, the xcb plugin is built and the examples run.
I checked the requirement to build Qt on Linux here: https://doc.qt.io/qt-5/linux-requirements.html and I think all the requirements are satisfied.
Did someone already had the same issues and was able to solve it ?
Thanks
Pablo -
Hi and welcome to devnet,
You need to install the libxkbcommon development package from your distribution.
-
Is X Window System installed on your system as the default display management system? Another way to say that, is your system X11 or Wayland based?
If you dont have X11, you cannot enable the feature xcb, because it depends on the X Window System. You can just exclude xcb feature, or configure and make default the X11.
You can check this question from the Quora. -
Hi
@SGaist ThanksObvisouly libxbkcommon-devel is not available in CentOS 6, it seems to be available in CentOS 7 though. Anyway, we can stick with the 5.11 version, it's not a blocker for us, 5.12 would have been better as it is a LTSYes, our system is X11 based.
Is there a reason why libxbkcommon-devel is not required for QT 5.11.3 build ? it is because it was packages in the 3rd party source directory of qtbase in QT5.11 and not anymore in Qt 5.12 ?
Thanks a lot guys !
-
IIRC, you can go up to 5.12.3. Qt 5.12.4 dropped the embedded library because all officially supported distributions where providing it.