Details
-
Bug
-
Resolution: Duplicate
-
P2: Important
-
None
-
4.7.1
-
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
- Is tested by
-
QTQAINFRA-240 Qt5 CI: add build configuration using LSB SDK
- Withdrawn