X11/Xlib.h: No such file or directory
-
Yes, libx11-dev is already installed.
All these are already installed.sudo apt-get install libx11-dev libavahi-gobject-dev libSM-dev libfontconfig-dev libXext-dev libfontconfig1-dev libfreetype6-dev libx11-dev libxcursor-dev libxfixes-dev libxft-dev libxi-dev libxrandr-dev libxrender-dev
-
Hi,
Did you install these for your target ?
-
I Searched it again xlib.h is in system dir /usr/include/X11
Used PATH to this folder, still it's flashing the error.Do i have to do any path settings in qmake.conf located at this
/home/mars/qt-everywhere-opensource-src-5.5.1/qtbase/mkspecs/devices/linux-odroid-xu4-g++
or
/home/mars/qt-everywhere-opensource-src-5.5.1/qtbase/mkspecs/linux-arm-linaro-gnueabihf-g++
-
Since you're cross-compiling, you should get them for your target device.
-
Without any details about your device/linux distribution it's pretty much Crystal Ball Debugging. As to why its working for other devices: what is different between these other devices and this one ?
-
Sorry, i have not mentioned it.
I am not compiling on target board directly. Cross compiling using Linaro tool chains for Odroid XU4.
Took this source code qt-everywhere-opensource-src-5.2.0
For BeagalBone "-qt-xcb" option in configure worked without any error and build created. qmake worked fine in QtCreator.For Odroid XU4 "-qt-xcb" option in configure flashing error
**X11/Xlib.h: No such file or directory**
If it is -no-xcb this will get compiled and build created without that error.
Even if i do not give xcb option in configure it compiles and builds the code.So, how to build for Odroid XU4 with xcb support.
-
You have to add the needed Xorg dev packages to your Odroid sysroot
-
Well, i am not using sysroot. Instead , Using -prefix option so that all that make install stuff goes to /usr/local/qt-5.2-odroid.
Created a folder in /home/odroid, Did the configure with below options,
../qt-everywhere-opensource-src-5.2.0/configure -v -opensource -confirm-license -prefix /usr/local/qt-5.2-odroid -no-largefile -no-accessibility -qt-zlib -no-gif -qt-libpng -qt-libjpeg -no-nis -no-cups -xplatform linux-arm-linaro-gnueabihf-g++ -device linux- odroid-xu4-g++ -device-option CROSS_COMPILE=/usr/local/linaro/bin/arm-linux- gnueabihf- -no-xcb -no-c++11 -no-pch -nomake examples
This will build, with -no-xcb option.
From Qt Creator i will set the Compiler, Kit and qmake. Just build and deploy.
And it worked well on Odroid XU4How to get through with -qt-xcb option for Odroid.
For BeagalBone it works with -qt-xcb option. -
Then you have to provide all missing headers and libraries in your cross-compiler folders
-
Yes, i copied all the required headers to that folder. Set PATH to that folder also.
Still it's flashing error.For beagalbone, it compiled properly. How did that .conf file searched the files.
Wjy Odroid .conf is not ? Any thing to be done for PATH setting
-
You didn't provide the libraries.
When cross-compiling, the compiler and linkers need to be able to access both the headers and corresponding libraries for the device or at least the architecture your are building for. These are usually provided in the sysroot of your device along with specific stuff to access e.g. the GPU so that you are building against the same set of libraries you'll be using for your device.
Since you don't want to use the sysroot of your device, then you have to add everything by hand for your cross-toolchain to find.
-
I understood about that, but
For beagalbone ( Without sysroot ), build created and linked all libraries automaticall, i have not added any headers or libraries manully. This toolchain(Angstrom) having all the headers and correct paths.
Same thing should go with Odroid?
I am using this tool chain gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux to build Qt on Odroid. And this toolchains does not have few headers related xcb and others. Manually i added some. Libraries not located after searching.Any specific tool chains to build for Odroid XU4 .
If build is without xcb, what all the features will be missing?
-
Because Angstrom is not just a toolchain, it's a distribution. gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux is only a toolchain.
-
How did you install the dependencies ?
-
These are for your host system not for your target.