[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Undefined non-weak symbol from rpmlint

Mamoru Tasaka wrote:
I am currently reviewing toped :

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.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]