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

Change from RPATH to RUNPATH in plugins/platforms libraries breaks inherited RPATHs

    XMLWordPrintable

Details

    Description

      Earlier version of Qt (Qt 5.4.1, Qt 5.5.1) had RPATH set in plugin libraries, such as libqxcb.so. This allowed applications the dynamic loader to use application-level RPATH values to find required libraries, such as Qt libraries. Qt 5.6.0 BETA changed to use a RUNPATH in the plugin libraries (like libqxcb.so), which prevents the RPATH setting in the top level application from being used, essentially breaking applications using custom library paths.

      For example, an application installed in bin called MyApp has a RPATH set to $ORIGIN/../libs. Qt libraries needed by the application are stored in the libs folder. The plugins/platform folder is pointed to using qt.conf stored in the bin directory. This setup worked with Qt 5.4.1 and 5.5.1, but does not work with Qt 5.6.0 because of the change from RPATH to RUNPATH in libqxcb.so. libqxcb.so is unable to locate the Qt libraries in the top level libs folder.

      Attachments

        Issue Links

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

          Activity

            People

              buddenha Oswald Buddenhagen
              marchand Dale Marchand
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes