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. "applet not found" when trying to run an application on embedded linux
QtWS25 Last Chance

"applet not found" when trying to run an application on embedded linux

Scheduled Pinned Locked Moved Mobile and Embedded
12 Posts 2 Posters 7.8k Views
  • 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.
  • W Offline
    W Offline
    wowy
    wrote on last edited by
    #1

    Hi,

    After configuring, making and installing qt for embedded linux and using it in my qt creator i want to try a little application on my boar (a simple window+button msgbox). But when i try to run the application with "./" (and with a chmod 755) i have this error "applet not found".
    Do i have to copy other things aside from teh executable to the board, like libraries and if yes where can i find this kind of files i need ?

    1 Reply Last reply
    2
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      Unless you build Qt statically, you need to have it installed on your target. The dlls you need depends on your application has well as your Qt version. What is your current setup ?

      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
      • W Offline
        W Offline
        wowy
        wrote on last edited by
        #3

        Hi,

        I configured my qt like this :
        ./configure -opensource -confirm-license -prefix /usr/local/Qt-4.8.5-arm -embedded arm -little-endian -no-pch -xplatform qws/linux-arm-gnueabi-g++

        Which i guess is not statically, after ready the configure help i think i must add -static and reconfigure my qt once again right ? Ten i will only have to copy the executable to the target device ?

        Also one question (sorry if this is not in relation with the thread), my application will use a touchscreen so i should configure qt with -qt-mouse-tslib i think ?

        1 Reply Last reply
        0
        • W Offline
          W Offline
          wowy
          wrote on last edited by
          #4

          After trying to configure qt like this :

          ./configure -opensource -confirm-license -prefix /usr/local/Qt-4.8.5-arm -embedded arm -little-endian -no-pch -xplatform qws/linux-arm-gnueabi-g++ -static -qt-mouse-tslib

          i get the error :

          The tslib functionality test failed!
          You might need to modify the include and library search paths by editing
          QMAKE_INCDIR and QMAKE_LIBDIR in (my device in qt)

          After reading a little i tried to cross compile tslib to then add the include dir and lib dir to qt.
          So i configure it for my arm :

          ./configure --prefix=$HOME/dev/tslib_arm --host=arm-linux-gnueabi

          then i "make" it, no problem.

          But when trying to "sudo make install" i have the error :

          libtool: install: error: cannot install `linear.la' to a directory not ending in /home/spi/dev/tslib_arm/lib/ts/

          If i ignore this and edit the qmake in Qt to give it the include/lib directories i still have the first error message.

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #5

            Did you re-configure from a clean source tree ? If not, then first clean the sources and then reconfigure. Otherwise you can also out of source build so if something goes wrong you can simply nuke the folder and restart directly.

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

            W 2 Replies Last reply
            0
            • SGaistS SGaist

              Did you re-configure from a clean source tree ? If not, then first clean the sources and then reconfigure. Otherwise you can also out of source build so if something goes wrong you can simply nuke the folder and restart directly.

              W Offline
              W Offline
              wowy
              wrote on last edited by
              #6

              @SGaist

              I eraded all my source folder, then extracted them again. This way i will have clean folders to work with.
              I use :
              qt-everywhere-opensource-src-4.8.5 as source for QT
              gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux as toolchain
              tslib-1.0 because of the touchscreen

              I go into the lslib-1.0 folder, i chmod a+x autogen.sh and run it, then i configure tslib:

              ./configure --host=arm-linux-gnueabi --prefix=/usr/local/tslib --enable-static --enable-shared

              No error message here.

              I try to "make" it. Error :

              ts_test.c:(.text.startup+0x320): undefined reference to rpl_malloc' fbutils.o: In function open_framebuffer':
              fbutils.c:(.text+0x110): undefined reference to `rpl_malloc'

              I erase the folder, extract it again to be clean. Chmod autogen.sh, run it.
              I configure tslib again.
              I go into config.h and comment the line :

              #define malloc rpl_malloc

              I try to make it again, another error :

              In function ‘open’,
              inlined from ‘main’ at ts_calibrate.c:227:11:
              /usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/include/bits/fcntl2.h:50:24: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments

              In function ‘open’,
              inlined from ‘main’ at ts_calibrate.c:229:11:
              /usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/include/bits/fcntl2.h:50:24: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments
              make[2]: *** [ts_calibrate.o] Error 1
              make[2]: Leaving directory /home/spi/installQt/tslib-1.0/tslib-1.0/tests' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory /home/spi/installQt/tslib-1.0/tslib-1.0'
              make: *** [all] Error 2

              After looking on the internet it seems a lot of people are having a really bad time using qt with arm devices, especially with tslib.

              1 Reply Last reply
              0
              • SGaistS SGaist

                Did you re-configure from a clean source tree ? If not, then first clean the sources and then reconfigure. Otherwise you can also out of source build so if something goes wrong you can simply nuke the folder and restart directly.

                W Offline
                W Offline
                wowy
                wrote on last edited by wowy
                #7

                Hi,

                I finanlly installed qt statically with tslib but i still have this "applet not found" error when running the application.

                I used this :
                qt-everywhere-opensource-src-4.8.5
                gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux
                tslib-1.0

                I first configured my tslib with my compiler an i enabled static too :

                chmod a+x autogen.sh
                ./autogen.sh

                ./configure CC=/home/spi/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-gcc CXX=/home/spi/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-g++ --prefix=/home/spi/installQt/tslib-arm --host=arm-linux-gnueabihf --enable-shared=yes --enable-static=yes

                make
                make install

                No error for now.

                I change the qmake in Qt to work with my compiler and with tslib :

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

                QMAKE_CC = /home/spi/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-gcc
                QMAKE_CXX = /home/spi/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-g++
                QMAKE_LINK = /home/spi/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-g++
                QMAKE_LINK_SHLIB = /home/spi/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-g++

                QMAKE_AR = /home/spi/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-ar cqs
                QMAKE_OBJCOPY = /home/spi/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-objcopy
                QMAKE_STRIP = /home/spi/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-strip
                QMAKE_INCDIR += /home/spi/installQt/tslib-arm/include
                QMAKE_LIBDIR += /home/spi/installQt/tslib-arm/lib

                load(qt_config)

                I configured qt :

                ./configure -opensource -confirm-license -prefix /usr/local/Qt-4.8.5-arm-linux -embedded arm -little-endian -no-pch -xplatform qws/linux-arm-gnueabi-g++ -qt-mouse-tslib -no-webkit -no-qt3support -no-cups -no-largefile -optimized-qmake -no-openssl -nomake tools -static

                Static and with qt-mouse-tslib to use the touch screen (i don't think i need another option to display too but please correct me if i made mistake)

                make
                sudo make install

                No error yet.

                I create the new kit in qt creator by selecting the qmake of this qt (/usr/local/Qt-4.8.5-arm-linux/bin/) and the good compiler (/home/spi/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-g++).

                I add the argument to make :
                ARCH=arm CROSS_COMPILE=/home/spi/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabihf-

                I want to add the argument to qmake :
                -spec linux-arm-gnueabi-g++

                But when adding it i have erros message in qt creator :
                /usr/local/Qt-4.8.5-arm-linux/mkspecs/linux-arm-gnueabi-g++/qmake.conf:6: warning: Unable to find file for inclusion ../../common/linux.conf

                /usr/local/Qt-4.8.5-arm-linux/mkspecs/linux-arm-gnueabi-g++/qmake.conf:7: warning: Unable to find file for inclusion ../../common/gcc-base-unix.conf

                /usr/local/Qt-4.8.5-arm-linux/mkspecs/linux-arm-gnueabi-g++/qmake.conf:8: warning: Unable to find file for inclusion ../../common/g++-unix.conf

                /usr/local/Qt-4.8.5-arm-linux/mkspecs/linux-arm-gnueabi-g++/qmake.conf:9: warning: Unable to find file for inclusion ../../common/qws.conf

                If i don't put the argument and before running the application use the environment :
                export QWS_MOUSE_PROTO=tslib:/usr/input/ts
                export QWS_DISPLAY=LinuxFB:mmWidth=480:mmHeight=272

                I get the error "applet not found".

                1 Reply Last reply
                0
                • SGaistS Offline
                  SGaistS Offline
                  SGaist
                  Lifetime Qt Champion
                  wrote on last edited by
                  #8

                  You don't need to pass anything special to qmake if you just want to build your application. Same goes for ARCH and CROSS_COMPILE, they should not be needed.

                  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
                  • W Offline
                    W Offline
                    wowy
                    wrote on last edited by
                    #9

                    @SGaist
                    After trying to compile a little simple "hello world" with the compiler i use here i noticed the same issue because i made an error in one of my previous path making me think the compiler was working.
                    I now found a compiler working (arm-linux-gcc-3.4.5-glibc-2.3.6-linux), with this one and when being sure of the path the compilation of a little .c file is working an run on the board but now i have a news error :

                    I followed the same steps.
                    I configured qt like this :

                    ./configure -embedded arm -little-endian -no-armfpa -qt-gfx-transformed -qt-gfx-linuxfb -nomake demos -nomake examples -no-svg -no-phonon -no-qt3support -lrt -no-feature-CURSOR -qt-mouse-tslib -xplatform qws/linux-arm-g++

                    Still no error at this point.

                    But when i want to "make" qt i have this error now :

                    g++ -c -include .pch/release-shared-emb-arm/QtCore -pipe -pipe -pipe -fno-exceptions -O2 -O2 -O2 -fvisibility=hidden -fvisibility-inlines-hidden -fvisibility=hidden -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -Wall -W -Wall -W -D_REENTRANT -D_REENTRANT -D_REENTRANT -fPIC -fPIC -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DHB_EXPORT=Q_CORE_EXPORT -DQT_NO_DEBUG -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/qws/linux-arm-g++ -I. -I../../include -I../../include/QtCore -I.rcc/release-shared-emb-arm -Iconcurrent -Iglobal -I../3rdparty/harfbuzz/src -I.moc/release-shared-emb-arm -I.uic/release-shared-emb-arm -I/home/spi/installQt/tslib-arm/include -o .obj/release-shared-emb-arm/qfutureinterface.o concurrent/qfutureinterface.cpp
                    ../../include/QtCore/../../src/corelib/arch/qatomic_arm.h: Assembler messages:
                    ../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:111: Error: no such instruction: swpb %cl,%dl,[%ebp]' ../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:111: Error: no such instruction: swpb %dl,%sil,[%ebp]'
                    ../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:111: Error: no such instruction: swpb %sil,%cl,[%ebp]' ../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:111: Error: no such instruction: swpb %cl,%dl,[%ebp]'
                    ../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:111: Error: no such instruction: swpb %dl,%dil,[%ebp]' ../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:111: Error: no such instruction: swpb %cl,%dl,[%ebp]'
                    ../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:111: Error: no such instruction: swpb %cl,%dl,[%ebp]' ../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:111: Error: no such instruction: swpb %dl,%sil,[%ebp]'
                    ../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:111: Error: no such instruction: swpb %sil,%cl,[%ebp]' ../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:111: Error: no such instruction: swpb %dl,%dil,[%ebp]'
                    ...
                    repeating more until :
                    ...
                    ../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:111: Error: no such instruction: swpb %cl,%dl,[%edi]' ../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:111: Error: no such instruction: swpb %dl,%sil,[%edi]'
                    ../../include/QtCore/../../src/corelib/arch/qatomic_arm.h:111: Error: no such instruction: swpb %cl,%dl,[%edi]' make[1]: *** [.obj/release-shared-emb-arm/qfutureinterface.o] Error 1 make[1]: Leaving directory /home/spi/installQt/qt-embedded-linux-opensource-src-4.4.3/src/corelib'
                    make: *** [sub-corelib-make_default-ordered] Error 2

                    1 Reply Last reply
                    0
                    • SGaistS Offline
                      SGaistS Offline
                      SGaist
                      Lifetime Qt Champion
                      wrote on last edited by
                      #10

                      That's a way too old compiler. IIRC, 4.1.1 is the minimum version

                      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
                      • W Offline
                        W Offline
                        wowy
                        wrote on last edited by wowy
                        #11

                        I installed the last version of gcc-arm-linux-gnueabi but when compiling a .c (which when compiling with the gcc 3.4.5 works on my board) and trying to run i get a
                        "No such file or directory" even after a chmod 755.

                        Now when compiling qt4.5.1 with gcc 3.4.5 i have no more error in the configuration, in the make, in the make install. Creating the kit in qt creator don't generate an error, building the app and the qmake seems to work to because i have an executable in the release folder and no error message.

                        I copied my qt folder and my tslib folder at the exact same place on the board as where it is on the dev platform (my ubuntu pc). Then i change the environement variable as :

                        export QWS_MOUSE_PROTO=tslib:/dev/input/event0
                        export QWS_DISPLAY=LinuxFB:mmWidth=480:mmHeight=272
                        export QTDIR=/usr/local/Qt-4.5.1-arm-linux-CD
                        export LD_LIBRARY_PATH=/home/spi/installQt/tslib-arm/lib
                        export TSLIB_PLUGINDIR=/home/spi/installQt/tslib-arm/lib/ts
                        export TSLIB_TSDEVICE=/home/spi/installQt/tslib-arm/lib/ts
                        export TSLIB_TSEVENTTYPE=INPUT
                        export TSLIB_CONFFILE=/home/spi/installQt/tslib-arm/etc/ts.conf
                        export TSLIB_CONSOLEDEVICE=none

                        If i try to run the application like this "./app -qws" nothing happen and "SEGV" appear in the terminal.

                        When running the old ts_test, ts_calibrate they can use the touch screen.

                        I am thinking of reconfiguring/making my qt source but this time not creating tslib myself but using the tslib from the rootfs i have this way normally I should be surce that Qt is linked to the very same tslib.

                        1 Reply Last reply
                        0
                        • SGaistS Offline
                          SGaistS Offline
                          SGaist
                          Lifetime Qt Champion
                          wrote on last edited by
                          #12

                          What does a run through the debugger tell you ?

                          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

                          • Login

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