cross compile qt 4.8.6 for imx6 board

sachin
Hello everyone,my tslib is cross compile succesful but when i excute
following command i got following error==>

sachin@Atishay:~/Documents/qt-everywhere-opensource-src-4.8.6$ 

./config.imx6 

This is the Qt for Embedded Linux Open Source Edition.

You are licensed to use this software under the terms of
the Lesser GNU General Public License (LGPL) versions 2.1.
You are also licensed to use this software under the terms of
the GNU General Public License (GPL) versions 3.

You have already accepted the terms of the  license.

Creating qmake. Please wait...
make: Nothing to be done for `first'.

You have not explicitly asked to use pkg-config and are cross-compiling.
pkg-config will not be used to automatically query cflag/lib parameters for
dependencies

The tslib functionality test failed!
You might need to modify the include and library search paths by editing
QMAKE_INCDIR and QMAKE_LIBDIR in
/home/sachin/Documents/qt-everywhere-opensource-src-4.8.6/mkspecs/qws/linux-imx6
-g++.

davef
Have you read through the Qt tutorial at:

http://mini2440vietnam.blogspot.co.nz/2011/04/upgrade-qt462-in-mini2440....

sachin
yes i have followed this step and succesfully cross compiled the
tslib...now i have solved the tslib error but i got new one while running
./configure.imx6 this command ==>

error=>
OpenGL ES 2.x auto-detection... ()
/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro
-toolchain/bin/arm-fsl-linux-gnueabi-g++
-c -pipe -mfloat-abi=softfp -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1
-DEGL_API_FB=1 -Wall -W -fPIE  -I../../../mkspecs/devices/linux-imx6-g++
-I. -I/home/sachin/ltib/rootfs/usr/include/GLES2
-I/home/sachin/ltib/rootfs/usr/include
-I/home/sachin/ltib/rootfs/usr/include/glib-2.0
-I/home/sachin/ltib/rootfs/usr/include/glib-2.0/gio
-I/home/sachin/ltib/rootfs/usr/include/glib-2.0/glib
-I/home/sachin/ltib/rootfs/usr/include/glib-2.0/gobject
-I/home/sachin/ltib/rootfs/usr/include/glib-2.0/include
-I/home/sachin/ltib/rootfs/usr/include/gstreamer-0.10
-I/home/sachin/ltib/rootfs/usr/include/libxml2 -o opengles2.o opengles2.cpp
opengles2.cpp:45:25: fatal error: GLES2/gl2.h: No such file or directory
compilation terminated.
make: *** [opengles2.o] Error 1
OpenGL ES 2.x disabled.
The OpenGL ES 2.0 functionality test failed!
 You might need to modify the include and library search paths by editing
 QMAKE_INCDIR_OPENGL_ES2, QMAKE_LIBDIR_OPENGL_ES2 and QMAKE_LIBS_OPENGL_ES2
in
/home/sachin/qt-everywhere-opensource-src-5.1.1/qtbase/mkspecs/devices/linux-imx
6-g++.

sachin
hello @devef 

i have succesfully compile tslib 
output : 

libts-0.0.so.0.1.1: ELF 32-bit LSB shared object, ARM, version 1 (SYSV),
dynamically linked, not stripped

and now cross compile of qt 4.8.6 for IMX6 board is running for two command

->sudo make
->sudo make install

thanks for your support

sachin
also succesfully cross compile qt 4.8.6 for IMX6 board today

file /usr/QT4.8.6/lib/libQtCore.so.4.8.6 

/usr/QT4.8.6/lib/libQtCore.so.4.8.6: ELF 32-bit LSB shared object, ARM,
version 1 (SYSV), dynamically linked (uses shared libs), stripped

sachin
*********************************************
INSTALLATION PROCEDURE FOR tslib LIBRARY ==>
*********************************************

->first downloaded from the Internet tslib-1.0.tar.gz 
->Extract the tar xvzf tslib-1.0.tar.gz
->then follow the script tslib.sh and check the variable path and all
->uncomment the first line in tslib/etc/ts_conf file 
  # Uncomment if you wish to use the linux input layer event interface
   module_raw input

******************************************************
ERROR AND SOLUTION DURING INSTALLATION OF TSLIB ===>
******************************************************
1. ./autogen.sh: 4: ./autogen.sh: autoreconf: not found
sol : sudo apt-get install autoconf

2. autoreconf: failed to run libtoolize: No such file or directory
sol : sudo apt-get install build-essential libtool

3. undefined reference to `rpl_malloc '
sol :configure, add option ac_cv_func_malloc_0_nonnull = yes

2. Couldnt open tslib config file

sol :ts.conf path is not set correctly;

3. No raw modules loaded.ts_config: No such file or directory

sol :Enter the module directory is set correctly set ts directory Or the
tslib library does not edit the input module In the tslib library source
tslib / etc / ts.conf remove module_raw input before # and spaces removed,
and then run the compiled copy operation;

4. / Usr/include/bits/fcntl2.h: 51:24: error: call to '__open_missing_mode'
declared with attribute error: open with O_CREAT in second argument needs 3
arguments
 In function 'open',
     inlined from 'main' at ts_calibrate.c: 229:11:
 / Usr/include/bits/fcntl2.h: 51:24: error: call to '__open_missing_mode'
declared with attri 

sol :
  / / source file / / if ((calfile = the getenv (TSLIB_CALIBFILE "))! =
NULL) {/ / cal_fd = open (calfile, O_CREAT | O_RDWR); / /}   else {/ /
cal_fd = open ( "/ etc / pointercal", O_CREAT | O_RDWR); / /} 

  / / need to change the following form 
  if ((calfile = getenv ("TSLIB_CALIBFILE"))! = NULL) {cal_fd = open
(calfile, O_CREAT | O_RDWR, 0777 );} else {cal_fd = open ("/   etc
/pointercal", O_CREAT | O_RDWR, 0777);} 

5. Can't exec "libtoolize": No such file or directory at / usr / bin /
autoreconf line 190.Use of uninitialized value $ libtoolize in pattern
match (m / /) at / usr / bin / autoreconf line

Sol : installed in Ubuntu libtool.deb or update with the command: apt-get
install libtool

6 Can't exec "aclocal": No such file or directory at /
usr/share/autoconf/Autom4te/FileUtils.pm line 290

Sol : apt-get install automake

tslib.sh file ==>
#!/bin/sh

export
CROSS_COMPILE=/home/surekha/Cross_compiler/fsl-linaro-toolchain/bin/arm-fsl-linu

x-gnueabi-
export CC=${CROSS_COMPILE}"gcc"
export CFLAGS=-march=armv7-a
export CXX=${CROSS_COMPILE}"g++" 
export AR=${CROSS_COMPILE}"ar" 
export AS=${CROSS_COMPILE}"as"
export
RANLIB=/home/surekha/Cross_compiler/fsl-linaro-toolchain/bin/arm-fsl-linux-gnuea

bi-ranlib
export LD=${CROSS_COMPILE}"ld"
export STRIP=${CROSS_COMPILE}"strip"
export ac_cv_func_malloc_0_nonnull=yes
sudo ./autogen-clean.sh
./autogen.sh
sudo ./configure
CC=/home/surekha/Cross_compiler/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g

cc
--host=arm-unknown-linux --build=i386-linux --prefix=/usr/local/tslib
ac_cv_func_malloc_0_nonnull=yes
sudo make
sudo make install

i have followed above all steps for tslib-1.0 compilation and succeed.

sachin
*******************************************************************
INSTALATION PROCEDURE OF CROSS COMPILE OF QT 4.8.6 FOR IMX6 BOARD
*******************************************************************

 $$$$$(NOTE : BEFORE GOING FOR THIS CHECK YOUR tslib SHOULD BE CROSS
COMPILE SUCCESFULLY OR NOT )$$$$$$$$$
  check as ==> -> /tslib/lib/libts-1.so.0.1.1 
         -> file libts-0.0.so.0.1.1 
         -> o/p =>libts-0.0.so.0.1.1: ELF 32-bit LSB shared object, " ARM
", version 1 (SYSV), dynamically linked, not stripped

-> download QT source file in tar.gz format
https://download.qt.io/archive/qt 4.8.6/
   (ERROR:You don't seem to have 'make' or 'gmake' in your PATH. Cannot
proceed
    SOLUTION:to solve these error used below tar command properly it will
be fixed it happens because your file are not properly untar  remove this
folder and try to extract by command)

-> tar -xvzf qt 4.8.6

-> download attached linux-imx6-g++.tar.gz and copy - paste it on location
-- > /qt-everywhere-opensource-src-4.8.6/mkspecs/qws

-> download attached config.imx6 file and copy - paste in qt-4.8.6 folder

-> ERROR : tslib functionality failed 
   SOLUTION : go to
qt-everywhere-opensource-src-4.8.6/mkspecs/qws/linux-imx6-g++ and open
qmake.conf file and give your path for toolchain

-> run ./config.imx6

-> if error occurs then rectify any error or do "make confclean" for
reconfiguration.(To reconfigure, run 'make confclean' and 'configure'.)

-> if u got following message 
   (Qt is now configured for building. Just run 'make'.
   Once everything is built, you must run 'make install'.
   Qt will be installed into /usr/QT4.8.6)

-> then run sudo make 
   (it will take nearly one hour)

-> Once everything is built, you must run 'sudo make install'
   (if the compilation is done, you will see the result files in
/usr/local/Qt-4.8.6)

-> check result for cross compiling is happen or not
 file /usr/QT4.8.6/lib/libQtCore.so.4.8.6 
/usr/QT4.8.6/lib/libQtCore.so.4.8.6: ELF 32-bit LSB shared object, "ARM
" version 1 (SYSV), dynamically linked (uses shared libs), stripped

above procedure for cross compile qt-4.8.6 for arm...that i have followed.