Details
-
Bug
-
Resolution: Unresolved
-
P4: Low
-
None
-
5.11.1, 5.12.0, 5.12.1, 5.12.2, 5.12.3, 6.3.0
-
None
Description
I've installed Qt 5.11 and 5.12 via the standard maintenance tool of Qt.
The ICU libs shipped with Qt have a wrong, hard-coded, absolute RPATH set up. This should be changed in RUNPATH [$ORIGIN].
The following libs have this issue:
gcc_64/lib/libicudata.so.56.1
gcc_64/lib/libicui18n.so.56.1
gcc_64/lib/libicuio.so.56.1
gcc_64/lib/libicule.so.56.1
gcc_64/lib/libiculx.so.56.1
gcc_64/lib/libicutest.so.56.1
gcc_64/lib/libicutu.so.56.1
gcc_64/lib/libicuuc.so.56.1
To see the problem, run for instance
```
$ readelf -d gcc_64/lib/libicuuc.so.56.1 | grep path
0x000000000000000f (RPATH) Library rpath: [/home/qt/icu_install/lib]
```
as can be seen, the path is hard-coded to be `/home/qt/icu_install/lib`.
I've fixed this manually by setting
```
$ chrpath -c gcc_64/lib/libicuuc.so.56.1
$ chrpath -r "\$ORIGIN" gcc_64/lib/libicuuc.so.56.1
```
which changes RPATH -> RUNPATH and the value to $ORIGIN.
For some 3rd party deployment tools, it is really useful that these incorrect RPATHs are removed.
Attachments
Issue Links
- relates to
-
QTBUG-103106 Regression: online installer ships ICU development libraries without headers
- Reported
-
QTBUG-51218 Wrong RPATH on shipped libraries in SDK
- Closed
-
QTBUG-103777 Pick rpath improvements to 6.3/6.2 after CI is less overloaded
- Closed