<div dir="ltr">Hi Dago,<div><br></div><div>Yes, that's a known special case that happens in some rare cases.</div><div>In your case, the binary uses only malloc, free, realloc and that set of symbols can't be directly bound to, wether it is in libumem or libc.</div>


<div>I suppose this is done on purpose to allow to change the memory allocator.</div><div><br></div><div>I already excluded some native libraries and I will add libumem to the list.</div><div><br></div><div>Even better would be to check if the linked symbols can't be directly bound to but that would make the test more complex and I don't think it's worth it for now.<br>


</div><div><br></div><div><br></div><div>Yann</div><div><br></div><div class="gmail_extra"><br><div class="gmail_quote">2014-03-04 9:34 GMT+01:00 Dagobert Michelsen <span dir="ltr"><<a href="mailto:dam@opencsw.org" target="_blank">dam@opencsw.org</a>></span>:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi folks,<br>
<br>
I just encountered an interesting case: when compiling the latest xjobs (which does<br>
not have funky linker magic at all) I got the following checkpkg result:<br>
<br>
> CHECKPKG_OVERRIDES_CSWxjobs += no-direct-binding|/opt/csw/bin/xjobs|is|not|directly|bound|to|soname|libumem.so.1<br>
<br>
<br>
Inspection of the build process showed that -B direct is correctly passed.<br>
Using the excellent documentation at the checkpkg error tag wiki at<br>
  <a href="http://wiki.opencsw.org/checkpkg-error-tags#toc31" target="_blank">http://wiki.opencsw.org/checkpkg-error-tags#toc31</a><br>
showed the following issue:<br>
<br>
> dam@unstable10s [unstable10s]:/home/dam/mgar/pkg/xjobs/trunk > $(mgar show-buildsys | cut -f1)/bin/check_db_symbols work/solaris10-sparc/pkgroot/opt/csw/bin/xjobs<br>
> Use of uninitialized value $library_path in string eq at /home/dam/mgar/pkg/.buildsys/v2/bin/check_db_symbols line 64, <$ldd> line 4.<br>
> Use of uninitialized value $soname in hash element at /home/dam/mgar/pkg/.buildsys/v2/bin/check_db_symbols line 67, <$ldd> line 4.<br>
><br>
> Library                 Directly bound    Not directly bound    Not directly bindable<br>
> libumem.so.1                    0                  0                      3<br>
> libc.so.1                      74                  0                      2<br>
> libm.so.2                       2                  0                      0<br>
<br>
<br>
It seems that some libraries contain only not directly bindable symbols,<br>
essentially these should be excluded from the test.<br>
@Yann: Do you think this is possible?<br>
<br>
<br>
Best regards<br>
<br>
  — Dago<br>
<span><font color="#888888"><br>
--<br>
"You don't become great by trying to be great, you become great by wanting to do something,<br>
and then doing it so hard that you become great in the process." - xkcd #896<br>
<br>
</font></span></blockquote></div><br></div></div>