waf and builtin replace

Andrew Bartlett abartlet at samba.org
Thu Mar 22 05:28:01 MDT 2012

On Thu, 2012-03-22 at 10:32 +0100, Andreas Schneider wrote:
> Hi Andrew * 2,
> I tried to build samba with libreplace builtin, but I run into the problem 
> that waf doesn't find replace. I get undefined references. Below is the 
> configure line I used and the line of the linker. As you can see there is 
> nothing about libreplace. The waf scripts looks correct to me and I can't see 
> any problem. Any idea?

builtin libs in waf are a bit funny, and part of the issue would come
form the interaction between waf's dependency reducer and version
scripts that eliminate public symbols.  You won't see the -lreplace for
a builtin lib - builtin libs become subsystems, ie added to the object
list.  What I think has happened here is that it has become a subsystem
of some other library, which isn't then exporting the replace symbols.

I suggest you follow Jelmer's example for debian, and instead depend on
libbsd, to avoid packaging libreplace.  (ccan may be more trouble, and
for that I want to re-enable the private library extension for bundled
libs, but only for libraries that we know contain no static data).

Andrew Bartlett

Andrew Bartlett                                http://samba.org/~abartlet/
Authentication Developer, Samba Team           http://samba.org

More information about the samba-technical mailing list