cross compile qt 4.8.6 for imx6 board



  • hello everyone,
    i have succesfully cross compiled the
    tslib... 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++.



  • Install opengl-es2 dev packages on your imx6 board, then find opengl-es2 /include and /lib files and put it into your virtual machine Qt (library and include files) search path.



  • i have search on this error but still doesnt solved....



  • @zola thanks for your reply actually i have searched the opengl package but not got it from internet....



  • @sachin786 sudo apt-get install libgles2-mesa-dev



  • solve this issue now...@zola thanks for support


    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

    4. Couldnt open tslib config file

    sol :ts.conf path is not set correctly;

    1. 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;

    1. / 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);}

    1. 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 2016-02-05 06:32:49 Link


    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 and succeed.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.