Friday, October 29, 2010

Setting Up Qt Development Environment for BeagleBoard-xM

This blog will show you how to set up Qt Creator to Develop Qt code for the Beagleboard-xM that is running Angstrom Linux.  In addition I will show you what you need to setup on your Beagleboard-xM to execute those programs.

I am developing my QT code under Linux, specifically Ubuntu 10.4.  IMHO it is a mistake to develop Qt natively on the Beagleboard except for trivial applications.  Although this blog discusses Ubuntu 10.4 as the development environment and Beagle-xM as the target this blog should be valuable when it is applied to other Linux and the original Beagleboard.

Be ready to spend a few hours getting this set up!

Useful Links:

Angstrom Angstrom Embedded Linux OS.
Angstrom Manual 
Qt Embedded Website
Qt Site on BeagleBoard   Includes specific instructions for the SGX GPU
TI's Building Qt Website  Texas Instruments excellent site for getting started.

Installing Qt-Creator:

I prefer to get Qt-Creator from their website rather than Ubuntu's Software Center because you get the latest version and it is easy to install.  Go to http://qt.nokia.com/downloads to download Qt.  Get the latest version of Qt for Linux; be sure to get the appropriate 32bit or 64bit version.  [This blog assumes that you are using the 32 bit version.]  Once downloaded go to the download directory and execute the following using your download file name:
chmod u+x qt-sdk-linux-x86-opensource-2010.05.1.bin
./qt-sdk-linux-x86-opensource-2010.05.1.bin

Installing the Cross-Compiler:

You will need to install a toolchain that will compile code on your Linux box that is intended to run on the ARM processor on your BeagleBoard.  Different arm processors need different compiler options.  So the easiest way to do this is to download a pre-configured toolchain for the Embedded OS and processor you are using.  Go to the Angstrom toolchain website and download a toolchain.  The ARM Processor on the BeagleBoard-xM is a Texas Instruments DM3730 which uses a ARM 7a Core.

For 32-bit Ubuntu you will want to download this file:
angstrom-2010.4-test-20100422-i686-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.2.tar.bz2
For 64-bit Ubuntu you will want to download this file:
angstrom-2010.4-test-20100421-x86_64-linux-armv7a-linux-gnueabi-toolchain-qte-4.6.2.tar.bz2

Go to the download directory and run:
sudo tar -xvj -C / -f [DownloadFileName]

Building Qt:

Now that you have your cross compiler installed it is time to compile Qt with it.  First thing to do is to download the Open Source LGPL version of Qt libraries 4.6.2 for Embedded Linux here.  Remember your download directory, you will need it for the following steps.

First; unzip the tar file you just downloaded.  Go into the download directory and execute:
tar -xvzf qt-everywhere-opensource-src-4.6.2.tar.gz

You need to create a new make.conf.  Run the following line to make a new mkspecs directory for the BeagleBoard Processor.
cp -R [DownloadDirectory]/mkspecs/qws/linux-arm-g++/ [DownloadDirectory]/mkspecs/qws/linux-DM3730-g++/

Edit the qmake.conf file found in [DownloadDirectory]/mkspecs/qws/linux-DM3730-g++/ to look like the following.
#
# qmake configuration for building with arm-linux-g++
#

include(../../common/g++.conf)
include(../../common/linux.conf)
include(../../common/qws.conf)

# modifications to g++.conf
#Toolchain

#Compiler Flags to take advantage of the ARM architecture
QMAKE_CFLAGS_RELEASE =   -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
QMAKE_CXXFLAGS_RELEASE = -O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp

QMAKE_CC = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/gcc
QMAKE_CXX = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++
QMAKE_LINK = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++
QMAKE_LINK_SHLIB = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/g++

# modifications to linux.conf
QMAKE_AR = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/ar cqs
QMAKE_OBJCOPY = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/objcopy
QMAKE_STRIP = /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/bin/strip

load(qt_config)

We are just about ready to compile Qt.  You can look at the configuration options before you start by running the following command.
cd [DownloadDirectory]
./configure --help

Now run the configure command [this can take many minutes]:
./configure -opensource -confirm-license -prefix /opt/qt-arm -no-qt3support -embedded arm -little-endian -xplatform qws/linux-DM3730-g++ -qtlibinfix E

See this website for more details if needed.  [Note:  If you are using a 64-bit version of the compiler you will need to use "-platform /qws/linux-x86_64-g++" instead of "-platform '/qws/linux-x86-g++" in the above. ]

Once this is complete you can run make and make install [make can take many hours]:
make
make install

Setting Up Qt-Creator


Once make and make install are complete you can add the Arm tools to Qt-Creator.  Start Qt-Creator select Tools->Options->Qt4->Qt Versions.  Press the + button and fill out the form as show below.



Setting up the BeagleBoard-xM

Now it is time to set up the Beagleboard. All of the Qt files that you need to move to the BeagleBoard can be found in the /opt/qt-arm/lib directory on your Linux Build System.

Unfortunately Qt expects the library and font files to have the same directory structure on your build machine and your target machine.  On our systems that directory is /opt/qt-arm/lib because we used "-prefix /opt/qt-arm" in our configuration. So on your Beagleboard you need create the /opt/qt-arm/lib directory.
cd /
mkdir opt
cd opt
mkdir qt-arm
cd qt-arm
mkdir lib
cd lib

Now you need to copy all the files out of your build system's /opt/qt-arm/lib directory and put those into the BeagleBoard-xM's /opt/qt-arm/lib directory. You can get the files to the Beagleboard by either networking, using a usb drive or plug the SD card into your Linux Build System.

You will now need to set up the BeagleBoard's path to point to this library directory. Edit the PATH statement in /etc/profile to the following:
PATH="/opt/qt-arm/lib:.....

There are a few packages you need to install on your BeagleBoard-xM to support Qt.
Connect your BeagleBoard to the Internet.

If you have not updated your opkg mangers library in a while then run:
opkg update

To get the packages run:
opkg install libgles-omap3
opkg install libstdc++6
opkg install libpng12-0

These packages are the ones that I found I needed when running a Qt program that uses the QtCore andQtGUI; other packages may need to be added as your Qt program uses more Qt libraries.

If you are unable to connect the BeagleBoard to Internet you can go here to download the packages.

Building and Running a Qt Program.

Start Qt-Creator; Create a new project. Go to Projects and make sure your Build Settings is set to QT BeagleBoard 4.6.2. Build your project. Copy your executable to the BeagleBoard and execute it. Normally you will be running the program (if it is a GUI application) using the Frame Buffer and you will need to use the -qws option.
My-First-BB-Program -qws

Good Luck! be sure to comment below. As people provide input I will modify this document.

52 comments:

  1. Thanks,
    this is a very useful guide.

    Have you tried the 3d acceleration?
    Do you know a way to use it without recompiling Openembedded?
    I found this:
    http://labs.qt.nokia.com/2009/11/20/building-qt-to-make-use-of-the-beagle-boards-sgx-gpu/

    It should be useful if the Angstrom toolchain contains qte with SGX support.

    ReplyDelete
  2. I'm not positive but I think the only thing you need to do is install it by using:

    opkg install libgles-omap3

    Which I have included in my instructions above.

    ReplyDelete
  3. Thanks Trey, I am working my way through this process. I am using a virgin install of Ubuntu on my desktop dev system, so there are a few other issues I am having to deal with not having some bits that you assume are installed.

    One little comment though, first time through I read your instructions literally and stumbled where we begin to build QT and need to download the QT libraries. You state that we need to remember our download directory as we need it later. There is the obvious step (to me now) where you have to un-tarball the QT libraries you just downloaded into a directory. It is this directory that is your [DownloadDirectory] in the next step.

    I am still working on setting up my toolchain so I can complete the 'make, make install' step and compile QT.

    Thanks again, ted

    ReplyDelete
  4. Hi Trey,
    I am following your instructions and I got to the make step before I stopped by this problem.

    In file included from animation/qabstractanimation.cpp:896:
    ../../include/QtCore/qatomic_i386.h: In function ‘QDebug qDebug()’:
    ../../include/QtCore/qatomic_i386.h:120: error: impossible constraint in ‘asm’
    make[1]: *** [.obj/release-shared-emb-arm/qabstractanimation.o] Error 1
    make[1]: Leaving directory `/home/bob/qtsdk-2010.05/qt/src/corelib'
    make: *** [sub-corelib-make_default-ordered] Error 2

    Can you tell me what I have done wrong? I can include more of the output from make if you need it.
    Thanks,
    Bob Davis

    ReplyDelete
  5. Hi Trey,
    I read what I wrote and I realize it sounds like I expect you to fix my problem. For that I apologize. I think it is great that you went to the effort to provide these instructions. I am an old hand at embedded systems, but I am a complete newbee to embedded Linux and the Beagleboard. I am impressed by the knowledge, experience and skill that I am encountering in the embedded Linux community and I want to become a contributing member, but I have a lot to learn. I don't expect you to solve my problem, but I would greatly appreciate if you or someone else could just point me in the right direction. Thank you in advance for any advise and my compliments to your blog.

    ReplyDelete
  6. Bob, sorry about the slow response I have not been checking the comment regularly over the holidays.

    I don't know the answer to your question,I have never seen this error before. I would recommend that you post your question on this forum http://www.qtcentre.org/forum/ I bet they will have an answer for you, but I will bet that it is some library that did not get included.

    ReplyDelete
  7. By default QWS framebuffer application runs with 640x480 resolution on BB-xM. Is there any way to change it? I believe, it should be somewhere in kernel arguments, but not really sure.

    ReplyDelete
  8. I just received my beagleboard XM and it runs Angstrom.
    I will need to build code to interface a lidar. They provide a Qt version and a linux gc as well (http://www.hokuyo-aut.jp/02sensor/07scanner/download/urg_programs_en/)
    How do I get started to rebuild the code. I am new to embedded systems.

    ReplyDelete
  9. Very helpful article. Thanks. Used this as a guide for ubuntu with Code Sourcery Lite cross compile tool chain. Not tested an app on the target though.

    ReplyDelete
  10. Is this optional or required?

    ReplyDelete
  11. what are the changes to be made inorder to build QT for beagleboard C4, could you please suggest ?

    Ram

    ReplyDelete
  12. Hi thanks for the great work!
    When cross compiling my application using qteverywhere 4.6.3 I get "QtOpenGL/QGLWidget:No such file or directory".

    The following post suggests changes to qmake.conf and ./configure
    http://developer.qt.nokia.com/forums/viewthread/879/ suggests

    This post says to add QT+=opengl to qmake.pro
    https://idlebox.net/2010/apidocs/qt-everywhere-opensource-4.7.0.zip/qtopengl.html

    Do you have any suggestions or experience with using OpenGL and qt-everywhere and what changes to your procedure are required to get it to work? eg do I just add -opengl to configure options or are changes to qmake.conf and qmake.pro required.

    Thanks again for the procedure , Phil

    ReplyDelete
  13. re Previous post on OpenGL I should have looked at this link before asking this question. Seems obvious now!

    http://processors.wiki.ti.com/index.php/Building_Qt_with_OpenGL_ES_accelerated_by_SGX

    Thanks again for your notes, Phil

    ReplyDelete
  14. good night
    I wonder. if anyone has been able to install the qt embedded for arm in qt creator but in Windows.

    ReplyDelete
  15. This comment has been removed by the author.

    ReplyDelete
  16. i hav many opencv programs

    i have download SD image from http://narcissus.angstrom-distribution.org/ & toolchain "Angstrom-2011.04-narcissus-beagleboard-i686-random-32e22b22-image-sdk.tar.gz"

    so my que is :->
    with help of this tool chain ,How can run opencv program on beagleboard? & this tool chain where to install on PC(Ubuntu) or Beagleboard ...after that what r the procedures ???????

    ReplyDelete
    Replies
    1. Hi Damon, please did you solve your problem? i'v the same problem as you..

      Delete
  17. hi! i a have program in Qt with opencv and gstreamer

    so my que is:->how will i compile my program in QtCreator in my ubuntu machine for the beagleboard

    ReplyDelete
  18. Hi Trey,
    I am trying to copy all of the files from the host in directory /opt/qt-arm/lib on to the /opt/qt-arm/lib directory on the Beagleboard-XM and I am running out of space on the Beagleboard-XM. I have 37MB of files in the host /opt/qt-arm/lib directory and they won't all fix in the Beagleboard-XM. Am I misunderstanding and doing something wrong?
    Thanks,
    Bob Davis

    ReplyDelete
  19. Cengiz

    Hi Bob.I have same problem.
    ../../include/QtCore/qatomic_i386.h: In function ‘QDebug qDebug()’:
    ../../include/QtCore/qatomic_i386.h:120: error: impossible constraint in ‘asm’
    make[1]: *** [.obj/release-shared-emb-arm/qabstractanimation.o] Error 1
    make[1]: Leaving directory `/home/bob/qtsdk-2010.05/qt/src/corelib'
    make: *** [sub-corelib-make_default-ordered] Error 2

    Did you solve it?if you solved this please help me.

    ReplyDelete
  20. i used step by step .. I configured ..when i run make command, i have this error please help me.

    make: *** [src/tools/bootstrap/Makefile] Error 127

    ReplyDelete
  21. i have installed qt 4.7.3 creator as per your steps and configured it for beagleboard xm by adding qt version .
    version name:Qt 4.7.3 for Beagleboard xm
    qmake location: /opt/qt-arm/bin/qmake
    Helpers:None Available.

    When we try to build project using version Qt 4.7.3 for Beagleboard xm getting error
    "Qt creator needs tool chain set up to build. Please configure tool chain in project mode."

    What wrong?
    Please help us.

    ReplyDelete
  22. Hi Trey,
    When I am trying the ./configure command as you have instructed, I am getting the following error,

    "The specified system/compiler is not supported:

    /home/biswa/Downloads/BeagleBoardXM/qt-everywhere-opensource-src-4.7.1/mkspecs/qws/linux-DM3730-g++

    Please see the README file for a complete list."

    It would be great if you can guide me to resolve this.

    ReplyDelete
  23. Hi,

    Your documentation is very useful for all of us.
    We have successfully create compile and deployed simple project on my BeagleBoardXM.
    But there is an problem when i execute the application on BB it shows double cursor on screen one for app and one for system.

    OS Angsrom
    Hw Begalboard xm

    please tell me what is the problem.

    i have executed app with ./test -qws
    (also i tried with ./test but it gives errors like qwssocker::Connecttolocalfile could not connect connection refused)

    ReplyDelete
  24. Hi

    you probably use the compiled software together with the gnome desktop manager. So you have to kill gdm process with
    pkill gdm
    an then start your program
    ./program -qws

    greetings
    flo

    ReplyDelete
  25. Can i use same method for Setting Up Qt\X11 Development Environment for ARM BeagleBoard?
    if not what should i do please explain me i am new in this field.
    Please let me know

    ReplyDelete
  26. Hi,
    I have done all the things except this.
    opkg install libgles-omap3
    opkg install libstdc++6
    opkg install libpng12-0
    and my Application opens fie But i can't move my mouse.Please help me.

    ReplyDelete
  27. I have worked with embedded systems for over twenty years and have used many so called guides. This one was one of the best of the best. Accurate, easy to follow and very relevant.

    I am not a Linux expert and so this guide has been a real life saver. The only real challenge I faced was finding the package with zlib.h. (Getting zlib1g, zlib1g-dev, zlib1g-dbg packages seemed be the trick.)
    One other comment was that if you are not logged in as root, you will need to use "sudo make install" to create the opt directories.

    Also, a big thanks to other user comments, very helpful. (Especially the comment about killing Gnome.)

    Major thanks to you Trey for all of your efforts here.

    Sid

    ReplyDelete
  28. I can load standard Qt example files with little problem but when I try to use the Qt Quick projects I get the error: "Invalid Qt version" on the Projects/Run Settings screen. Is there something in the build setup that causes this? I did notice that the version of QT associated with the BB is 4.6.2 and the version number for the Qt in the path is 4.7.2. Has anyone else out there been successful in is running Quick on the BB?

    Thanks,

    Sid

    ReplyDelete
  29. Hi

    I'm using this guide to setting up development environment for AM3517 processor, what is also arm cortex a8. So I change this line

    cp -R [DownloadDirectory]/mkspecs/qws/linux-arm-g++/ [DownloadDirectory]/mkspecs/qws/linux-DM3730-g++/

    for this

    cp -R [DownloadDirectory]/mkspecs/qws/linux-arm-g++/ [DownloadDirectory]/mkspecs/qws/linux-AM3517-g++/

    is that linux-XXXXXX-g++ just a name for that directory?

    When compiled was ready I add the /opt/qt-arm/bin/qmake to qt-creator but qt-creator says "No tool chain can produce for this Qt version. Please define one or more tool chains.". How I define the angstrom arm tool chain what I installed earlier?

    ReplyDelete
  30. Hi
    I following the guide but after ./configure...
    I have a lot of error: for example:

    c -o metamakefile.o -pipe -DQMAKE_OPENSOURCE_EDITION -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/symbian -I/home/beta/Desktop/vbox_shared/qt-everywhere-opensource-src-4.6.2/include -I/home/beta/Desktop/vbox_shared/qt-everywhere-opensource-src-4.6.2/include/QtCore -I/home/beta/Desktop/vbox_shared/qt-everywhere-opensource-src-4.6.2/src/corelib/global -I/home/beta/Desktop/vbox_shared/qt-everywhere-opensource-src-4.6.2/src/corelib/xml -DQT_NO_PCRE -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_NO_COMPRESS -I/home/beta/ti-sdk-beagleboard-05.02.00.00/linux-devkit/arm-arago-linux-gnueabi/usr/share/qtopia/mkspecs/linux-g++ -DHAVE_QCONFIG_CPP -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT generators/metamakefile.cpp
    make: c: Command not found
    make: [metamakefile.o] Error 127 (ignored)
    Can you help me?
    Best regards

    ReplyDelete
  31. Thank you Florian.

    i have type
    pkill gdm
    ./app

    and it starts with single cursor.

    now what can i do to solve this problem. is my configuration wrong?
    because prebuild examples are working fine.

    and is it possible to turn off gdm on startup pemenantly and insted of it my application will start automatically.



    Nilesh

    ReplyDelete
  32. Hi friends,

    I have 32 bit ubuntu 10.04 and downloaded the same file as mentioned in this blog and i am getting an error when I am executing make instruction.

    Error msg is:

    In file included from /usr/local/angstrom/arm/arm-angstrom-linux-gnueabi/usr/include/openssl/asn1.h:74,
    from ssl/qsslsocket_openssl_p.h:66,
    from ssl/qsslsocket_openssl_symbols_p.h:57,
    from ssl/qsslcertificate.cpp:110:
    /usr/local/angstrom/arm/lib/gcc/arm-angstrom-linux-gnueabi/4.3.3/include-fixed/openssl/bn.h:581: error: expected constructor, destructor, or type conversion before '*' token
    make[1]: *** [.obj/release-shared-emb-arm/qsslcertificate.o] Error 1
    make[1]: Leaving directory `/root/Downloads/qt-everywhere-opensource-src-4.6.2/src/network'
    make: *** [sub-network-make_default-ordered] Error 2


    Please let me know what should I do.

    Thanks,
    sai

    ReplyDelete
  33. I found the solution.

    I was told by one application engineer from Tenet Techtronics that I should use other toolchain.

    It worked

    angstrom-2011.03-i686-linux-armv5te-linux-gnueabi-toolchain-qte-4.6.3.tar.bz2

    Have a good day

    ReplyDelete
  34. Everything is very clear until you say "Check your build settings" after creating a new project. I don't know how to "Check my build settings" to make sure that I'm using the QT-SDK that I just built when I'm using QtCreator v2.2.1. Where do I check this?

    ReplyDelete
  35. im getting following error
    ../../corelib/tools/qbytearray.cpp:54:18: error: zlib.h: No such file or directory
    ../../corelib/tools/qbytearray.cpp: In function ‘QByteArray qCompress(const uchar*, int, int)’:
    ../../corelib/tools/qbytearray.cpp:467: error: ‘::compress2’ has not been declared
    ../../corelib/tools/qbytearray.cpp:470: error: ‘Z_OK’ was not declared in this scope
    ../../corelib/tools/qbytearray.cpp:477: error: ‘Z_MEM_ERROR’ was not declared in this scope
    ../../corelib/tools/qbytearray.cpp:481: error: ‘Z_BUF_ERROR’ was not declared in this scope
    ../../corelib/tools/qbytearray.cpp:485: error: ‘Z_BUF_ERROR’ was not declared in this scope
    ../../corelib/tools/qbytearray.cpp: In function ‘QByteArray qUncompress(const uchar*, int)’:
    ../../corelib/tools/qbytearray.cpp:548: error: ‘::uncompress’ has not been declared
    ../../corelib/tools/qbytearray.cpp:552: error: ‘Z_OK’ was not declared in this scope
    ../../corelib/tools/qbytearray.cpp:568: error: ‘Z_MEM_ERROR’ was not declared in this scope
    ../../corelib/tools/qbytearray.cpp:572: error: ‘Z_BUF_ERROR’ was not declared in this scope
    ../../corelib/tools/qbytearray.cpp:576: error: ‘Z_DATA_ERROR’ was not declared in this scope
    make[1]: *** [.obj/release-static-emb-arm/qbytearray.o] Error 1
    make[1]: Leaving directory `/home/coep/Downloads/qt-everywhere-opensource-src-4.6.2/src/tools/bootstrap'
    make: *** [sub-tools-bootstrap-make_default-ordered] Error 2

    ReplyDelete
    Replies
    1. sudo apt-get install zlib1g-dev libncurses5-dev
      i've try and successfull

      Delete
  36. This comment has been removed by the author.

    ReplyDelete
  37. hi everyone!

    i followed every step as per blog but when i execute "make" instruction, then i got following error. please help me.

    root@mehkants-PC:/home/mehkants/Desktop/qt-everywhere-opensource-src-4.6.2# make
    cd src/tools/bootstrap/ && make -f Makefile
    make[1]: Entering directory `/home/mehkants/Desktop/qt-everywhere-opensource-src-4.6.2/src/tools/bootstrap'
    g++ -c -pipe -fno-exceptions -O2 -fPIC -Wall -W -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../../mkspecs/qws/linux-x86-g++ -I. -I../../../include -I../../../include/QtCore -I../../../include/QtXml -o .obj/release-static-emb-arm/qbytearray.o ../../corelib/tools/qbytearray.cpp
    ../../corelib/tools/qbytearray.cpp:54:18: fatal error: zlib.h: No such file or directory
    compilation terminated.
    make[1]: *** [.obj/release-static-emb-arm/qbytearray.o] Error 1
    make[1]: Leaving directory `/home/mehkants/Desktop/qt-everywhere-opensource-src-4.6.2/src/tools/bootstrap'
    make: *** [sub-tools-bootstrap-make_default-ordered] Error 2
    root@mehkants-PC:/home/mehkants/Desktop/qt-everywhere-opensource-src-4.6.2# make
    cd src/tools/bootstrap/ && make -f Makefile
    make[1]: Entering directory `/home/mehkants/Desktop/qt-everywhere-opensource-src-4.6.2/src/tools/bootstrap'
    g++ -c -pipe -fno-exceptions -O2 -fPIC -Wall -W -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../../mkspecs/qws/linux-x86-g++ -I. -I../../../include -I../../../include/QtCore -I../../../include/QtXml -o .obj/release-static-emb-arm/qbytearray.o ../../corelib/tools/qbytearray.cpp
    ../../corelib/tools/qbytearray.cpp:54:18: fatal error: zlib.h: No such file or directory
    compilation terminated.
    make[1]: *** [.obj/release-static-emb-arm/qbytearray.o] Error 1
    make[1]: Leaving directory `/home/mehkants/Desktop/qt-everywhere-opensource-src-4.6.2/src/tools/bootstrap'
    make: *** [sub-tools-bootstrap-make_default-ordered] Error 2
    root@mehkants-PC:/home/mehkants/Desktop/qt-everywhere-opensource-src-4.6.2# make install
    cd src/tools/bootstrap/ && make -f Makefile install
    make[1]: Entering directory `/home/mehkants/Desktop/qt-everywhere-opensource-src-4.6.2/src/tools/bootstrap'
    g++ -c -pipe -fno-exceptions -O2 -fPIC -Wall -W -DQT_BOOTSTRAPPED -DQT_LITE_UNICODE -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_CODECS -DQT_NO_DATASTREAM -DQT_NO_GEOM_VARIANT -DQT_NO_LIBRARY -DQT_NO_QOBJECT -DQT_NO_STL -DQT_NO_SYSTEMLOCALE -DQT_NO_TEXTSTREAM -DQT_NO_THREAD -DQT_NO_UNICODETABLES -DQT_NO_USING_NAMESPACE -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../../mkspecs/qws/linux-x86-g++ -I. -I../../../include -I../../../include/QtCore -I../../../include/QtXml -o .obj/release-static-emb-arm/qbytearray.o ../../corelib/tools/qbytearray.cpp
    ../../corelib/tools/qbytearray.cpp:54:18: fatal error: zlib.h: No such file or directory
    compilation terminated.
    make[1]: *** [.obj/release-static-emb-arm/qbytearray.o] Error 1
    make[1]: Leaving directory `/home/mehkants/Desktop/qt-everywhere-opensource-src-4.6.2/src/tools/bootstrap'
    make: *** [sub-tools-bootstrap-install_subtargets-ordered] Error 2

    ReplyDelete
    Replies
    1. I got the same error. I am using Ubuntu 12.4 64-bit.
      Anyone can help?
      Thank you so much.

      Delete
  38. I follow these step and i have an error , Please help me to solve it :
    /usr/local/angstrom/arm/lib/gcc/arm-angstrom-linux-gnueabi/4.3.3/../../../../arm-angstrom-linux-gnueabi/bin/ld: qfilesystementry.o: Relocations in generic ELF (EM: 3)
    /usr/local/angstrom/arm/lib/gcc/arm-angstrom-linux-gnueabi/4.3.3/../../../../arm-angstrom-linux-gnueabi/bin/ld: qfilesystementry.o: Relocations in generic ELF (EM: 3)
    qfilesystementry.o: could not read symbols: File in wrong format
    collect2: ld returned 1 exit status
    make: *** [/home/shindo216/soft/qt-everywhere-opensource-src-4.8.2/bin/qmake] Error 1
    Thanks a lot :)

    ReplyDelete
    Replies
    1. Sorry I have a mistake , I downloaded qt-everywhere-opensource-src-4.8.2 , and this angstrom toolchain does not support for it

      Delete
  39. hello every one.

    when i run qt program for beagleboard (as target device) in host side. i got following error..

    Failed to start program. Path or permissions wrong?

    help me

    ReplyDelete
  40. Hi,

    I am developing on Mini2440 board and I have compiled qt for embedded linux (qt-everywhere-opensource-src-4.6.2) and tslib successfully and run my example program by giving

    ./hello -qws

    at terminal and it has run successfully.

    Now I want to launch the application from desktop by creating icon.

    please help me.

    Thank you
    Sunil

    ReplyDelete
  41. Natural Capitalism: a new business model that works synergistically four main elements: productivity dramatically increase the use of resources, go to the production of biologically inspired (biomimicry) with closed loops, no waste or toxicity, change the business model of the manufacture and sale of "things" to provide the service that the "thing" offers, and reinvest in the natural and human capital. B Corporations: a new type of corporation which uses the power of business to solve social and environmental problems. EPA Climate Leaders: U.S. Program work with companies to develop comprehensive climate change strategies. CERES Roadmap for Sustainability: designed to provide a comprehensive platform for sustainable business strategy and for accelerating best practices and performance.

    ReplyDelete
  42. Very Very good and usable post. Thank's to share your experience with us. I will try to remember these tips in my blog commenting task.

    Eco Housing - Eco Housing are manufacturers of Climate Proof Homes. Relax all year round in a home that embraces nature and contact Eco Housing specialists and suppliers here.

    ReplyDelete
  43. This comment has been removed by the author.

    ReplyDelete
  44. Great publish . It needs me almost Half an hour to research the whole publish. Definitely this one of the useful and useful publish to me. Thanks for the talk about.

    Solar - The Green Directory has the most comprehensive selection of Green, Eco, Sustainable, Fair Trade and Environmentally Friendly Companies, Products and Services. Use the eco directory to find green, eco, fair trade, recycled and sustainable businesses, services, news, events, articles and guides.

    Business Glossary - Adaptive Business Glossary Manager is a web-based platform used to acquire, organize, analyze and distribute knowledge about an organization's data assets.

    ReplyDelete
  45. Adaptive Business Glossary Manager is a web-based platform used to acquire, organize, analyze and distribute knowledge about an organization's data assets.

    ReplyDelete
  46. Hi, very nice tutorial!
    If people are also want to know how to cross compile Qt + opencv with the raspberry PI camera you can always check out my extended tutorial!
    http://aplacetogeek.wordpress.com/qt-opencv-v4l-cross-compiling-raspberry-pi-beagle-bone/

    ReplyDelete
  47. Acetech who have been one of the leading software development company in Delhi giving creative custom software development to meet interesting business challenges for the absolute most distinguished organizations and associations in the country.

    ReplyDelete