Shuo Dong
2015-Oct-22 05:47 UTC
[Samba] how to build smbtorture using static linked libraries
Hello all: I am trying to build smbtorture using static linked libraries. The samba source code I have is samba-4.1.13 for configure, I did: waf configure --builtin-libraries=ALL for build, I did: waf build --targets=smbtorture (so that it only build target smbtorture) But, the waf build fails immediately. Then, I tried to only link with lib talloc and tevent statically, so I did: waf configure --builtin-libraries=talloc,tevent and then do: waf build --targets=smbtorture But then build fails in the link step with an ld error of undefined reference to some function. How can I resolve this issue, and build smbtorture with static linked libraries? Thanks
Herb Lewis
2015-Oct-22 15:03 UTC
[Samba] how to build smbtorture using static linked libraries
This is working for me with the following configure option --nonshared-binary=smbtorture You also need to apply the following patch which is not yet in the sources --- a/source4/torture/rpc/fsrvp.c +++ b/source4/torture/rpc/fsrvp.c @@ -41,7 +41,7 @@ #include "torture/torture.h" #include "torture/smb2/proto.h" #include "torture/rpc/torture_rpc.h" -#include "librpc/gen_ndr/ndr_security.c" +#include "librpc/gen_ndr/ndr_security.h" #include "librpc/gen_ndr/ndr_srvsvc_c.h" #include "librpc/gen_ndr/ndr_fsrvp_c.h" On 10/21/2015 10:47 PM, Shuo Dong wrote:> Hello all: > > I am trying to build smbtorture using static linked libraries. > The samba source code I have is samba-4.1.13 > > for configure, I did: > > waf configure --builtin-libraries=ALL > > for build, I did: > waf build --targets=smbtorture (so that it only build target smbtorture) > > But, the waf build fails immediately. > > > Then, I tried to only link with lib talloc and tevent statically, so I did: > > waf configure --builtin-libraries=talloc,tevent > > and then do: > waf build --targets=smbtorture > > But then build fails in the link step with an ld error of undefined > reference to some function. > > How can I resolve this issue, and build smbtorture with static linked > libraries? > > > Thanks
Jeremy Allison
2015-Oct-22 22:56 UTC
[Samba] how to build smbtorture using static linked libraries
On Thu, Oct 22, 2015 at 08:03:47AM -0700, Herb Lewis wrote:> This is working for me with the following configure option > > --nonshared-binary=smbtorture > > You also need to apply the following patch which is not yet in the sources > > --- a/source4/torture/rpc/fsrvp.c > +++ b/source4/torture/rpc/fsrvp.c > @@ -41,7 +41,7 @@ > #include "torture/torture.h" > #include "torture/smb2/proto.h" > #include "torture/rpc/torture_rpc.h" > -#include "librpc/gen_ndr/ndr_security.c" > +#include "librpc/gen_ndr/ndr_security.h" > #include "librpc/gen_ndr/ndr_srvsvc_c.h" > #include "librpc/gen_ndr/ndr_fsrvp_c.h"That got fixed in master here: commit e8c602dfa2f08a9ea43c84a7e7ae9fe17e007d60 Author: Stefan Metzmacher <metze at samba.org> Date: Wed Aug 12 09:24:42 2015 +0200 s4:torture/rpc: fix ndr_security.h include in fsrvp.c We should not include ndr_security.c This allows ./configure --nonshared-binary=smbtorture again. Signed-off-by: Stefan Metzmacher <metze at samba.org> Reviewed-by: Ralph Boehme <slow at samba.org> Autobuild-User(master): Ralph Böhme <slow at samba.org> Autobuild-Date(master): Mon Aug 17 20:53:10 CEST 2015 on sn-devel-104 Log a bug if you want it back-ported to release branch.