Unsolved -qt-xcb failure
-
@jsulm
Requires libxcb >= 1.5.PACKAGE DEPENDENCIES
Required packages:
libxcb1 libxcb1-dev libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-image0 libxcb-image0-dev libxcb-shm0 libxcb-shm0-dev libxcb-icccm1 libxcb-icccm1-dev libxcb-sync0 libxcb-sync0-dev libxcb-render-util0 libxcb-render-util0-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-glx0-devOn Ubuntu 11.10 icccm1 is replaced by icccm4 and xcb-render-util is not available:
libxcb1 libxcb1-dev libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-image0 libxcb-image0-dev libxcb-shm0 libxcb-shm0-dev libxcb-icccm4 libxcb-icccm4-dev libxcb-sync0 libxcb-sync0-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-glx0-dev
The packages for xcb-render-util can be installed manually from http://packages.ubuntu.com/natty/libxcb-render-util0 and http://packages.ubuntu.com/natty/libxcb-render-util0-devOn Ubuntu 12.04 icccm1 is replaced by icccm4 and xcb-render-util can be installed automatically:
libxcb1 libxcb1-dev libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-image0 libxcb-image0-dev libxcb-shm0 libxcb-shm0-dev libxcb-icccm4 libxcb-icccm4-dev libxcb-sync0 libxcb-sync0-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0 libxcb-render-util0-dev libxcb-glx0-devI have all these libraries installed, why also wrong. ???
-
@The-most-recent-future AGAIN: you are cross compiling! That means: you need that X11 stuff for your TARGET DEVICE not your development PC! It doesn't matter what you installed on your PC. What you install on your PC cannot be used on your target device (logical isn't it?). That's why I said you should read that link. You need to learn how cross compilation works if you want to cross compile, else you will not succeed.
One of the basic techniques for cross compilation is the sysroot, which contains all needed header files and libraries for the target device. -
@The-most-recent-future What is your target device?
-
, touchscreen . a touchscreen , arm board. samsung soc.
-
@The-most-recent-future You need to get a sysroot for it. How, depends on the provider of your device.
-
Hi,
As alternative, you can use Qt's bundled xcb. Pass the
-qt-xcb
parameter to your configure call. -
@jsulm
thanks !QT document is say install xcb, xcb is the same for x 11 ?
-
owowwo ! ~~how to do ? how to do?~~
-
@SGaist
how to do ? please help me , thanks -
Did you pass the option like I suggested ?
-
@SGaist
cryying crying ......
I do not known how to option for you suggested.
please help me . -
path_to_Qt_sources/configure -qt-xcb
-
@SGaist
i do not known ,
path_to_Qt_sources : this is a fnction ? macro ? -
Neither, it's a placeholder that you should replace by the actual path to your Qt sources.
Since you are already building Qt, just do the same as before but replace your
-xcb
parameter with-qt-xcb
. -
@SGaist
I do not known,
Save me once again ! 3Q -
Wait wait wait. I think there's been a mis-understanding here (from my side)
You're already configuring Qt with the
-qt-xcb
option it seems but it seems there something not clean.Did you do call configure from a clean state ? By clean state I mean either a non configured source tree or from an empty out of source build.
Just in case this page explains what will be provided by the
-qt-xcb
option. -
@SGaist
if configuring qt with the -qt-xcb option,
execute ./configure cmd will be failure.
built Qt will be failure, -
Can you show the complete configure line you are using ?
-
@SGaist
./configure -release -opensource -qt-libpng -qt-zlib -qt-libjpeg -qt-xcb -plugin-sql-sqlite -widgets -qt-sql-sqlite -make libs -no-cups -no-nis -no-iconv -no-dbus -no-qml-debug -no-egl -no-opengl -no-icu -no-accessibility -no-javascript-jit -silent -xplatform linux-arm-gnueabi-g++ -arch arm -linuxfb -nomake tools -make examples -nomake tests -qt-freetype -no-glib -strip -plugindir /root/downSource/qt-everywhere-opensource-src-5.2.0/plugins -confirm-license "$@" -verbose -
Ok... What exact backend do you want to use on your target ?
It seems you want to target LinuxFB and X11, is it really the case ? If only LinuxFB then just don't build the xcb backend.