[Interest] Hiding a shared lib? Linux of course.

Thiago Macieira thiago.macieira at intel.com
Thu Jul 4 00:06:23 CEST 2013


On quarta-feira, 3 de julho de 2013 23.49.56, Guido Seifert wrote:
> Great. The libgstmediaplayer lib uses indirectly libproxy. And libproxy uses
> a module to load a kde4 lib. And the combination qt5 + kde4 does not seem
> to be very stable. Actually not stable at all. Fortunately I can just
> delete the libproxy kde4 module, I don't need it, but how would this
> problem correctly be solved?

I can't think of any solution. 

And it's not the first time this has happened. Every major release of Qt / KDE 
or Gtk / GNOME causes it again.

now:
	Qt 5 → libproxy → KDE 4 → Qt 4 → crash

previously:
	Gtk 3 → Qt style for Gtk → Qt 4 → Gtk 2 (via QGtkStyle) → crash
	Qt 4 → Gtk 2 (via QGtkStyle) → old Qt style for Gtk → Qt 3 → crash

The problem is that the libraries are allowed to co-exist on the filesystem, 
but there's no mechanism to prevent loading the incompatible versions into the 
same process address space.

The correct solution would have been to completely namespace all symbols in 
Qt 5 and Gtk 3 so that those libraries *can* be loaded into memory at the same 
time as their previous versions without clashing. But it's too late now.

-- 
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/interest/attachments/20130703/451fa89b/attachment.sig>


More information about the Interest mailing list