Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-16385

Make Qt build with LSB 4.0 compilers

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • P2: Important
    • None
    • 4.7.1
    • Core: Other
    • None
    • LSB 4.0 compliant 64-bit linux, such as SLED 11

    Description

      This bug pulls together the set of bugs I have reported recently related to building Qt 4.7.1 with LSB 4.0 compilers. Dependency links to those bug reports will identify individual actions/changes required for specific issues that were encountered.

      QTBUG-13946 (addressed by fix to LSB as linked below)
      QTBUG-13947
      QTBUG-13949
      QTBUG-16312
      QTBUG-16329 (requires upstream fix in webkit)
      QTBUG-16335 (requires upstream fix in webkit)
      QTBUG-16336 (requires upstream fix in webkit)
      QTBUG-16339
      QTBUG-16404
      QTBUG-16427
      QTBUG-16428

      This bug also describes the steps needed to configure Qt 4.7.1 for a successful build once those issues have had the workarounds applied.

      Currently, the Qt3Support module appears problematic for building with LSB 4.0 compilers. There are things in Q3Dns in particular which appear non-trivial to address. A similar situation exists for trying to build the JavaScript JIT. Therefore, the following options were used when configuring Qt for a LSB 4.0 build:

      -platform linux-lsb-g++ -no-qt3support -no-javascript-jit

      On 64-bit systems, Qt also adds an incorrect library search path, so add an option like the following to configure as well on such systems (this might not actually be necessary - see following point on --lib-path):

      -L/opt/lsb/lib64-4.0

      Note also that Qt's configure adds a --lib-path option to some linker commands, and this has the effect of hiding all the LSB libraries. To work around this, copy all the LSB libraries and the pkgconfig subdirectory from /opt/lsb/lib to qt-everywhere-opensource-src-4.7.1/lib. If this is not done, the Qt build will link to the system libraries instead of the LSB stub libraries.

      There are currently some workarounds that need to be applied to LSB itself. See the following bug reports for details:

      http://bugs.linuxbase.org/show_bug.cgi?id=1384 (fixed in latest LSB 4.1 beta packages)
      http://bugs.linuxbase.org/show_bug.cgi?id=3140 (fix scheduled to appear in next release of LSB 4.1 beta packages)

      If you want to enable OpenSSL support, you will also need to build OpenSSL with the LSB compilers. There are some workarounds for OpenSSL that are required as well. I have reported these to the openssl-dev@openssl.org mailing list. I'll attach my proposed set of patches shortly for reference. Note that you need to build OpenSSL before Qt and you also need to add appropriate header and library search paths so that your OpenSSL is found in preference to any system OpenSSL headers/libraries. This can be done simply by adding appropriate -I... and -L... flags to configure.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              Unassigned Unassigned
              jirauser11888 user-aa151 (Inactive)
              Votes:
              4 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes