When prelinking rhythmbox the following warning is printed:
prelink: Warning: /usr/lib/librhythmbox-core.so.0 has undefined non-weak symbols
Jakub, I believe that error is due to some symbols used in the library being in
the main binary (this is a library plugins link against).
Any ideas how to reproduce/debug that error message?
This is not an error, just a warning. There are legitimate cases where having
undefined symbols in
ldd -d -r .../lib*so*
is ok and one of them is if the library is not generally dlopenable, but relies
on the binary to satisfy those symbols.
On the other side, if the symbols are provided by some shared library, usually
it is just an on unintentional omission on the packager's part, which is bad
for multiple reasons:
1) if the symbols are versioned in the library where they are defined, the
library with undefined non-weak symbols might use wrong versions of those
2) in prelink it causes unnecessary prelink conflicts which need to be resolved
3) if you e.g. dlopen that library and don't know you need the other library
as well, the dlopen will likely fail
Based on the date this bug was created, it appears to have been reported
during the development of Fedora 8. In order to refocus our efforts as
a project we are changing the version of this bug to '8'.
If this bug still exists in rawhide, please change the version back to
(If you're unable to change the bug's version, add a comment to the bug
and someone will change it for you.)
Thanks for your help and we apologize for the interruption.
The process we're following is outlined here:
We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.
/usr/lib/librhythmbox-core.so.0 is a library private to rhythmbox, where all the missing symbols will be resolved when rhythmbox is launched. So the warning won't cause any harm.