[Development] RPATH in libraries

Thiago Macieira thiago.macieira at intel.com
Wed Aug 7 00:29:29 CEST 2013


On terça-feira, 6 de agosto de 2013 23:22:10, Konrad Rosenbaum wrote:
> Ok, I found the answer to my own question: DT_RUNPATH is radically different
> from DT_RPATH - if it was only evaluated after $LD_LIBRARY_PATH it would
> not be a problem, but it also does not apply to libraries loaded by the
> libraries I found in this RUNPATH. So if I open a plugin that does not have
> RUNPATH set, but requires Qt it will attempt to load Qt not from my
> RUNPATH, but from the system directories. This will likely crash my
> application.

Which, in my opinion, is the right thing to do. Each ELF module has 
information to find the libraries that it needs. One module should not influence 
the searching of another: if they were correctly installed and work under 
other situations, they should work now too.

The ELF standard does not take into account our situation: private API being 
shared between libraries. Just think of the fact that we require users to ship 
libQtDBus.so.4 on Linux, even if their applications don't use D-Bus. (Exercise 
left to the reader)

> > The question is: why does your system linker not enable the new dtags from
> > 10-15 years ago?
> 
> That would be a question for the Debian maintainers. Or probably the
> binutils maintainers (Debian seems to tend to stay with upstream in this
> case, I didn't check very thoroughly though).

That's a good question. I never got an answer from the binutils people. From 
Debian, I wouldn't know, I only send the request to change to distributions 
I've used.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20130806/91a6152b/attachment.sig>


More information about the Development mailing list