Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. Unable to run Qt app on ARM linux with an /tmp and /dev/fb0 issues
Forum Updated to NodeBB v4.3 + New Features

Unable to run Qt app on ARM linux with an /tmp and /dev/fb0 issues

Scheduled Pinned Locked Moved Mobile and Embedded
17 Posts 4 Posters 7.6k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    kiranqt
    wrote on 12 Jul 2013, 09:51 last edited by
    #1

    My host system is Ubuntu-12.04 ×86_64bit
    My target system is Pandaboard- ARMv7 Ubuntu-12.04
    My toolchain is arm-linux-gnueabihf-
    I configured Device type as Desktop in Qt Creator->Tools->Options

    I am successful in compiling Qt source on host system with qmake.conf as
    ————————————————————————————————————————————————————

    qmake configuration for building with arm-panda-g++

    include(../../common/linux.conf)
    include(../../common/gcc-base-unix.conf)
    include(../../common/g++-unix.conf)
    include(../../common/qws.conf)

    modifications to g++.conf
    QMAKE_CC = arm-linux-gnueabihf-gcc
    QMAKE_CXX = arm-linux-gnueabihf-g++
    QMAKE_LINK = arm-linux-gnueabihf-g++
    QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++
    modifications to linux.conf
    QMAKE_AR = arm-linux-gnueabihf-ar cqs
    QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
    QMAKE_STRIP = arm-linux-gnueabihf-strip
    load(qt_config)
    ————————————————————————————————————————————————————
    and build Qt src with following configuration

    ./configure -opensource -confirm-license -prefix /opt/qt-panda-armhf -embedded arm -platform qws/linux-x86_64-g++ -xplatform qws/linux-panda-g++ -no-pch -little-endian

    After this i copied /opt/qt-panda-armhf/lib from host to the target with same location as /opt/qt-panda-armhf/lib.

    Then i built qt app in QtCreator , by setting qmake, after building qt source with above mentioned qmake.conf. and setting arm-linux-gnueabihf- g++ compiler.

    I am successful in building qt gui app in qtcreator and got executable file.

    Then i copied the executable onto pandaboard target board and run by exporting the /opt/qt-panda-armhf/lib

    run as
    $ ./my_app -qws

    But i am unable to run the app. with following issue
    Cannot create Qt for Embedded Linux data directory: /tmp/qtembedded-0

    < for this i tried by changing /tmp folder in qt src path to user directory
    But got the same error as
    Cannot create Qt for Embedded Linux data directory: ~/App/temp/qtembedded-0 >

    < even i tried with mount point in /etc/fstab as
    none /tmp/ tmpfs size=1M 0 0
    But in this case also iam unable to run

    One more issue i found when running app as
    $ ./my_app
    then i got the issue as QScreenLinuxFb::connect: No such file or directory
    Error opening frame buffer device /dev/fb0

    < for this i tried

    $ ./my_app -qws -display LinuxFb

    But i am unsuccessful>

    need help regarding the same…

    1 Reply Last reply
    0
    • S Offline
      S Offline
      SGaist
      Lifetime Qt Champion
      wrote on 12 Jul 2013, 10:21 last edited by
      #2

      Hi,

      It seems that you don't have a frame buffer (or it's name is not /dev/fb0)

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      1 Reply Last reply
      0
      • P Offline
        P Offline
        pozitiffcat
        wrote on 12 Jul 2013, 10:36 last edited by
        #3

        Hi. I deleted /tmp and recreate, then i launched application with sudo and -qws parameter. It works for me.

        1 Reply Last reply
        0
        • K Offline
          K Offline
          kiranqt
          wrote on 12 Jul 2013, 13:19 last edited by
          #4

          i am able to to see /dev/fb0 in my system. ...
          So, frame buffer is available. with the same name fb0.

          [quote author="SGaist" date="1373624460"]Hi,

          It seems that you don't have a frame buffer (or it's name is not /dev/fb0)[/quote]

          1 Reply Last reply
          0
          • K Offline
            K Offline
            kiranqt
            wrote on 12 Jul 2013, 13:20 last edited by
            #5

            I even tried with sudo and -qws. But no use...
            any other thing i missed...?

            [quote author="pozitiffcat" date="1373625369"]Hi. I deleted /tmp and recreate, then i launched application with sudo and -qws parameter. It works for me.[/quote]

            1 Reply Last reply
            0
            • S Offline
              S Offline
              SGaist
              Lifetime Qt Champion
              wrote on 12 Jul 2013, 14:04 last edited by
              #6

              Are you sure that your /dev/fb0 points to something valid ?

              Interested in AI ? www.idiap.ch
              Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

              1 Reply Last reply
              0
              • K Offline
                K Offline
                kiranqt
                wrote on 15 Jul 2013, 12:58 last edited by
                #7

                Thx..for your reply

                I tried deleting /tmp and tried by recreating. but no result.

                < for this i tried by changing /tmp folder in qt src path to user directory
                But got the same error as

                Cannot create Qt for Embedded Linux data directory: ~/App/temp/qtembedded-0 >

                < even i tried with mount point in /etc/fstab as
                none /tmp/ tmpfs size=1M 0 0
                But in this case also iam unable to run

                How to get rid of this problem...

                1 Reply Last reply
                0
                • S Offline
                  S Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on 15 Jul 2013, 13:08 last edited by
                  #8

                  Does this path exist on your target ?

                  Interested in AI ? www.idiap.ch
                  Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  0
                  • K Offline
                    K Offline
                    kiranqt
                    wrote on 15 Jul 2013, 13:26 last edited by
                    #9

                    yes...

                    1 Reply Last reply
                    0
                    • S Offline
                      S Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on 15 Jul 2013, 13:30 last edited by
                      #10

                      And that the user rights are correct ?

                      Interested in AI ? www.idiap.ch
                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply
                      0
                      • K Offline
                        K Offline
                        kiranqt
                        wrote on 15 Jul 2013, 13:44 last edited by
                        #11

                        yes , The App directory has permissions drwxrwxrwx

                        1 Reply Last reply
                        0
                        • S Offline
                          S Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on 15 Jul 2013, 13:46 last edited by
                          #12

                          Does it contain a temp folder ?

                          Interested in AI ? www.idiap.ch
                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                          1 Reply Last reply
                          0
                          • K Offline
                            K Offline
                            kiranqt
                            wrote on 15 Jul 2013, 13:56 last edited by
                            #13

                            Existing Path is /home/xvg783/App/temp
                            Whether we have to create qtembedded-0 or it is created runtime.

                            I didn't find this qtembedded-0, in *App/temp/ *

                            As it is saying
                            Cannot create Qt for Embedded Linux data directory: ~/App/temp/qtembedded-0 >

                            is this path has to create runtime or the path has to be there before running the app.

                            1 Reply Last reply
                            0
                            • K Offline
                              K Offline
                              kiranqt
                              wrote on 15 Jul 2013, 14:01 last edited by
                              #14

                              When does this issue occur...? I unable to find out the problem.
                              I am using Pandaboard-ES with Ubuntu-12.04_64bit Desktop version installed on it., with kernel ubuntu-precise-hf from launchpad.

                              can you please tell me the steps to follow..where i am going wrong.
                              i followed the steps as mentioned in my first post.

                              1 Reply Last reply
                              0
                              • S Offline
                                S Offline
                                SGaist
                                Lifetime Qt Champion
                                wrote on 15 Jul 2013, 14:38 last edited by
                                #15

                                temp must exist before, qtembedded-0 will be created by the application acting as server.

                                Interested in AI ? www.idiap.ch
                                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                1 Reply Last reply
                                0
                                • H Offline
                                  H Offline
                                  hmariod
                                  wrote on 25 Sept 2013, 16:13 last edited by
                                  #16

                                  Sorry I misunderstood the explanation.
                                  I will reformulate mi question

                                  1 Reply Last reply
                                  0
                                  • H Offline
                                    H Offline
                                    hmariod
                                    wrote on 27 Sept 2013, 20:17 last edited by
                                    #17

                                    Hi all,
                                    I spend weeks trying to cross compile in QT for my Panda board and no way, finally I try the steps from this posts but I can't pass the ./configure.
                                    If someone could give me a help I'll appreciate.
                                    My host system is Ubuntu-13.04 ×86_64bit(running un Virtualbox)
                                    My target system is Pandaboard Xm Ubuntu-12.04.
                                    All the steps in host box:
                                    sudo apt-get install arm-linux-gnueabihf
                                    sudo mkdir /opt/qt-485-armhf
                                    cd /usr/src
                                    sudo wget http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.tar.gz
                                    sudo tar xf qt-everywhere-opensource-src-4.8.5.tar.gz
                                    cd /usr/src/qt-everywhere-opensource-src-4.8.5
                                    sudo cp -r mkspecs/qws/linux-arm-gnueabi-g++ mkspecs/qws/linux-arm-gnueabihf-g++
                                    sudo vim mkspecs/qws/linux-arm-gnueabihf-g++/qmake.conf

                                    include(../../common/gcc-base-unix.conf)
                                    include(../../common/g++-unix.conf)
                                    include(../../common/linux.conf)
                                    include(../../common/qws.conf)

                                    #Compiler Flags to take advantage of the ARM architecture
                                    #N.B.:I also tried to uncomment the two following instructions with no success
                                    QMAKE_CFLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
                                    QMAKE_CXXFLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp

                                    modifications to g++.conf

                                    QMAKE_CC = arm-linux-gnueabihf-gcc
                                    QMAKE_CXX = arm-linux-gnueabihf-g++
                                    QMAKE_LINK = arm-linux-gnueabihf-g++
                                    QMAKE_LINK_SHLIB = arm-linux-gnueabihf-g++

                                    modifications to linux.conf

                                    QMAKE_AR = arm-linux-gnueabihf-ar cqs
                                    QMAKE_OBJCOPY = arm-linux-gnueabihf-objcopy
                                    QMAKE_STRIP = arm-linux-gnueabihf-strip

                                    load(qt_config)

                                    sudo sed -i -e "/#if/d" -e "/#error/d" -e "/#endif/d" config.tests/unix/libmng/libmng.cpp (This command fixes detection of libmng 2.0.)
                                    export QTDIR=/opt/qt4-485-armhf
                                    And finally:
                                    sudo ./configure -prefix /opt/qt4-485-armhf -sysconfdir /etc/xdg -embedded arm -little-endian -host-big-endian -no-qt3support -nomake examples -nomake demos -opensource -confirm-license -release -openssl-linked -no-phonon -no-phonon-backend -no-nis -platform qws/linux-x86_64-g++ -xplatform qws/linux-arm-gnueabihf-g++ -optimized-qmake

                                    With this result:
                                    Creating qmake. Please wait...
                                    g++ -c -o option.o -pipe -m64 -DQMAKE_OPENSOURCE_EDITION -O2 -g -I. -Igenerators -Igenerators/unix -Igenerators/win32 -Igenerators/mac -Igenerators/symbian -Igenerators/integrity -I/usr/src/qt-everywhere-opensource-src-4.8.5/include -I/usr/src/qt-everywhere-opensource-src-4.8.5/include/QtCore -I/usr/src/qt-everywhere-opensource-src-4.8.5/src/corelib/global -I/usr/src/qt-everywhere-opensource-src-4.8.5/src/corelib/xml -I/usr/src/qt-everywhere-opensource-src-4.8.5/tools/shared -DQT_NO_PCRE -DQT_BUILD_QMAKE -DQT_BOOTSTRAPPED -DQLIBRARYINFO_EPOCROOT -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_NO_COMPONENT -DQT_NO_STL -DQT_NO_COMPRESS -I/usr/src/qt-everywhere-opensource-src-4.8.5/mkspecs/qws/linux-x86_64-g++ -DHAVE_QCONFIG_CPP -DQT_NO_THREAD -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DEPRECATED option.cpp
                                    g++ -o "/usr/src/qt-everywhere-opensource-src-4.8.5/bin/qmake" project.o property.o main.o makefile.o unixmake2.o unixmake.o mingw_make.o option.o winmakefile.o projectgenerator.o meta.o makefiledeps.o metamakefile.o xmloutput.o pbuilder_pbx.o borland_bmake.o msvc_vcproj.o msvc_vcxproj.o msvc_nmake.o msvc_objectmodel.o msbuild_objectmodel.o symmake.o initprojectdeploy_symbian.o symmake_abld.o symmake_sbsv2.o symbiancommon.o registry.o epocroot.o gbuild.o qtextcodec.o qutfcodec.o qstring.o qtextstream.o qiodevice.o qmalloc.o qglobal.o qbytearray.o qbytearraymatcher.o qdatastream.o qbuffer.o qlist.o qfile.o qfilesystementry.o qfilesystemengine_unix.o qfilesystemengine.o qfilesystemiterator_unix.o qfsfileengine_unix.o qfsfileengine.o qfsfileengine_iterator.o qregexp.o qvector.o qbitarray.o qdir.o qdiriterator.o quuid.o qhash.o qfileinfo.o qdatetime.o qstringlist.o qabstractfileengine.o qtemporaryfile.o qmap.o qmetatype.o qsettings.o qsystemerror.o qlibraryinfo.o qvariant.o qvsnprintf.o qlocale.o qlocale_tools.o qlocale_unix.o qlinkedlist.o qnumeric.o qcryptographichash.o qxmlstream.o qxmlutils.o

                                    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 system floating point format could not be detected.
                                    This may cause data to be generated in a wrong format
                                    Turn on verbose messaging (-v) to see the final report.
                                    OpenSSL support cannot be enabled due to functionality tests!
                                    Turn on verbose messaging (-v) to ./configure to see the final report.
                                    If you believe this message is in error you may use the continue
                                    switch (-continue) to ./configure to continue.

                                    Thank's in advance.

                                    1 Reply Last reply
                                    0

                                    • Login

                                    • Login or register to search.
                                    • First post
                                      Last post
                                    0
                                    • Categories
                                    • Recent
                                    • Tags
                                    • Popular
                                    • Users
                                    • Groups
                                    • Search
                                    • Get Qt Extensions
                                    • Unsolved