X11/Xlib.h: No such file or directory
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 XU4
How 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.
I could not find xlib libraries in the system, even after installing all the dependencies.
How did you install the dependencies ?
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
These are for your host system not for your target.
Well, during building (configure) Qt on host this error is raised.
How target comes into picture?
Since you want to cross-compile Qt with X11 support you need to provide your cross-toolchain with both header and libraries for the architecture you are cross-compiling to.
Ok, Where from i get libraries.
2 solutions are possible:
- Cross-compile each dependency needed
- Get the packages from the distribution of your board, extract them somewhere and add the paths to your configure line.
Regarding first option,
Headers and their linking headers are many, it's becoming difficult to get exact files and even difficult to compile.
Regarding second option.
I could not find the distribution for Odroid, If you can provide me some links to download it.
What linux flavor are you running on your Odroid ?
So there you have it: it's an Ubuntu
I checked this also gcc-4.7-linaro-rpi-gnueabihf.tbz still errors.
Can you provide a link.
Again, this is just a toolchain.
There's no one link. Since you don't want to use the sysroot option, either go to packages.ubuntu.com and download there the dependencies you need or use your device, install all dependencies there, then copy them to your host computer.
Yes, i gone through this ubuntu packages site, each header is dependends on other and its chain of it. Difficult to compile it
That is the reason, i have asked you. is there any distribution (like angstrom) for Odroid?
Already installed all the xcb dependcies.
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
You installed them on you host computer. Do it on the target