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

libQt5Qml official binaries no longer provide libstdc++ symbols

    XMLWordPrintable

Details

    • Linux/X11
    • 2a887a517eaaa2c5324aecf3b919899b7a86ff4a (qt/qtbase/5.14.0)

    Description

      The libQt5Qml.so.5 library in Qt 5.13 (and older) has provided a large chunk of the libstdc++ library, which can be observed using e.g. `objdump -T libQt5Qml.so.5 | grep string`. These symbols use version of `Qt_5` - presumably to avoid conflict with the system's default libstdc++. However, any program that uses any of these symbols (i.e. uses std::string) and is linked against libQt5Qml.so.5 will import the Qt_5 version of these symbols instead of the GLIBCXX. The current Qt 5.14  beta binaries do not provide any of such symbols and cannot be used as a drop-in replacement of the Qt 5.13 binaries. Any complex software built against Qt 5.13 will not be able to use the Qt 5.14 binaries without a rebuild.

       

      I have attached a small example app. When built against Qt 5.13, the binary can be run against Qt 5.13:

      LD_LIBRARY_PATH=<path to Qt 5.13>/lib ./qmltest

      but it cannot be run against Qt 5.14 (beta3):

      LD_LIBRARY_PATH=<path to Qt 5.14>/lib ./qmltest

       

      Attachments

        1. qmltest.tar
          10 kB
          Jaroslaw Kubik
        2. link.before.log
          4.23 MB
          Ulf Hermann
        3. link.after.log
          4.04 MB
          Ulf Hermann
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            ulherman Ulf Hermann
            jarekk Jaroslaw Kubik
            Votes:
            0 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes