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

Regression: online installer ships ICU development libraries without headers

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P1: Critical
    • None
    • 6.x
    • Packaging & Installer
    • None
    • Fedora 35
    • Linux/Other display system

    Description

      This seems to be a regression of QTBUG-27930. It was fixed for some Qt5 releases, but it is happening again in Qt >= 5.9 and all Qt6.

      In Qt6.x it is even more important for users to be able to integrate libICU in Qt applications, because QTBUG-86437.

      The online installer ships the ICU development libraries (the files with the .so suffix, without a number) but not the corresponding ICU headers. The result is that when linking a project you will get errors like:

      undefined reference to `ucnv_open_69'
      

      The Qt 6.x libraries are compiled against ICU 56, but your system libraries may be newer. For instance Fedora 35 comes with ICU 69. The compiler included the ICU 69 headers installed in your system (at /usr/include), but the linker is trying to use the ICU 56 libraries, installed by the online installer probably at your $HOME.

      One solution is to remove all the ICU development libraries from the Qt prefix. For instance:

      libicudata.so        <- remove this symlink!
      libicudata.so.56     <- leave this symlink alone
      libicudata.so.56.1   <- leave also the library file 
      

      This project shows the issue: https://github.com/pedrolcl/icu_qt_poc

      Attachments

        Issue Links

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

          Activity

            People

              releaseteam Qt Release Team
              plcl Pedro López-Cabanillas
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes