Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qt app without window manager.
Forum Updated to NodeBB v4.3 + New Features

Qt app without window manager.

Scheduled Pinned Locked Moved General and Desktop
35 Posts 3 Posters 20.5k 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.
  • C Offline
    C Offline
    Cyrilb
    wrote on last edited by
    #1

    Hi my goal is to write a small gui app for ubuntu without window manager.

    And you guessed it, i am stuck!

    First i built a machine with ubuntu desktop, installed Qt5 and built a small Qt console app.
    Than i built a machine with ubuntu server (no window manager), copied the console app i built previously and the depending shared libs in this machine, it didn't run. Ok, then i copied the shared libs to /usr/lib and it ran fine.

    GUI time :)

    Built a small GUI app on ubuntu desktop machine, copied the app and it's dependencies to the ubuntu server machine and of course it didn't run. I copied the app Qt shared libs that the app depended on to /usr/lib again it didn't run.

    Last error is :
    "Failed to load platform plugin "xcb" . Available platforms are:

    Aborted.
    "
    I started googling and i installed a bunch of libraries like libxcb , xorg etc...

    Than i put in plugins/platforms the libqxcb.so library and you guessed it again, no luck.

    :( Has anyone ever done or thought about it?

    1 Reply Last reply
    0
    • U Offline
      U Offline
      unixmania
      wrote on last edited by
      #2

      a window manager may be mandatory for gui app?
      refer to source code, configure options etc.

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

        Hi and welcome to devnet,

        I you don't want any window manager you would have to use i.e the linuxFB plugin.

        The xcb plugins implies the use of x11 which is a window manager.

        You will have to compile Qt 5 yourself to achieve what you want

        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
        • C Offline
          C Offline
          Cyrilb
          wrote on last edited by
          #4

          Aha, the framebuffer again.

          All the build configurations i've seen use xcb how do i configure Qt to use the linux framebuffer and then build it?

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

            There's also DirectFB if your system supports it.

            Just pass the -linuxfb to configure. For more options you can run configure --help

            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
            • C Offline
              C Offline
              Cyrilb
              wrote on last edited by
              #6

              Until now i have tried three times to build but all times have failed.

              I followed "Building Qt5 from Git":http://qt-project.org/wiki/Building_Qt_5_from_Git step by step.

              My configuration is: ./configure -opensource -release -force-debug-info -confirm-license -static -qt-sql-mysql -qt-zlib -qt-libpng -qt-libjpeg -no-openssl -no-pch -linuxfb -nomake examples -nomake tests

              and it fails. with this error:
              @/home/user/Qt5.1Git/qt5/qtwebkit/lib/libQt5WebKitWidgets.a: could not read symbols: Malformed archive
              collect2: error: ld returned 1 exit status
              make[3]: *** [../../bin/QtWebProcess] Error 1
              make[3]: Leaving directory /home/user/Qt5.1Git/qt5/qtwebkit/Source/WebKit2' make[2]: *** [sub-WebKit2-WebProcess-pro-make_first-ordered] Error 2 make[2]: Leaving directory /home/user/Qt5.1Git/qt5/qtwebkit/Source'
              make[1]: *** [sub-Source-QtWebKit-pro-make_first-ordered] Error 2
              make[1]: Leaving directory `/home/user/Qt5.1Git/qt5/qtwebkit'
              make: *** [module-qtwebkit-make_first] Error 2@

              At first i had -no-xcb but it failed saying that libqxcb was missing.

              Edit: My g++ version is g++ (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3

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

                Unless you explicitly need webkit you should just not build it. That will save time and hassle

                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
                • C Offline
                  C Offline
                  Cyrilb
                  wrote on last edited by
                  #8

                  Webkit would've ben nice.

                  Ok, i am trying to build without webkit but i have to delete the webkit directory because the configure script has no option to remove webkit from commpiling. "-no-web" and " nomake webkit " do no work.

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

                    IIRC, building webkit statically has always been problematic.

                    Also, don't forget the licensing implication of building Qt statically

                    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
                    • C Offline
                      C Offline
                      Cyrilb
                      wrote on last edited by
                      #10

                      Ahhh painful.

                      The error now is:

                      @make[3]: Leaving directory /home/user/Qt5.1Git/qt5/qtbase/src/network' make[3]: Entering directory /home/user/Qt5.1Git/qt5/qtbase/src/network'
                      make[3]: Warning: File ../../.qmake.cache' has modification time 1.6e+04 s in the future /home/user/Qt5.1Git/qt5/qtbase/bin/qmake -o Makefile network.pro Project MESSAGE: perl -w /home/user/Qt5.1Git/qt5/qtbase/bin/syncqt.pl -module QtNetwork -version 5.1.2 -outdir /home/user/Qt5.1Git/qt5/qtbase /home/user/Qt5.1Git/qt5/qtbase <srcbase> = /home/user/Qt5.1Git/qt5/qtbase <outbase> = /home/user/Qt5.1Git/qt5/qtbase make[3]: Leaving directory /home/user/Qt5.1Git/qt5/qtbase/src/network'
                      make[3]: Entering directory /home/user/Qt5.1Git/qt5/qtbase/src/network' make[3]: Warning: File ../../.qmake.cache' has modification time 1.6e+04 s in the future
                      /home/user/Qt5.1Git/qt5/qtbase/bin/qmake -o Makefile network.pro
                      Project MESSAGE: perl -w /home/user/Qt5.1Git/qt5/qtbase/bin/syncqt.pl -module QtNetwork -version 5.1.2 -outdir /home/user/Qt5.1Git/qt5/qtbase /home/user/Qt5.1Git/qt5/qtbase
                      <srcbase> = /home/user/Qt5.1Git/qt5/qtbase
                      <outbase> = /home/user/Qt5.1Git/qt5/qtbase
                      @

                      it is constantly printing this. Looks like it is stuck in a loop printing this all the time.

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

                        You seem to have some problem with your system clock...

                        You should restart your build from a clean source tree and use a shadow build directory.

                        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
                        • C Offline
                          C Offline
                          Cyrilb
                          wrote on last edited by
                          #12

                          What do you mean by system clock? I am using a virtual machine for this.

                          The only thing that is not working from that guide is : scl enable devtoolset-1.1 bash

                          Now i restarted the system and started a new build under root without webkit.

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

                            This line

                            @make[3]: Warning: File `../../.qmake.cache' has modification time 1.6e+04 s in the future
                            @

                            made me think of a clock problem

                            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
                            • C Offline
                              C Offline
                              Cyrilb
                              wrote on last edited by
                              #14

                              Finally some progress.

                              The build finished fine. I also built my first app. All ok.

                              But when i try to run the app i get an error:
                              @QFontDatabase: Cannot find font directory /usr/local/Qt-5.1.2/lib/fonts - is Qt installed correctly?@

                              At this stage i haven't executed make install . A note on the guide says :
                              @Note: Installation is only needed if you haven’t used the configure options -developer-build or -prefix “PWD/qtbase”. Otherwise you can just use Qt from the build directory.@

                              And i didn't put -developer-build in my build configuration.
                              Could this be the problem?

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

                                You need to have this folder on your target computer

                                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
                                • C Offline
                                  C Offline
                                  Cyrilb
                                  wrote on last edited by
                                  #16

                                  Which directory? PWD/qtbase or /usr/local/Qt-5.1.2/lib/fonts ?
                                  What should it contain?

                                  I will also try a build with -developer-build but currently gitorious is down.

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

                                    /usr/local/Qt-5.1.2/lib/fonts, you need it on your target computer, the one running without window manager. It must contain the font files

                                    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
                                    • C Offline
                                      C Offline
                                      Cyrilb
                                      wrote on last edited by
                                      #18

                                      Ok, on dev platform it worked. The compiled binary is around 150MB.

                                      In the target at first it failed because it couldn't find libicudata.so.48 libicuuc.so.48 libicui18n.so.48 which is strange because i compiled it statically.
                                      Do i need any thing extra in the .pro file for static building the app ?

                                      After copying the requested libs in the target /usr/lib a new error appeared:
                                      @QXcbConnection Could not connect to display@

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

                                        You can build a static library but still have shared dependency.

                                        IIRC you need to tell your application which plugin you want to use

                                        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
                                        • C Offline
                                          C Offline
                                          Cyrilb
                                          wrote on last edited by
                                          #20

                                          Ok, but why is qt still trying to use xcb, i built it for linuxfb?

                                          My build configuration is:
                                          @./configure -opensource -release -force-debug-info -confirm-license -static -qt-sql-mysql -qt-zlib -qt-libpng -qt-libjpeg -no-openssl -no-pch -linuxfb -nomake examples -nomake tests
                                          @

                                          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