The Cairo operating system
Posted Jul 5, 2006 9:44 UTC (Wed) by
nix (subscriber, #2304)
In reply to:
The Cairo operating system by evgeny
Parent article:
Cairo release 1.2.0 now available
dlopen()ed shared libraries
- can't be prelinked
- don't benefit from ld.so.cache
- have to be explicitly located by the application
- don't necessarily have consistent error messages if they can't be found
(e.g. if mesa can't find the DRI libraries because you need to hack a
#define deep in the source to get it to look in the right place with
modular X, there's no message; it falls back to unusuably slow software
rendering...)
- have... interesting effects if you dlopen() a library that is already
named in a DT_NEEDED
and much else.
They're useful, but they're definitely not a panacea, and in general I prefer DT_NEEDED for stuff that isn't strictly optional or totally plugin (by 'totally plugin' I mean something like KParts, where even the name of the library to load is unknown until runtime).
(
Log in to post comments)