I am trying to build the 4.6.0 version of smbclient.exe on cygwin, in order to enable our Windows 7 workstations to communicate with encrypted SMB3 shares. The configure fails with the perl error below. If you have built this already on cygwin and you have a binary to share, then this ticket can be immediately closed. I also tried export PERL_LIB_INSTALL_DIR=/var/perl to no avail. ./configure configure --without-ad-dc --with-static-modules=ALL --nonshared-binary=ALL ... Checking for library python2.7 : yes Checking for program python2.7-config : /usr/bin/python2.7-config Checking for custom code : yes Traceback (most recent call last): File "./buildtools/bin/waf", line 76, in <module> Scripting.prepare(t, cwd, VERSION, wafdir) File "/home/v-fishecj/samba-4.6.0/third_party/waf/wafadmin/Scripting.py", line 145, in prepare prepare_impl(t, cwd, ver, wafdir) File "/home/v-fishecj/samba-4.6.0/third_party/waf/wafadmin/Scripting.py", line 135, in prepare_impl main() File "/home/v-fishecj/samba-4.6.0/wscript", line 350, in main wildcard_main(wildcard_cmd) File "./buildtools/wafsamba/samba_wildcard.py", line 110, in wildcard_main fun(ctx) File "/home/v-fishecj/samba-4.6.0/third_party/waf/wafadmin/Scripting.py", line 241, in configure conf.sub_config(['']) File "/home/v-fishecj/samba-4.6.0/third_party/waf/wafadmin/Configure.py", line 237, in sub_config self.recurse(k, name='configure') File "/home/v-fishecj/samba-4.6.0/third_party/waf/wafadmin/Utils.py", line 656, in recurse f(self) File "/home/v-fishecj/samba-4.6.0/wscript", line 125, in configure conf.RECURSE('dynconfig') File "./buildtools/wafsamba/samba_utils.py", line 451, in RECURSE return ctx.sub_config(relpath) File "/home/v-fishecj/samba-4.6.0/third_party/waf/wafadmin/Configure.py", line 237, in sub_config self.recurse(k, name='configure') File "/home/v-fishecj/samba-4.6.0/third_party/waf/wafadmin/Utils.py", line 656, in recurse f(self) File "/home/v-fishecj/samba-4.6.0/dynconfig/wscript", line 337, in configure value = EXPAND_VARIABLES(conf, dyn_vars[varname]) File "./buildtools/wafsamba/samba_utils.py", line 325, in EXPAND_VARIABLES ret = SUBST_VARS_RECURSIVE(ret, ctx.env) File "./buildtools/wafsamba/samba_utils.py", line 292, in SUBST_VARS_RECURSIVE string = subst_vars_error(string, env) File "./buildtools/wafsamba/samba_utils.py", line 201, in subst_vars_error raise KeyError("Failed to find variable %s in %s" % (vname, string)) KeyError: 'Failed to find variable PERL_LIB_INSTALL_DIR in ${PERL_LIB_INSTALL_DIR}'
I've made the change documented at this website: https://www.spinics.net/lists/samba/msg138538.html I'm getting much further in the build process with that change in place. I'm working with the 4.1.23 version for the moment, as this is the minimum version where smbclient can do encrypted SMB3.
I was wrong - still failing at: Checking for custom code : yes Traceback (most recent call last): ... File "./buildtools/wafsamba/samba_utils.py", line 238, in subst_vars_error raise KeyError("Failed to find variable %s in %s" % (vname, string)) KeyError: 'Failed to find variable PERL_LIB_INSTALL_DIR in ${PERL_LIB_INSTALL_DIR}'