Description of problem: After 'ldd -d -r dia/libdia.so' there is 478 of "undefined symbol" messages. It looks like that bulk of these missing symbols is provided by libglib and libgtk. Quoting https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=202256#c1 "The libraries work, but less efficiently than they could if they were linked properly". Version-Release number of selected component (if applicable): dia-0.95-5.fc6
Hmm, I'm working on a fix for this for libdia.so However the other.so files in %{_libdir}/dia also have weak symbols / non complete linking. I don't know if this is a problem here since these are plugins which gets opened with dlopen, not linked in. Jakub can you help here, is adding all needed libs to the linking of the .so beneficial if the resulting .so will only get dlopened? (Assuming this can be done at all, the .so could need symbols from the app doing the dlopen itself).
It depends. If the symbols are versioned, then it is desirable to link against the libraries that provide the versioned symbols. Otherwise, for plugins there is no special benefit, appart from guaranteeing that all the dependencies needed for the plugin will be loaded. But if you (or the API of the framework that provides the plugin) reasoanbly guarantee that the dependencies are already loaded by the main program or some of its dependencies, then plugins don't need to satisfy -Wl,-z,defs checks.
Jakub, Thanks for the info. A new version (0.95-6) with the weak symbols in libdia.so fixed should show up on a mirror near you soon.