Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Installation and Deployment
  4. [Linux][Antergos] How to compile Qt 5.6 for maximum Compatibility?
Forum Updated to NodeBB v4.3 + New Features

[Linux][Antergos] How to compile Qt 5.6 for maximum Compatibility?

Scheduled Pinned Locked Moved Unsolved Installation and Deployment
6 Posts 4 Posters 2.3k Views 4 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.
  • MeerMusikM Offline
    MeerMusikM Offline
    MeerMusik
    wrote on last edited by MeerMusik
    #1

    Hello Forum and a late happy new year :)

    I am starting to develop under Linux in the near Future. I would like to know with what Plugins / Config Parameters I should compile Qt 5.6 to make sure my Application runs on as many Linux Variants as possible.

    My Software use i.e.

    • TextEditor Widget
    • WebEngine
    • SQLite Plugin (used in the TableView Database - currently XML based. Will be ported to SQLite usage)
    • OpenSSL
    • dynamic build
    • Qt OpenSource License

    The Main Development is done under Windows 10 64-bit. The native Linux Development/Compilation will be done under:

    • Antergos 64-bit
    • Plasma 5 / KDE 5.5.3
    • gcc 5.3
    • Windows and Linux Version share 1 Codebase through Git. It is mainly the native compilation that will be done under Linux

    My Software is running fine so far with the pre-installed Default Qt 5.5 Packages - on my Machine.
    Is there anything special I have to / should look out for? Aside from the Stuff mentioned in Linux X11 Requirements? Is Wayland something I should have in my Mind already?

    Thanks and have a great weekend.
    Oliver

    1 Reply Last reply
    0
    • ? Offline
      ? Offline
      A Former User
      wrote on last edited by A Former User
      #2

      Hi!

      I think your question is wrong. :-) Let me explain: If you want to deploy your dynamically built software successfully to many linux distros then you'll have to go the painful way of creating native packages for all those distros and their versions. You will then use the Qt libraries that are supplied by those distros together with the distros' package build systems.

      IMAO the easiest way to create native packages for a great number of distros is provided by "openSUSE build service". https://build.opensuse.org/ . There you create a copy of you source repos, create build recipes and then their server farm will build native packages for SUSE, Fedora, Centos, Debian, Arch, Ubuntu. And it will automatically rebuild your software as soon as any external dependencies change.

      1 Reply Last reply
      0
      • MeerMusikM Offline
        MeerMusikM Offline
        MeerMusik
        wrote on last edited by
        #3

        Evening.

        So you are saying: The under Antergos compiled Binaries wont work under other Distros? Thats a shame. 1 more reason Linux will never make it to the Number 1 of OS's used. Under Windows 10 compiled Binaries runs from Windows Vista (Qt5.5)/ 7 (Qt 5.6) to Windows 10.

        This Build System is out of question: Part of my Source Code will not be made available in the mid-future. And this is a private made Tool for a Local Community Politics Project. We dont have thousands of Euros for a Server Farm to run OBS ourself - or myself to be more precise.

        Seems I have to find another Solution.

        But thanks anyway.
        Oliver

        ? 1 Reply Last reply
        0
        • MeerMusikM MeerMusik

          Evening.

          So you are saying: The under Antergos compiled Binaries wont work under other Distros? Thats a shame. 1 more reason Linux will never make it to the Number 1 of OS's used. Under Windows 10 compiled Binaries runs from Windows Vista (Qt5.5)/ 7 (Qt 5.6) to Windows 10.

          This Build System is out of question: Part of my Source Code will not be made available in the mid-future. And this is a private made Tool for a Local Community Politics Project. We dont have thousands of Euros for a Server Farm to run OBS ourself - or myself to be more precise.

          Seems I have to find another Solution.

          But thanks anyway.
          Oliver

          ? Offline
          ? Offline
          A Former User
          wrote on last edited by
          #4

          The problem is not binary incompatibility (you can still run software that was compiled in 1995 or so) but different versions and locations of the shared libraries supplied by the distros. In theory all "normal" Linux distros are compliant to a standard called "Linux Standard Base" (LSB). This means that you can create an rpm-package that can be installed on SUSE, Fedora, Debian, etc and it will just work. I'd say it works 80% of the time but you need to invest much time in testing to raise this number to 95%.

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

            Hi,

            To add to @Wieland, if you want to support many distributions then do as Qt does currently: build for the oldest version you want to support. As for distributing your application, provide all dependencies needed by your it with it i.e. build a package that is self-contained (just like you have to do on Windows).

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

              Building binaries for linux is definitely a pain. I have a number of closed source projects that I am having to do it for now.

              One thing that will help you a ton is Linux Standard Base. This will help you get maximum compatibility across as many distros as you need.

              Bottom line is it will take effort to support a lot of linux flavors due to ... nevermind, LSB website will explain why. :)

              Oh and Linux is so much better of an OS than Windows. I fight with windows constantly, my OSX and Linux stuff just works great. Binary builds aside as those are really a pain under linux. Small price to pay to not deal with windows all the time though. And I started my career as a pure windows developer. So my new bias is a recent development. Once you work a lot in a posix based OS you will absolutely hate going back and supporting windows.

              My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

              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