Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Required XCB version



  • Hi
    Can anyone confirm the minimum required xcb version for Qt 5.12.0?

    The following page suggests 1.8.1 is required

    http://doc.qt.io/qt-5/linux-requirements.html

    but when I try to configure it on Suse 12.2 (which has 1.8.1) I get this in the configure output suggesting 1.9 is required.

    • /usr/bin/pkg-config --exists --silence-errors xcb '>=' 1.9

    The configure then fails with this message.

    ERROR: Feature 'xcb' was enabled, but the pre-condition 'features.thread && libs.xcb' failed.

    Thanks
    Bob S.


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Taking a quick look at the README in the xcb plugin sources, you're right, it's even 1.9.1.

    Using -qt-xcb might help.



  • Thanks for the response.

    I should have mentioned originally that I am using the -qt-xcb confiugre option already.

    Seems like a good reason for me to stop supporting legacy SuSE 12.2 systems.
    Bob S.



  • I've recently upgraded from Qt 4.8 to 5.13. I've sucessfully built QT5 on a CentOS7 linux machine running devtoolset-7 but encounter the same error on a CentOS6 box (again, with devtoolset-7).
    ./configure --prefix=/home/jv/QT5 -opensource -confirm-license -qt-xcb
    gives:
    ERROR: Feature 'xcb' was enabled, but the pre-condition 'features.thread && features.xkbcommon && libs.xcb' failed.
    Check config.log for details.

    Have looked through config.log and find no xkbcommon or thread references. Indeed, no "errors" around xcb.

    Looking at the requirements from here https://doc.qt.io/qt-5/linux-requirements.html my system appears to met the requirements.

    Can you tell me which libraries /header files configure thinks are wrong or can't find?


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Do you have the libxkbcommon development package installed ?
    You can also find more information about your current error by passing the -v option to configure and by looking at the test .logs.



  • These are the "xcb" packages I have installed:
    Package xorg-x11-xkb-utils-7.7-12.el6.x86_64 already installed and latest version
    Package xkeyboard-config-2.16-1.el6.noarch already installed and latest version
    Package xorg-x11-xkb-extras-7.7-12.el6.x86_64 already installed and latest version

    I'm sorry, I've possibly wasted your time. It appears that libxkbcommon is actually a package but is not available OOTB via yum install libxkbcommon. I will attempt to aquire this package.



  • Download the src rpm from ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home%3A/jayvdb%3A/Qt5/CentOS_6/src/libxkbcommon-0.8.3-63.1.src.rpm . configure, make and install. I now have /usr/local/include/xkbcommon and /usr/local/lib/libxkbcommon*

    Same error message. So, exactly what is configure looking for? Perhaps an include or a shared .so library that I have in an unusual place in my system. Trouble is, unless I know what things configure can't find/is unhappy about there isn't much I can do about it.


  • Lifetime Qt Champion

    I don't think configure will look into /usr/local/lib for system libraries (I might be wrong though).

    As I already suggested, did you add the -v option when calling configure ?
    Did you check the test logs to see where it failed exactly ?

    If not already, you should always call configure again from a clean state. For that to be easy, please use an out of source build so you can easily nuke it in case of trouble and you keep the sources clean.



  • Thanks very much for the advise. It appears that configure seems to remember too much and even though /usr/bin/pkg-config --modversion xkbcommon reported the correct version , configure didn't see that. Delete config.cache and it worked! I did add a symbolic link from /usr/local/lib/pkgconfig/*.pc to /usr/lib64/pkgconfig as pkg-config doesn't search /usr/local/lib by default.


  • Lifetime Qt Champion

    @jverdicchio said in Required XCB version:

    It appears that configure seems to remember too much

    Once it is done, the configure script shows a warning message stating that you shall cleanup before calling it again in the same folder.


Log in to reply