1111319_en-US

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

1111319_en-US

1111319_en-US

Building QT for i.MX6

Prerequisites:
The build is verified on prebuilt rootfs(based on LTIB) which can be downloaded from freescale.com

EGL uses framebuffer backend
libEGL.so -> libEGL-fb.so
libGAL.so -> libGAL-fb.so


QT4.8

1. Download the git respository for qt4.8:

$ git clone http://git.gitorious.org/qt/qt.git qt
$ cd qt


Let us consider this as <QTDir>

2. Create /tftpboot and point your target fileystem. As like

$ mkdir -p /tftpboot

$ cd /tftpboot

$ ln -s $(ROOTFFS) rootfs

TBD:Need to work on this to use sysroot option

3. Create a build directory to install for the qt4 packages. This directory can be  in any location. For example,

$ mkdir /opt/qt4
$ sudo chown -R /opt/qt4

Let us consider the the as /opt/qt4

4. Extract the attached mkspecs(linux-imx6-g++.tar.gz) to  /mkspecs/qws/

5. Apply the attached cd 0001-add-i.MX6-EGL-support.patch attached to enable egl support for i.MX6

$ cd
$ patch -p1<0001-add-i.MX6-EGL-support.patch

6. Export CROSS-COMPILE location path to PATH

$ export PATH=$PATH:/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/

7. Enter to the <QTDir>. Do configure. You can select the options as you like. Here is an example

$ cd

$ ./configure -qpa -arch arm -xplatform qws/linux-imx6-g++ -no-largefile -no-accessibility \
-opensource -verbose -system-libpng -system-libjpeg -system-freetype -fast -opengl es2 -egl -confirm-license \
-qt-zlib  -qt-libpng  -no-webkit -no-multimedia \
-make examples -make demos \
-release -make libs -exceptions -no-qt3support -prefix

8. When the configure summary is shown make sure the Qt has OpenGL ES 2.0 support. Do build

$ make
$ make install

9. Now need to build eglfs plugin

$ cd /src/plugins/platforms/eglfs
$ make
$ make install


    Now the eglfs will be installed to the QT Install directory.

10. By now all required QT files are in

11. Copy the install directory to target filesystem

$ cp -rf /opt/qt4 /tftpboot/rootfs/opt/.

12. Running Qt apps on target
    - Boot the target either with NFS or SD Image
    - Ensure that folder is copied on target file system at “/usr/local”.
    - Launch application using

$ cd /opt/qt4/examples/opengl/hellogl_es2
$ ./hellogl_es2 -platform eglfs

QT5

These steps are performed on the host

1. Download the git respository for qt5:

$ git clone git://gitorious.org/qt/qt5.git qt5

$ cd qt5


    Let us consider this as

2. Create a build directory to install for the qt5 packages. This directory can be  in any loctation. For example,

$ sudo mkdir /opt/qt5

$ sudo chown -R /opt/qt5

Let us consider the the installdir as /opt/qt5

3. Enter the Qt5 directory and run the init-repository script to download all the source code for
   Qt5. To download all the source code will take about an hour.

$ ./init-repository

Update:  In the latest Qt5 release the webkit library is included by default and there are some issues trying to compile it.

use the next line to avoid problems if not desired to use webkit.

$ ./init-repository --no-webkit

4. From the following path

$ gedit qtbase/mkspecs/devices/linux-imx6-g++/qmake.conf

5. At the top of the qmake.conf, there is a configure line. Copy and paste the configure line into a text file located
   in your build build directory. Edit the configure line to find your toolchain and filesystem. Also make sure to
   include the options -no-pch, -no-opengl, -opengl es2, Here is an example of
   a configure line.

Update: In the latest Qt5 stable, the option to compile the examples/demos is -compile-examples, instead of -make examples -make demos

If you are running into problems with webkit,  use the option -no-icu, this will disable the webkit.

$ cd
$ cd qtbase
$ ./configure -v -opensource -confirm-license -no-pch -no-xcb -no-opengl -opengl es2  \
        -make libs -device imx6 \
       -compile-examples \
      -device-option CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi- \
       -sysroot -no-gcc-sysroot \
      -prefix

7. Make the textfile that has the configure line and executable and run it. When the configure summary is shown make sure the Qt5 has openGL ES 2.0 support. Do build

$ make
$ sudo make install

   When Qt5 has finished building, Qt5 will be installed in two places:

           1. /
           2. /

This is good because now all the libraries and binaries for Qt5 are installed on the host and the target filesystem. Therefore, the target already has all the libraries and  binaries needed to run Qt5.

8. Also need to build qtjsbackend and qtdeclarative.

$ cd
$ cd qtjsbackend
$ ../qtbase/bin/qmake -r
$ make && sudo make install

$ cd
$ cd qtdeclarative
$ ../qtbase/bin/qmake -r
$ make && sudo sudo make install

9. Running Qt apps on target
    - Boot the target either with NFS or SD Image
    - Ensure that folder is copied on target file system at “/usr/local”.
    - Launch application using

$ cd /opt/qt5/examples/opengl/hellowindow
$ ./hellowindow -platform eglfs


FAQ:
On the target file system, the location of target libaries and includes may present in arm-linux-gnueabi directory. Make sure to create soflinks to QT can find. For example

$ cd $(ROOTFS)/usr/lib
$ ln -s arm-linux-gnueabi/libffi.so.6 libffi.so.6

While building QT5, you may see a build error that libQt5V8.so.5 is not found. This might be some problem to be addressed in QT. Workaround is to
copy all the binaries to correct path as like this

$ cp  //lib/* //.

What is coming up next:
1. QT on X is already available on Yocto filesystem. Steps to enable GPU Acceleration TDB.
2. QT with Wayland support.

i.MX6_AllRe: Building QT for i.MX6

I already done with it.

On Fri, Aug 12, 2016 at 10:43 AM, aravinthkumarjayaprakasam <

Re: Building QT for i.MX6

Hi,

Post you query in Qt Form. They will give support.

Home | Qt Forum

Regards,

Aravinth

Re: Building QT for i.MX6

Hi aravinth,

Yeah, you got my point. There is no target device platform for INTEGRITY in

qt5.5/qtbase/mkspecs/devices/.

Is there any possibility to create target platform in

qt5.5/qtbase/mkspecs/devices/

by our own??

This is the full command I used to configure the target

configure -embedded -xplatform qws/integrity-arm-cxarm -prefix /

-qt-sql-sqlite

-embedded - builds the embedded version of Qt

-xplatform qws/integrity-arm-cxarm - selects the arm-cxarm mkspec for

INTEGRITY

-qt-sql-sqlite - links sqlite directly into the Qt library

According to my task the target should be integrity-arm-cxarm

On Fri, Aug 12, 2016 at 7:50 AM, aravinthkumar jayaprakasam <

Re: Building QT for i.MX6

Hi bharathadwajakodanda​,

In your Qt source Below location can you select which device  you want to use:

~/qt5.5/qtbase/mkspecs/devices/

After that i will give you the support.

Re: Building QT for i.MX6

Hello every one,

How to configure and build Qt5.5 for INTEGRITY RTOS???

Re: Building QT for i.MX6

Hi peterchiu

in Qt 5.5 don't have qws. And also above mentioned problem i solved.

Regards,

Aravinth

Re: Building QT for i.MX6

Hi aravinthkumar jayaprakasam,

You can try to copy the qws.conf on qt4,

then put the qws.conf into qt-everywhere-opensource-src-x.x.x/qtbase/mkspecs/common/  (x.x.x is your qt version).

Then configure again.

Re: Building QT for i.MX6

Hi All

I have QT5.5.0, i want to crosscompile into imx6-linux. So i used the following configuration

./configure -v -opensource -confirm-license -no-pch -no-xcb -no-opengl -opengl es2  \

        -make libs -device imx6 \

       -compile-examples \

      -device-option CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi- \

       -sysroot /home/zumi/Project/Imx6q/rootfs/L3.0.35_4.1.0_130816_images_MX6/Rootfs/opt/qt -no-gcc-sysroot \

      -prefix /opt/qt-vision

Following error i am getting,

cc1plus: error: unrecognized command line option '-fuse-ld=gold'

arm-fsl-linux-gnueabi-g++ -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c

bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."

Symbolic function binding disabled.

And one more thing,

QT5.5.0 didn't have qws.conf file. so in your attached qmake.conf file i remove include(../../common/qws.conf) line.

If i not remove the line it shows No such a file found error. After the removing i got the above mentioned error.

Regards,

Aravinth

Re: Building QT for i.MX6

Hi nishad

I have successfully build Qt4.8.5 for imx6. But when I tried to run the sample example I got the below error:

root@freescale /opt/qt4.8.5-arm-opengl$ cd examples/opengl/hellogl_es2/

root@freescale /opt/qt4.8.5-arm-opengl/examples/opengl/hellogl_es2$ ls

bubble.cpp       glwidget.h       main.cpp         texture.qrc

bubble.h         hellogl_es2      mainwindow.cpp

glwidget.cpp     hellogl_es2.pro  mainwindow.h

<-opengl/examples/opengl/hellogl_es2$ ./hellogl_es2                    

bubble.cpp       glwidget.h       main.cpp         texture.qrc

bubble.h         hellogl_es2      mainwindow.cpp  

glwidget.cpp     hellogl_es2.pro  mainwindow.h    

<-opengl/examples/opengl/hellogl_es2$ ./hellogl_es2 -platform eglfs

Segmentation fault

root@freescale /opt/qt4.8.5-arm-opengl/examples/opengl/hellogl_es2$

Re: Building QT for i.MX6

Hello All,

is anyone able to compile QT5.5 or QT 5.6 for imx6q. This page is not helping me much because QT 5 compilation section referring the gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12 fsl tool chain whcih is not available for download because it is pretty quite old.If i am using linaro latest tolchain 4.8 or 4.7 QT doesn't compile.

I would really appreciate if someone let me know which is the correct tool-chain to compile QT 5.5 or QT 5.6 version on imx6.

Re: Building QT for i.MX6

Hi all PrabhuSundararaj

The git url  "git://gitorious.org/qt/qt5.git qt5"  is not work.

Is it new git url  for qt5 ? Because I want to use LTIB porting Qt5.

Please help, thanks all.

Re: Building QT for i.MX6

These patches are for Qt4 not for Qt5 right?

Re: Building QT for i.MX6

Hi Nishad,

Thanks for replying.

I am using LTIB for building my image.

yes, I built QT4.8 manually with steps as mentioned on this page.

Also, the configuration script is same as given here.

./configure -qpa -arch arm -xplatform qws/linux-imx6-g++ -no-largefile -no-accessibility \

-opensource -verbose -system-libpng -system-libjpeg -system-freetype -fast -opengl es2 -egl -confirm-license \

-qt-zlib  -qt-libpng  -no-webkit -no-multimedia \

-make examples -make demos \

-release -make libs -exceptions -no-qt3support -prefix /opt/qt4.

Regards,

Paritosh Singh

Re: Building QT for i.MX6

Hi,

Sorry for the delay in reply,

Could you give me more information about your problem?

Are you using LTIB to build your image or Yocto?

Did you manually build the QT?

Also can you mail me your configuration script? There could be a possibility that the QT is not properly built.

Regards,

nishad

Re: Building QT for i.MX6

Hi,

I have successfully build Qt4.8 for imx6. But when I tried to run the sample example I got the below error:

"Could not create the egl surface: error = 0x300b"

Please help me out of this.

Regards,

Paritosh

Re: Building QT for i.MX6

HI nice tutorial.... can you pls give some insights about qt webkit as well how to render a fullscreen HTML5 based webpage using that... am really new to qt... pls guide me

Re: Building QT for i.MX6

Hi all,

I tried build qt5 like in this doc.

My configuration command is:

./configure -v -opensource -confirm-license -make libs -device imx6  -device-option CROSS_COMPILE=/home/x0158990/hdd/tools/poky/1.7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-  -sysroot /home/x0158990/hdd/tools/poky/1.7/sysroots/x86_64-pokysdk-linux -no-gcc-sysroot  -prefix /home/x0158990/work/tools/QT5

I have got error:

Precompiled-headers support enabled.

/home/x0158990/hdd/tools/poky/1.7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -c -fvisibility=hidden fvisibility.c

Symbol visibility control enabled.

/home/x0158990/hdd/tools/poky/1.7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -o libtest.so -shared -Wl,-Bsymbolic-functions -fPIC bsymbolic_functions.c

bsymbolic_functions.c:2:2: error: #error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."

#error "Symbolic function binding on this architecture may be broken, disabling it (see QTBUG-36129)."

  ^

Symbolic function binding disabled.

In QTBUG-36129 bug's description I didn't found applicable solution.

Please help!

Re: Building QT for i.MX6

Configuration Script:

./configure -v -opensource -confirm-license -no-sse2 -no-sse3 -no-ssse3

-no-sse4.1 -no-sse4.2 -no-avx -no-xcb -no-sql-mysql -no-sql-db2

-no-sql-ibase -no-sql-oci -no-sql-odbc -no-sql-tds -no-sql-sqlite2

-no-pch -no-opengl -opengl es2  -wayland -make libs -device imx6 -make

examples -device-option

CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-

-sysroot /home/sumeet/ltib/rootfs -no-gcc-sysroot -prefix /usr/local/QT_5


Link to be followed thoughtfully along with the procedure given on the

current link above:

http://qt-project.org/wiki/RaspberryPi_Beginners_guide

I used the "cross-compiled-tools" to compile QT-5

and built individual modules using the link.

you need to download it as use it taking reference of the script given below for setting up path.

Cleaning a_config_if_compile_wrong:

sudo git submodule foreach --recursive "git clean -dfx"

Script for_setting_paths:

./fixQualifiedLibraryPaths /home/sumeet/ltib/rootfs

/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++

You might get fontconfig errors, which you need to solve by analysing

the error.

Although i was able to install QT5 , i still have problems with fonts, i

am not able to see fonts in the GUI. i am working on it.

regards

nishad

Re: Building QT for i.MX6

Ok nishad, i'm waiting for your procedure ! thank's in advance !

Re: Building QT for i.MX6

Hi ,

I successfully cross compiled QT5 for my custom iMX6Q board,

I used LTIB 3.0.35_4.1.0 kernel for building my u-boot, kernel and rootfs.

I am attaching documents and links that i prepared to help anyone who

wishes to build QT5, it might not help you directly, but the procedure

should help you.

regards,

Nishad

Re: Building QT for i.MX6

Hi all, i'm trying to build qt5 for a udoo quad board (use imx6 quad http://www.udoo.org/) but i'm blocked at ./configure. i had some errors :

/home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin/g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=softfp -g -Wall -W -fPIE -I../../mkspecs/devices/linux-imx6-g++ -I. -I../../../../usr/include -I../../../../usr/bin -o arch.o arch.cpp
g++: error trying to exec 'cc1plus': execvp: No such file or directory
Messages de l'assembleur:
Erreur fatale: option -march= invalide: « armv7-a »
gmake: *** [arch.o] Erreur 1
Unable to determine architecture!

Could not determine the target architecture!
Turn on verbose messaging (-v) to see the final report.
Determining architecture... ()
g++ -c -pipe -g -Wall -W -fPIE -I../../mkspecs/linux-g++ -I. -o arch.o arch.cpp
g++ -o arch arch.o
Found architecture in binary
CFG_HOST_ARCH="i386"
CFG_HOST_CPUFEATURES=""
System architecture: 'unknown'
Host architecture: 'i386'
C++11 auto-detection... ()
/home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin/g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=softfp -O2 -std=c++0x -Wall -W -fPIE -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/modjo/Udoo/Qt5_build/usr/include -I/home/modjo/Udoo/Qt5_build/usr/bin -o c++11.o c++11.cpp
g++: error trying to exec 'cc1plus': execvp: No such file or directory
Messages de l'assembleur:
Erreur fatale: option -march= invalide: « armv7-a »
gmake: *** [c++11.o] Erreur 1
C++11 disabled.

.......

......

......

......

OpenGL ES 2.x auto-detection... ()
/home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin/g++ -c -pipe -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -mfloat-abi=softfp -O2 -Wall -W -fPIE -I../../../mkspecs/devices/linux-imx6-g++ -I. -I/home/modjo/Udoo/Qt5_build/usr/include/GLES2 -I/home/modjo/Udoo/Qt5_build/usr/include -I/home/modjo/Udoo/Qt5_build/usr/bin -o opengles2.o opengles2.cpp
g++: error trying to exec 'cc1plus': execvp: No such file or directory
Messages de l'assembleur:
Erreur fatale: option -march= invalide: « armv7-a »
gmake: *** [opengles2.o] Erreur 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/modjo/Udoo/Qt5_build/qt5/qtbase/mkspecs/devices/linux-imx6-g++.

For information the Udoobuntu file system : http://www.udoo.org/downloads/

the link for the tutorial : http://www.udoo.org/ProjectsAndTutorials/how-to-build-qt5-for-udoo/?portfolioID=1394

my qmake.conf :

include(../common/linux_device_pre.conf)



ROOTFS_PATH=/home/modjo/Udoo/Qt5_build
TOOLCHAIN_PREFIX=/home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin

EGLFS_PLATFORM_HOOKS_SOURCES = $$PWD/qeglfshooks_imx6.cpp

QMAKE_INCDIR          += $${ROOTFS_PATH}/usr/include $${ROOTFS_PATH}/usr/bin
QMAKE_LIBDIR          += $${ROOTFS_PATH}/usr/lib/arm-linux-gnueabihf $${ROOTFS_PATH}/usr/lib

QMAKE_INCDIR_OPENGL_ES2 += /home/modjo/Udoo/Qt5_build/usr/include/GLES2
QMAKE_LIBDIR_OPENGL_ES2 += /home/modjo/Udoo/Qt5_build/usr/lib/GLESv2

#QMAKE_LIBS_EGL        += /home/modjo/Udoo/Qt5_build/usr/lib/GLESv2
#QMAKE_LIBS_OPENGL_ES2  += /home/modjo/Udoo/Qt5_build/usr/lib/GLESv2
#QMAKE_LIBS_OPENVG      += /home/modjo/Udoo/Qt5_build/usr/lib/OpenVG

QMAKE_LIBS_EGL        += -lEGL
QMAKE_LIBS_OPENGL_ES2  += -lGLESv2 -lEGL -lGAL
QMAKE_LIBS_OPENVG      += -lOpenVG -lEGL -lGAL


QMAKE_LFLAGS          += -Wl,-rpath-link,$$/home/modjo/Udoo/Qt5_build/lib/arm-linux-gnueabihf

IMX6_CFLAGS            = -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1
QMAKE_CFLAGS          += $$IMX6_CFLAGS
QMAKE_CXXFLAGS        += $$IMX6_CFLAGS

include(../common/linux_arm_device_post.conf)

load(qt_config)

and my configure :

./configure -prefix /opt/qt5 -make libs -no-pch -no-opengl -device imx6 -device-option CROSS_COMPILE=/home/modjo/Udoo/Qt5_build/fsl-linaro-toolchain/arm-fsl-linux-gnueabi/bin/ -no-largefile -opengl es2 -qt-zlib -qt-libpng -qt-libjpeg -no-nis -no-cups -gui -make examples -sysroot /home/modjo/Udoo/Qt5_build/exemples -no-gcc-sysroot -opensource -confirm-license -qreal float -v

Do you an idea to resolve this ?

Re: Building QT for i.MX6

I'm building qt-5.1.1 from dora branch of yocto project. All fine works instead HTML5 video from simple browser in qtwebkit-examples

I see player controls, but it doesn't work. On some videos i can view freeze frame of videos, but it not playing.

In console gstreamer output messages like this:

Qt Warning: Could not find a location of the system's Compose files. Consider setting the QTCOMPOSE environment variable.

libpng warning: iCCP: Not recognizing known sRGB profile that has been edited

Received finished signal while progress is still: 10 Url:  QUrl( "http://qt-project.org/" ) 

Aiur: 3.0.11

Core: MPEG4PARSER_06.07.04  build on Dec  5 2013 11:41:38

  mime: video/quicktime; audio/x-m4a; application/x-3gp

  file: /usr/lib/imx-mm/parser/lib_mp4_parser_arm11_elinux.so.3.2

Content Info:

    URI:

          https://r1---sn-8xb5-px8e.googlevideo.com/videoplayback?ip=212.90.165.14&require

          ssl=yes&mws=yes&source=youtube&upn=4-tA0Ie6tDA&mv=m&sparams=id,ip,ipbits,itag,ra

          tebypass,requiressl,source,upn,expire&key=yt5&ipbits=0&mt=1401803916&id=o-ABczKx

          qqFwtM_XhBgSvGnsGqyiHL18Wy6SqK0BZepcFQ&signature=121A2CB3142FB772CD72A9F1D872603

          C749A2B74.0370EDFC498A96A43C8F8A98C10184E14158A0D2&sver=3&ratebypass=yes&expire=

          1401827798&ms=au&fexp=908548,912321,913434,916611,923341,926122,930008&itag=18&c

          pn=VgAqvxj2iI2hp45w&ptk=youtube_none&pltype=contentugc&c=WEB&cver=html5

    Seekable  : Yes

    Size(byte): 32830110

Movie Info:

    Seekable  : Yes

    Live      : No

    Duration  : 0:11:52.503360000

    ReadMode  : Track

    Track     : 2

Track 00 [video_000000] Enabled

    Duration: 0:11:52.503360000

    Language: und

    Mime:

          video/x-h264, parsed=(boolean)true, width=(int)640, height=(int)360, framerate=(

          fraction)24000/1001

Track 01 [audio_000000] Enabled

    Duration: 0:11:52.503360000

    Language: und

    Mime:

          audio/mpeg, mpegversion=(int)4, channels=(int)2, rate=(int)44100, bitrate=(int)9

          6000, framed=(boolean)true, stream-format=(string)raw, codec_data=(buffer)121000

          00000000000000000000000000

Beep: 3.0.11

Core: AAC decoder Wrapper  build on Jan 22 2014 15:42:53

  mime: audio/mpeg, mpegversion=(int){2,4}

  file: /usr/lib/imx-mm/audio-codec/wrap/lib_aacd_wrap_arm12_elinux.so.3

CODEC: BLN_MAD-MMCODECS_AACD_ARM_03.07.00_CORTEX-A8  build on Sep 18 2013 10:29:53.

[--->FINALIZE aiurdemux

QtMultimedia examples working correctly.

Whats wrong and how can I fix it?

Re: Building QT for i.MX6

I am trying to setup a cross compiler setup for the RIOT (IMX6) on opensuse 13.21 (64),  as I would like to use qt with qws under Ubuntu Image (Must still figure out how-to disable the GUI, as this is not a 'standard' Unbuntu startup)

Step 6 assumes one has a cross compiler already installed.

    export PATH=$PATH:/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/

How can I install this,  where can I download it, as it seem to 'included' in some BSD package.

Thanks

Re: Building QT for i.MX6

Hey,

I successfully installed qt 4.8 in my target.

Initially i had 4.6.0 on my target, which had audio demo codes. 4.8 doesn't seem to have any multimedia demos. The existing examples execute correctly. however any example which i used to

run in 4.6.0 using qws doesn't seem to execute on 4.8. It crashes with a "segmentation fault".

I have qtCreater 2.7.2  with Qt 4.8.4 on my host, and any example code for instance a system call code or a mmap call doesn't seem to work.

I had shifted to 4.8 assuming and expecting better audio and Serial communication support. but simple codes compiled do not work in ltib. It is very frustrating.

Can anyone please help me out with that.

regards,

nishad

Re: Building QT for i.MX6

I found out that the hellogl_es2 example is not able to run when you dont have X11 or wayland. You need a windowing system because the hellogl_es2 encapsulates an QGLWidget within another widget. Better is to use QT5 + QML. I will give it a try. And probably your error is because you have to edit the file qtbase/mkspecs/devices/linux-imx6-g++/qmake.conf and add -mfloat-abi=hard in IMX6_CFLAGS. Give it a try.

Re: Building QT for i.MX6

AFAIK the qt-in-use-image only produces a rootfs for Qt 4.8 - but still the version should be good enough to compile the hellogl_es2 example.

I tried to compile the application with my Qt 5.1.1 toolchain (see link in my previous comment) but it didn't work - gnu/stubs-soft.h wasn't found... I didn't recognize this error before and don't know how to handle this - so sorry, I cant help you with that Smiley Sad

Re: Building QT for i.MX6

Hey I am experimenting with Yocto and my Mx6 Board. I am using dora and I used qte-in-use-image to "bake" an image. I want to experiment with QT + OpenGL using the framebuffer.

I disable X11 and Wayland with the flag: DISTRO_FEATURES_remove = "x11 wayland" on my local.conf

I am able to run the vivante vdk examples but I have not being able to run the hellogl_es2 example from OpenGL. I get a pitch black rendering. Have you being able to run the OpenGL examples from QT?

Re: Building QT for i.MX6

Hello Bradley,

I'm starting with IMX6 and Qt.

I followed the instructions but I'm having the same issue as yours. I have the same directories after the install, nothing more, and some errors during "make" and "make install".

Did you find a solution to build Qt4.8 for the IMX6?

Nicolas

Re: Building QT for i.MX6

Hi,

I solved that issue.

It would be a good choice to comment out those code which reports “EGLFS: OpenGL windows cannot be mixed with others”, that would make it fine.

Kind regards

Richard Chen

Re: Building QT for i.MX6

I would suggest everyone who uses already YOCTO for their images to also use it to compile Qt

See for a working Qt5 tutorial here:

Everyone who doesn't use YOCTO not 'til now: DO IT :smileygrin: read more about it in the Yocto Training - HOME

If you want to use Qt4, you can do this even easier because of the different layers that YOCTO delivers...

for the board: qt-in-use-image or qte-in-use-image

as toolchain: meta-toolchain-qt or meta-toolchain-qte

Have fun!

Re: Building QT for i.MX6

Hi, xicai chen.

I have the same problem with hellowindow application in Qt 5 (EGLFS: OpenGL windows cannot be mixed with others)
You solved it?

Re: Building QT for i.MX6

As I noticed that there is a patch file 0001-add-i.MX6-EGL-support.patch for Qt 4.8, however, there is not such a patch for QT5.

Did you miss it? There might be a similar patch to Qt5.


As I tried the hellowindow application in Qt 5.1, I got error log as follow. Do you have any hints?

QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed

QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed

QEglFSImx6Hooks will set environment variable FB_MULTI_BUFFER=2 to enable double buffering and vsync.

If this is not desired, you can override this via: export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=1

EGLFS: Unable to query physical screen size, defaulting to 100 dpi.

EGLFS: To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).

EGLFS: OpenGL windows cannot be mixed with others.

Aborted

Re: Building QT for i.MX6

First: I'm a very beginner in developing software for Linux Embedded. So may be my questions

are very basic. I'm sorry for that.

I need to cross-compile a QT 5 program from a PC based Ubuntu system to a i.MX6 board.

I already built the O.S. for the board following the instructions of the page

"https://github.com/Freescale/fsl-community-bsp-platform".

Now I'm trying to set up QT following the

https://community.freescale.com/docs/DOC-94066

document, i.e. this page.

I did step 1, 2, 3 and 4.

At step 5 gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12 is referenced.

Where can I find it?

I looked for it on http://www.linaro.org/ site but I didn't find it.

Thanks!

Re: Building QT for i.MX6

Hi,

I would like to cross compile tool chain and prebuilt rootfs based on ltib to cross compile Qt5.x for IMX6 Sabre AI board. Please let me know where can I download the same so that I can use the same cross compiler tool chain and rootfs used in this thread.

Thanks,

Ramakanth

Re: Building QT for i.MX6

Thanks Juha,

It seems with latest version of qtdeclarative this issue is fixed Smiley Happy

Thanks again

Re: Building QT for i.MX6

That's a real bug in Qt, see workaround in: https://bugreports.qt-project.org/browse/QTBUG-34065

(I would guess you are actually compiling post 5.1 version, 5.1.1 should compile just fine. If you cloned the qt5 sources remember to checkout the appropriate git tag to get 5.1.1)

Re: Building QT for i.MX6

Hello,

I have following problem during build of latest Qt5.1

compiler/qv4isel_masm_p.h: In member function 'void QQmlJS::MASM::Assembler::storeUInt32(JSC::AbstractMacroAssembler<:armassembler>::RegisterID, QQmlJS::MASM::Assembler::Pointer)':

compiler/qv4isel_masm_p.h:1212:63: error: 'convertUInt32ToDouble' was not declared in this scope

compiler/qv4isel_masm_p.h: In member function 'void QQmlJS::MASM::InstructionSelection::convertUIntToDouble(QQmlJS::V4IR::Temp*, QQmlJS::V4IR::Temp*)':

compiler/qv4isel_masm_p.h:1491:18: error: 'class QQmlJS::MASM::Assembler' has no member named 'convertUInt32ToDouble'

compiler/qv4isel_masm_p.h:1493:18: error: 'class QQmlJS::MASM::Assembler' has no member named 'convertUInt32ToDouble'

compiler/qv4isel_masm.cpp: In member function 'virtual void QQmlJS::MASM::InstructionSelection::visitRet(QQmlJS::V4IR::Ret*)':

compiler/qv4isel_masm.cpp:1978:22: error: 'class QQmlJS::MASM::Assembler' has no member named 'convertUInt32ToDouble'

compiler/qv4isel_masm.cpp: In member function 'JSC::AbstractMacroAssembler<:armassembler>::Jump QQmlJS::MASM::InstructionSelection::genTryDoubleConversion(QQmlJS::V4IR::Expr*, JSC::MacroAssemblerARM::FPRegisterID)':

compiler/qv4isel_masm.cpp:2172:14: error: 'class QQmlJS::MASM::Assembler' has no member named 'convertUInt32ToDouble'

Qt5 git version

commit cb2d850b479fed9fed3c4a9fea698f924be942ef

Author: Qt Submodule Update Bot <[email protected]>

Date:   Tue Oct 15 22:00:06 2013 +0300

LTIB 4.

Kindly let me know if you have solution?

Thanks & Regards

Re: Building QT for i.MX6

Hi,

   My QT4.8 had been built success,but when I test the example in my target board,it shows error:

   root@freescale /opt/qt4.8-arm-elink/examples/opengl/hellogl_es2$ ./hellogl_es2 -platform eglfs

./hellogl_es2: error while loading shared libraries: libQtOpenGL.so.4: cannot open shared object file: No such file or directory

  

   what can I do to solve it?

Re: Building QT for i.MX6

Hello,

Building seems to work fine for me but when I try to start one of the example project I get this error:

root@freescale /opt/qt5/examples/opengl/hellowindow$ ./hellowindow -platform eglfs

QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed

QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed

idr_remove called for id=2126092104 which is not allocated.

[<8004f72c>] (unwind_backtrace+0x0/0x138) from [<8024d930>] (idr_remove+0x1f8/0x208)

[<8024d930>] (idr_remove+0x1f8/0x208) from [<802bb51c>] (drm_ctxbitmap_free+0x24/0x30)

[<802bb51c>] (drm_ctxbitmap_free+0x24/0x30) from [<802bba28>] (drm_rmctx+0x5c/0x10c)

[<802bba28>] (drm_rmctx+0x5c/0x10c) from [<802bc064>] (drm_ioctl+0x2d0/0x3b4)

[<802bc064>] (drm_ioctl+0x2d0/0x3b4) from [<8010b344>] (do_vfs_ioctl+0x80/0x558)

[<8010b344>] (do_vfs_ioctl+0x80/0x558) from [<8010b854>] (sys_ioctl+0x38/0x5c)

[<8010b854>] (sys_ioctl+0x38/0x5c) from [<80048600>] (ret_fast_syscall+0x0/0x30)

Segmentation fault

root@freescale /opt/qt5/examples/opengl/hellowindow$

Any clue about what this can be?

Re: Building QT for i.MX6

Hi, all.

When i test qt5 example on target board, (./hellogl_es2) I have below error.

"This application failed to start because it could not find or load the Qt platform plugin "eglfs"."

Please share any tip about this eglfs error.

thank you.

jessie.

Re: Building QT for i.MX6

Hi Michael,

If you're running under X, you really want X to be accelerated, not Qt, and you should probably just use apt-get to install it.

Re: Building QT for i.MX6

Hi Michael,

eglvivante.h is included by eglplatform.h, which is included by egl.h.

Do you have the configuration patches:

     qt4: Enable OpenGL ES2 support for i.MX6 · edcd4a6 · Freescale/meta-fsl-arm · GitHub

Re: Building QT for i.MX6

Eric, still question:

I have a SABRElite board, which runs freescale Ubuntu image with X-window desktop.

Now I want to run a QT application on X-window of my devboard.

This manual (Building QT for i.MX6) Is suitable for my task?

Thanks!

Regards, Michael

Re: Building QT for i.MX6

Hi Eric!

Thanks for your answer.

Yes, I have these declarations in  EGL/eglvivante.h, but in my qt-4.8.4/src/plugins/platforms/eglfs/qeglfsscreen.cpp (after EGL support patch) I have no link to EGL/eglvivante.h

Where I need to add the reference to EGL/eglvivante.h, in qeglfsscreen.cpp, in qeglfsscreen.h or in eglfs.pro?
I added everywhere, but the effect isn't present, there is the same compilation error.

>> Did you include gpu-viv-bin-mx6q in your LTIB configuration?

I don't use a LTIB, I use a ready freescale Ubuntu rootfs image L3.0.35_4.0.0_UBUNTU_RFS from https://community.freescale.com/docs/DOC-94809

How to solve this problem?

Thanks again!

Regards, Michael

Re: Building QT for i.MX6

Hi Michael,

These declarations should be in EGL/eglvivante.h:

~/ltib4-nox/rootfs/usr/include$ grep -r fbGetDisplayByIndex *
EGL/eglvivante.h:fbGetDisplayByIndex(

Did you include gpu-viv-bin-mx6q in your LTIB configuration?

Re: Building QT for i.MX6

Hi all!

I followed the instructions to build QT4.8 for my target, Boundary's SABRElite board. Unexpectedly, in step 9 (Now need to build eglfs plugin), I got the compiling error

qeglfsscreen.cpp: In constructor 'QEglFSScreen::QEglFSScreen(EGLNativeDisplayType)':
qeglfsscreen.cpp:109:43: error: 'fbGetDisplayByIndex' was not declared in this scope
qeglfsscreen.cpp:110:57: error: 'fbGetDisplayGeometry' was not declared in this scope
qeglfsscreen.cpp: In member function 'void QEglFSScreen::createAndSetPlatformContext()':
qeglfsscreen.cpp:181:95: error: 'fbCreateWindow' was not declared in this scope
make: *** [.obj/release-shared/qeglfsscreen.o] Error 1


Any help?

Regards, Michael

Re: Building QT for i.MX6

Yeah, I am also thinking to build it using QT5 now, Anyway thanks for your replies Smiley Happy

cheers

Regards,

Sarjoon

Re: Building QT for i.MX6

Sorry, no, hopefully there will be an update with build in QT5 support...

I also tried to work out things with Qt4, but not much success there

either... = (

with Regards,

Zoltan

Re: Building QT for i.MX6

rossdehmoobed

Re: Building QT for i.MX6

Oh.. you have any idea regarding that.

With Regards,

Sarjoon

Re: Building QT for i.MX6

Anyway thanks for the replay Zoltan Smiley Happy

Re: Building QT for i.MX6

No, I don't have those solved yet unfortunately...

with Regards,

Zoltan

Re: Building QT for i.MX6

U mean you also had that input issue.. The issue I am facing is once after I run the demo application ./hellowindow -platform eglfs.. i cant give any input(I want to use touch). Nothing is working regarding touch.. I exported all the necessary Tslib variables and all.

Did the library files which u found is anything to do with the touch issue..

You also mentioned "unfortunately they didn't solve all the problems"

Re: Building QT for i.MX6

Hi I found some libs,

https://github.com/zOrg1331/fsl-gpu-viv-mx6q/tree/master/usr/lib, but

those are old,

and unfortunately they didn't solve all the problems. Incompatibility

issues remain.

with Regards,

Zoltan

Re: Building QT for i.MX6

I also have the same problem, Did U find any solution ragarding this

Re: Building QT for i.MX6

edit the build/conf/local.conf

Re: Building QT for i.MX6

Thanks.

Yes, I am running Ubuntu. I followed the article from the "Yocto With Boundary Device's Nitrogen6x: 5 steps only!" . I did not install all the necessary software on my system. I will do the installation as you point to me. Thanks again.

Re: Building QT for i.MX6

Hi squirem,

I got run bitbake fsl-image-gui, but I found the MACHINE=imx6qsabresd is not I wanted. My board is Nitrogen6x board from Boundary. How to change it to MACHINE=nitrogen6x? Could you please help?

By the way, I need Qt4.8.4 libraries on the image. Does the building image has been added Qt4.8.4?

Thanks,

Re: Building QT for i.MX6

Are you sure you followed the steps outlined here: https://github.com/Freescale/fsl-community-bsp-platform

Also, are you sure you have all the necessary software installed on your system. See the Yocto Project Quick Start Guide and look under packages: https://www.yoctoproject.org/docs/current/yocto-project-qs/yocto-project-qs.html

I'm guessing you're running Ubuntu, which means this command would install the software you need:

sudo apt-get install gawk wget git-core diffstat unzip texinfo \

  build-essential chrpath libsdl1.2-dev xterm

Re: Building QT for i.MX6

Hi,

I followed the instructions and when I ran "bitbake core-image-minimal". It pop up following error.

Pseudo is not present but is required, building this first before the main build

ERROR: OE-core's config sanity checker detected a potential misconfiguration.

Either fix the cause of this error or at your own risk disable the checker (see sanity.conf).

Following is the list of potential problems / advisories:

Please install the following missing utilities: gawk,chrpath

Then I ran "apt-get install gawk  chrpath". It pop up info as below.

The following packages were automatically installed and are no longer required:

libp11-kit-dev libgpg-error-dev comerr-dev libqt3-headers libgnutls-openssl27

libkrb5-dev liblcms1-dev libgnutlsxx27 libgssrpc4 libxt-dev libxmu-dev

libtasn1-3-dev libcups2-dev libqt3-compat-headers qt3-dev-tools libgcrypt11-dev

libkadm5clnt-mit8 libaudio-dev libkadm5srv-mit8 libxmu-headers libkdb5-6

libgnutls-dev krb5-multidev

Do I have to remove them using "apt-get autoremove     ......."?

Re: Building QT for i.MX6

Hi Zoltan,

i am having the same issue, also with another MPUs from several vendors. I have not solved it yet, but it looks like its a problem related with the rootfs, specifically with simlinks and lib paths.

There is a nice guide for a raspberry-pi device which i tried, and worked nice, but only with the rootfs image they specified (raspbian wheezy image): http://qt-project.org/wiki/RaspberryPi_Beginners_guide

When i tried to use my own rootfs, i have the problem you have had. Looks like the fix they propose could be the solution. That is to run a script to fix symlinks and libpaths, included in the croos-compiled-tools they provide.

I tried that but with no succes. Eventhough, everywhere in the web looks like that old configures files, can be a really headache, so it's really important to clean the files generated in the configure. Here it's very important to say, that the only actual way to do that, is cleaning the repository with:

    git submodule foreach --recursive "git clean -dfx"

because "make confclean" doesn't really work in Qt5 and "make clean" only cleans ol the .o and others files, but no all the configurations generated with ./configure. So, to download a tar.gz and use this a source code, should not be an option for Qt5.

Would really love to solve this problem with the imx6, using my own rootfs generated with buildroot (in my case). Any help?

Regards,

Santiago


Re: Building QT for i.MX6

No @ -no-gcc-sysroot vs. -sysroot

This was made for the freescale-linaro toolchain from ltib, because it doesn't allow you to set -sysroot as all the basic posix building-blooks were located within the toolchain and setting -sysroot in for gcc ruins it.

So the combination  of '-sysroot' and '-no-gcc-sysroot' results in Qt5 to do some magic in the background (e.g. PKG variables) but doesn't result in adding '--sysroot' to the gnu flags

Re: Building QT for i.MX6

Hi Joerg,

Thanks for your replying my question. Currently I need to build QT4.8 on my image in LTIB. We shall late on consider the Yocto image since it has QT built in. 

I googled and looked at the relate posts that mentioned needing to install libjpeg-dev. I wonder if any one in this thread knows how to fix?


Re: Building QT for i.MX6

Hallo Bill,

no need to do that for 4.8

Have a look at this

https://community.freescale.com/message/339555#339555

Joerg

Re: Building QT for i.MX6

Hi,

I followed the instructions to build QT4.8 for my target, Boundary's Nitrogen6x board. Unfortunately, in step 8, when it was building, I got the compiling error "fatal error: jpeglib.h: No such file or directory". I wonder if you guys have any comment about the error listing below.

cd "/home/byang/qt/./src/plugins/imageformats/jpeg"
make Makefile
make[4]: Entering directory `/home/byang/qt/src/plugins/imageformats/jpeg'
make[4]: `Makefile' is up to date.
make[4]: Leaving directory `/home/byang/qt/src/plugins/imageformats/jpeg'
make[3]: Leaving directory `/home/byang/qt/src/plugins/imageformats/jpeg'
make[3]: Entering directory `/home/byang/qt/src/plugins/imageformats/jpeg'
arm-fsl-linux-gnueabi-g++ -c -pipe -O2 -O2 -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -fvisibility=hidden -fvisibility-inlines-hidden -D_REENTRANT -Wall -W -fPIC -DQT_NO_DEBUG -DQT_PLUGIN -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I../../../../mkspecs/qws/linux-imx6-g++ -I. -I../../../../include/QtCore -I../../../../include/QtNetwork -I../../../../include/QtGui -I../../../../include -I../../../gui/image -I.moc/release-shared -I/home/byang/ltib/rootfs/usr/include -I/tftpboot/rootfs/usr/include/arm-linux-gnueabi/ -o .obj/release-shared/qjpeghandler.o ../../../gui/image/qjpeghandler.cpp
../../../gui/image/qjpeghandler.cpp:71:21: fatal error: jpeglib.h: No such file or directory
compilation terminated.
make[3]: *** [.obj/release-shared/qjpeghandler.o] Error 1

Re: Building QT for i.MX6

Hi,

I was recently trying to build QT5 for iMX6 board using the instructions above.

rootfs: L3.0.35_4.0.0_UBUNTU_RFS

configure:

./configure -v -opensource -confirm-license -no-pch -no-xcb -no-opengl -opengl es2 -make libs -device imx6 -device-option CROSS_COMPILE=/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.06_linux/bin/arm-linux-gnueabihf- -sysroot /home/max/Dev/rootfs -no-gcc-sysroot -prefix /opt/Qt5-imx6

unfortunately I have the following error:

/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.06_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/../../../../arm-linux-gnueabihf/bin/ld: error: opengles2 uses VFP register arguments, opengles2.o does not

/opt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.06_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/../../../../arm-linux-gnueabihf/bin/ld: failed to merge target specific data of file opengles2.o

...

/home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `XMapRaised'

/home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `pthread_setspecific@GLIBC_2.4'

/home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `_XReadPad'

/home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `dlopen@GLIBC_2.4'

/home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `pthread_key_delete@GLIBC_2.4'

/home/max/Dev/rootfs/usr/lib/libGAL.so: undefined reference to `XPending'

collect2: error: ld returned 1 exit status

make: *** [opengles2] 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/max/Dev/repository/qt5/qtbase/mkspecs/devices/linux-imx6-g++.


Then if I take out ES, I have: "Could not determine the target architecture!"


Can somebody comment on this? Any help?


Does the attached patch suppose to fix that?

Thanks!


Max

Re: Building QT for i.MX6

Hello Brad,

I will be the best someone who knows write a new Howto "Setup QT Creator" with Yocto based QT, rootfs and toolchain. But slowly I believe that no one really knows how to do that


Joerg

Re: Building QT for i.MX6

OK.  I used a link to ~/imx6/ltib/rootfs since I'm only doing NFS boot and I've already created a rootfs with LTIB.

Running configure generates several errors.

However, I am able to make and make install most of the files into /opt/qt4.

But the second bullet in Step #12 makes no sense.

Furthermore, there is no opt/qt4/examples directory. 

Here is what is what is there:


root@freescale /$ ls opt/qt4

bin      include  lib      plugins

Any ideas of where I might be having problems.  I've followed the directions very carefully.

Brad

Re: Building QT for i.MX6

you  have to place  "/media/NameOfMountedRootFs"  as ROOTFFS

Re: Building QT for i.MX6

I am trying to build Qt4 as per the instructions above.

In Step #2 is this command:

$ ln -s $(ROOTFFS) rootfs

When I try to run it, it states that the variable "ROOTFFS: command not found."

Any idea why this failed?  I tried ROOTFS and still had the same error.

Is ROOTFFS the qt install directory?  Where is it defined?  It's not in my environment.

Re: Building QT for i.MX6

It's on the master-next branch, so it's not ready quite yet.

Re: Building QT for i.MX6

sure that Qt5 is added?  Witch repo to check out? dylan  and what to build?

Joerg

Re: Building QT for i.MX6

Follow the instructions that are in the documentation.  You can download the documentation package from freescale site.

Re: Building QT for i.MX6

I have downloaded the Image (L3.0.35_4.0.0_130424_images_MX6)  How to put it on SD?

Re: Building QT for i.MX6

I just checked what machines are supported in the BSP I linked to. It seems that your board nitrogen6x is supported, and there does appear to be a set of Qt4 recipes for the demo image you are referring to: Photo Album - Imgur

Re: Building QT for i.MX6

So I can use a Image build with yocto? like fsl-image-gui-nitrogen6x.sdcard

Re: Building QT for i.MX6

He is referring to the prebuilt images which can be found under the "Operating System Software - Board Support Packages" section of whatever chip you're using. In my case, for the SabreSD board: L3.0.35_4.0.0_DEMO_IMAGE

You are right about LTIB and Yocto. Freescale is moving towards Yocto and the LTIB platform can be buggy. Use the Freescale community BSP instead: Freescale/fsl-community-bsp-platform · GitHub

The instructions are in the link. After compilation, an SD card image is generated that can be directly copied to an actual SD card and will run on whatever board you're using. There is already full Qt4 support and Qt5 support is only recently being added (added about a week ago).

Re: Building QT for i.MX6

Hi,

what is the meaning of "The build is verified on prebuilt rootfs(based on LTIB) which can be downloaded from freescale.com"  I have to build it with ltib or can i download it?  When I can download it, please explain how to use it on host.

To use LTIB makes little sense, because Yocto is preferred.

I try now to do LTIB for a couple of days without success.


regards

Joerg

Re: Building QT for i.MX6

Here's my configure script:

#!/bin/sh

./configure -v -opensource -confirm-license -no-pch -no-xcb -opengl es2 \

  -make libs -device imx6 \

  -make examples -make demos \

  -device-option CROSS_COMPILE=/home/squirem/Desktop/poky-dylan-9.0.0/build/tmp/sysroots/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/arm-poky-linux-gnueabi- \

  -sysroot /home/squirem/Desktop/poky-dylan-9.0.0/build/tmp/deploy/images/mountpoint \

  -prefix /opt/qt5

Notice I removed the -no-opengl and -no-gcc-sysroot options. I think the -no-opengl option conflicts with the -opengl es2 option and the -no-gcc-sysroot option conflicts with the -sysroot

option. You may also notice I added the -no-xcb option since xcb wasn't working for me.

As a side note, I think you can add more options to remove SQL support. Run ./configure -h to look at your options.

Re: Building QT for i.MX6

Question:

I follow the instruction as above to build QT5,

but I found the configure command is incorrect to my environment.

so I change the configure command as below:

./configure -v -opensource -confirm-license -system-sqlite -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-avx -no-xcb -no-sql-mysql -no-sql-db2 -no-sql-ibase -no-sql-oci -no-sql-odbc -no-sql-tds -no-sql-sqlite2  -no-pch -no-opengl -opengl es2  -wayland -make libs -device imx6 -make examples -make demos -device-option CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi- -sysroot /media/new-version/build/L3.0.35_4.0.0/ltib/rootfs -no-gcc-sysroot -prefix /usr/local/Trolltech/Qt5-imx6-1

It pass but I got problem when I run 'make'

/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/arm-fsl-linux-gnueabi-g++ -Wl,-rpath-link,/media/new-version/build/L3.0.35_4.0.0/ltib/rootfs/usr/lib -Wl,--no-undefined -Wl,-O1 -Wl,-rpath,/usr/local/Qt-5.0.0/Qt5-imx6-1/lib -shared -o libqsqlmysql.so .obj/release-shared/main.o .obj/release-shared/qsql_mysql.o .obj/release-shared/moc_qsql_mysql_p.o  -L/media/new-version/build/L3.0.35_4.0.0/ltib/rootfs/usr/lib -L/usr/lib -Wl,-Bsymbolic-functions -rdynamic -L/usr/lib/mysql -lmysqlclient_r -L/media/new-version/build/ltib/rpm/BUILD/qt5/qtbase/lib -lQt5Sql -lQt5Core -lpthread 

/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/libpthread_nonshared.a when searching for libpthread_nonshared.a

/opt/freescale/usr/local/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: skipping incompatible /usr/lib/libc_nonshared.a when searching for libc_nonshared.a

.obj/release-shared/qsql_mysql.o: In function `QMYSQLDriver::open(QString const&, QString const&, QString const&, QString const&, int, QString const&)':

qsql_mysql.cpp:(.text+0x2cb4): undefined reference to `mysql_set_character_set'

collect2: ld returned 1 exit status

I have cancel the option of the mysql when configure the QT5!

How to solve this problem?

thanks!

Re: Building QT for i.MX6

FAQ:

Question:

But I can not build qtdeclarative…

../qtbase/bin/qmake -r

Project WARNING: Unknown build part(s): demos

Reading /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative/src/src.pro

Reading /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative/src/qml/qml.pro

Project MESSAGE: /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtbase/bin/syncqt -module QtQml -version 5.1.0 -outdir /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative

= /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative

= /home/hp-lablinux/ltib_imx6solo_duallite/qt5/qtdeclarative

Project ERROR: Unknown module(s) in QT_PRIVATE: v8

Not sure what the problem is? I have looked around but not find any useful hints. Do you have an idea?

Solution:

“modify this file qtbase/bin/qt.conf

and add the correct prefix, the one given on cofigure

*configure

Re: Building QT for i.MX6

After running the configure command,  in the summary of supported features, OpenVG appears as not supported, is this normal or it means some library is missing on my side?

Re: Building QT for i.MX6

Works like a charm. Thank you!

My only issue is that my mouse or keyboard doesn't work when running with eglfs. does eglfs support user input?

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-19-2025 12:33 PM
更新者: