Undefined non-weak symbol from rpmlint

Denis Leroy denis at poolshark.org
Wed Sep 27 13:25:24 UTC 2006


Mamoru Tasaka wrote:
> I am currently reviewing toped :
> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=208200
> 
> In the review process, I checked the binary rpm rebuilt by rpmlint
> as "rpmlint toped-0.8.1-1.fc6.i386.rpm", and the result was clean.
> However, once I install toped and try "rpmlint toped", I get lots
> of "undefined non-weak symbol" complaint like:
> 
> W: toped undefined-non-weak-symbol /usr/lib/libtpd_common.so.0.0.0 wxEVT_LOG_ERRMESSAGE
> W: toped undefined-non-weak-symbol /usr/lib/libtpd_common.so.0.0.0 CmdList
> W: toped undefined-non-weak-symbol /usr/lib/libtpd_common.so.0.0.0 wxEVT_FUNC_BROWSER
> W: toped undefined-non-weak-symbol /usr/lib/libtpd_DB.so.0.0.0 Properties
> W: toped undefined-non-weak-symbol /usr/lib/libtpd_DB.so.0.0.0 _ZNK5DBboxmlERK3CTM
> W: toped undefined-non-weak-symbol /usr/lib/libtpd_DB.so.0.0.0 _ZN8SGBitSetD1Ev
> W: toped undefined-non-weak-symbol /usr/lib/libtpd_DB.so.0.0.0 _ZN9polycross11segmentlistD1Ev
> ............................
> 
> So my question is:
> A. why is these complaints suppressed by "rpmlint ***.i386.rpm" ? Is this a default
>    of rpmlint?
> B. Are these complaints BLOCKERs for approving this package?

A: undefined non weak symbol means the dynamic library was not compiled 
with all its dependent libraries on the link line. It should be avoided 
if possible, but is not a blocking problem. These warnings can be 
difficult to avoid sometimes, especially if it involves a lot of 
reorganization of the autoconf/automake system, which is difficult to do 
with patches. It certainly should be reported upstream.

The best way to approach it is to determine where the missing symbols 
come from. Sometimes, it's really just a missing '-lfoo' on the link 
line. Also, does it prevent the application from working correctly ? 
i.e. when it loads the libtpd_* libs, can it always resolve the missing 
syms ?

B: should not be blockers imo, though there is a cost associated with 
those warnings: the startup time of the application will be a bit slower 
as the dynamic linker has to resolve the missing deps at launch time.

Let me know if you need more help, I'll try to take some time to look at it.




More information about the fedora-extras-list mailing list