Bug 902571

Summary: libQtWebKit.so.4.9.2 has an RPATH causing issues with library overrides for libfreetype.so
Product: [Fedora] Fedora Reporter: Benjamin Lewis <ben.lewis>
Component: qtwebkitAssignee: Rex Dieter <rdieter>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 18CC: jreznik, rdieter, than
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-02-05 03:03:45 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Benjamin Lewis 2013-01-22 01:32:01 UTC
Description of problem:
libQtWebKit.so.4.9.2 has an RPATH (/usr/lib64). 

As a result, libQtWebKit.so is picking up the wrong libfreetype.so if one is supposed to be overriding the other (via an ld.so.conf.d file).

Additionally, this breaks prelinking for both this library and anything which links against it as prelink will not link something (understandably) where the library has dependencies which link against a different version of the same .so.

What seems to have caused this is that the spec has two chrpath lines, but these refer to libQtWebKit.so.4.9.0:

+ chrpath --list /home/*****/rpmbuild/BUILDROOT/qtwebkit-2.2.2-5.fc18.x86_64/usr/lib64/libQtWebKit.so.4.9.0
open: No such file or directory
elf_open: No such file or directory
+ :
+ chrpath --delete /home/*****/rpmbuild/BUILDROOT/qtwebkit-2.2.2-5.fc18.x86_64/usr/lib64/libQtWebKit.so.4.9.0
open: No such file or directory
elf_open: No such file or directory

Changing these to the (correct) 4.9.2 resolves the problem. Perhaps this should be some sort of macro...?

FWIW, this error was masked during package build due to the ||: after the chrpath command, which would otherwise have failed...

Version-Release number of selected component (if applicable):
qtwebkit-2.2.2-5.fc18.x86_64

Comment 1 Rex Dieter 2013-01-22 16:16:20 UTC
Good catch!  I'll fix this up asap.

Comment 2 Benjamin Lewis 2013-01-22 21:25:24 UTC
I caught it since prelink.log was recording it on every run as being un-prelinkable due to dodgy dependencies.

A quick scan across all of /usr/bin and /usr/sbin lists a not insubstantial number of executables with similar (not dangerous, just annoying) RPATHS that are not broken in the same way... yet! (mainly because the only library override I have is for libfreetype.so)

Is is worth filing bugs against all of them?

e.g.
/usr/bin/testlibraw: RPATH=/usr/lib64

or the much less problematic, but still pointless:
/usr/bin/xdvipdfmx: RPATH=/builddir/build/BUILD/texlive-2012/source/inst/lib
/usr/bin/xelatex: RPATH=/builddir/build/BUILD/texlive-2012/source/inst/lib
/usr/bin/xetex: RPATH=/builddir/build/BUILD/texlive-2012/source/inst/lib


[A little off topic, but I'm unsure where else to ask!]

Comment 3 Rex Dieter 2013-01-22 22:04:28 UTC
IMO, all of these items should have bugs, yeah.

Priority are those that rpath %_libdir like here.  

Low priority items like your tex example, that rpath silly stuff.

p.s. good work finding these!

Comment 4 Fedora Update System 2013-01-24 12:05:04 UTC
qtwebkit-2.2.2-8.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/qtwebkit-2.2.2-8.fc18

Comment 5 Fedora Update System 2013-01-25 21:27:26 UTC
Package qtwebkit-2.2.2-8.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing qtwebkit-2.2.2-8.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-1467/qtwebkit-2.2.2-8.fc18
then log in and leave karma (feedback).

Comment 6 Fedora Update System 2013-02-05 03:03:47 UTC
qtwebkit-2.2.2-8.fc18 has been pushed to the Fedora 18 stable repository.  If problems still persist, please make note of it in this bug report.