Build on Linux: -qt-xcb option?
-
Seems that adding following switches forces Qt to build libxcb.so
-xcb -xcb-xlib -bundled-xcb-input
(it's necessary to add all these switches based on my observations)
-
@ludek-vodicka, where do you specify those options? They are not part of configure, correct?
-
@Jawsh said in Build on Linux: -qt-xcb option?:
They are not part of configure
They are. Call configure with -h parameter and you will see.
-
Actually, if I remove bundled-xcb-input it works on configure. However, I have run into a new error: "ERROR: Feature 'xcb' was enabled, but the pre-condition 'features.thread && libs.xcb && tests.xcb_syslibs && features.xkbcommon-x11' failed." Anyone have any ideas? I have installed as many of the prerequisite libs as I could find listed.
-
Found this on: https://github.com/RudolfCardinal/camcops/issues/3
sudo apt-get build-dep qt5-default (having enabled "Source code" option in Software and Updates > Ubuntu Software)
After I did this, deleted config.cache, and reran configure then it worked.
-
I had this exact same problem and I found that if I combined the installing the packages listed by Joshua Fletcher on 16 Jun 2020:
- libxcb-devel
- libxkbcommon-devel
- xcb-util-devel
- xcb-util-image-devel
- xcb-util-keysyms-devel
- xcb-util-renderutil-devel
- xcb-util-wm-devel
- mesa-libGL-devel
And then running configure with the options suggested by Ludek Vodicka on 19 Jun 2020:
- -xcb
- -xcb-xlib
- -bundled-xcb-xinput
Built Qt and correctly built the libqxcb.so under the platforms plugin directory, and now my applications compiled against Qt 5.15.2 launch without any errors.
-
Hey everyone. I was facing the same issue on Ubuntu 20.04. This thread and @SeanMurphy_6's solution (23rd Nov) helped me a lot. Thanks for that.
Just wanted to add that it is important to use the 'dev' versions of the xcb libraries. In my case I had the latest 'xcb xinerama0' library installed but libqxcb.so still didn't compile. Fixed it by installing the dev version (libxcb-xinerama0-dev
on Debian/Ubuntu). If all xcb libraries are installed correctly, you should- See a 'yes' for each xcb library on the CLI when running the configure command:
Checking XCB XINERAMA .... yes
- See a 'succeeded' for tests in the config.log file:
test config.qtbase_gui.libraries.xcb_xinerama succeeded
When compiled you should see libqxcb.so in the
qtbase/plugins/platforms
directory
The original software ran perfectly after ensuring this. -
In case this might help someone, there appears to be a bug in configure with respect to the iccc such that with Qt-5.12.6 on RHEL7, despite having it installed the config log says:
loaded result for library config.qtbase_gui.libraries.xcb_icccm Trying source 0 (type pkgConfig) of library xcb_icccm ... + /bin/pkg-config --exists --silence-errors xcb-icccm '>=' 0.3.9 pkg-config did not find package. => source produced no result. Trying source 1 (type inline) of library xcb_icccm ... xcb/xcb_icccm.h not found in [] and global paths. => source produced no result. test config.qtbase_gui.libraries.xcb_icccm FAILED
I'm very sure I have that package installed (RHEL7's latest which is 0.27.1) which should have passed that version check, if I run that command myself I see it should have found it:
bash-4.2$ /bin/pkg-config --exists --silence-errors xcb-icccm '>=' 0.3.9 bash-4.2$ echo $? 0
Now pick a version I know I don't have to check pkg-config is working:
bash-4.2$ /bin/pkg-config --exists --silence-errors xcb-icccm '>=' 0.28.9 bash-4.2$ echo $? 1 bash-4.2$ /bin/pkg-config --version xcb-icccm 0.27.1 bash-4.2$ /bin/pkg-config --libs xcb-icccm -lxcb-icccm -lxcb
echoing $? gives you the result of the last command, 0 is "success" on unix-like OSes, non-zero is fail. Something odd is happening in that test.
If you were looking to install this library on RHEL7 the package name you need is xcb-util-wm-devel. Unfortunately that doesn't help in this case.
-
@jrb1 Using the latest version of RHEL7, I had this issue and found that I had to install
xcb-util-wm-devel
before installing other xcb* libraries. I tested this by removingxcb-util-wm-devel
andxcb-util-wm
then re-installing justxcb-util-wm-devel
and re-configuring. There seems to be a bug in RHEL7 with the way this it is packaged.Thank you for your post, you helped me fix my issue, along with @SeanMurphy_6 and @ludek-vodicka posts.
-
-