make install issue with "Update the copy of waf to current 1.5"

adrianc at catalyst.net.nz adrianc at catalyst.net.nz
Thu Apr 30 19:21:16 MDT 2015


When trying to build Samba from source I got the following error upon 
make install.  I realize I should have done this as root but I'm 
reporting an issue with the error reporting.

/home/alcinnz/Documents/samba/wscript: error: Traceback (most recent 
call last):
   File 
"/home/alcinnz/Documents/samba/third_party/waf/wafadmin/Utils.py", line 
647, in recurse
     exec(compile(txt, file_path, 'exec'), dc)
   File "/home/alcinnz/Documents/samba/wscript_build", line 46, in 
<module>
     bld.RECURSE('dynconfig')
   File "./buildtools/wafsamba/samba_utils.py", line 472, in RECURSE
     return ctx.add_subdirs(relpath)
   File 
"/home/alcinnz/Documents/samba/third_party/waf/wafadmin/Build.py", line 
993, in add_subdirs
     self.recurse(dirs, 'build')
   File 
"/home/alcinnz/Documents/samba/third_party/waf/wafadmin/Utils.py", line 
634, in recurse
     f(self)
   File "/home/alcinnz/Documents/samba/dynconfig/wscript", line 421, in 
build
     bld.INSTALL_DIRS("", "${CONFIGDIR} ${PRIVATE_DIR} ${LOGFILEBASE}");
   File "./buildtools/wafsamba/wafsamba.py", line 866, in INSTALL_DIRS
     bld.install_dir(os.path.join(destdir, d))
   File 
"/home/alcinnz/Documents/samba/third_party/waf/wafadmin/Build.py", line 
840, in install_dir
     Utils.check_dir(destpath)
   File 
"/home/alcinnz/Documents/samba/third_party/waf/wafadmin/Utils.py", line 
426, in check_dir
     raise Errors.WafError('Cannot create the folder %r' % path, ex=e)
NameError: global name 'Errors' is not defined

Investigating a bit I find that Errors didn't exist and that WafError 
existed in the same module. So taking the namespace off that error I 
got:

/home/alcinnz/Documents/samba/wscript: error: Traceback (most recent 
call last):
   File 
"/home/alcinnz/Documents/samba/third_party/waf/wafadmin/Utils.py", line 
647, in recurse
     exec(compile(txt, file_path, 'exec'), dc)
   File "/home/alcinnz/Documents/samba/wscript_build", line 46, in 
<module>
     bld.RECURSE('dynconfig')
   File "./buildtools/wafsamba/samba_utils.py", line 472, in RECURSE
     return ctx.add_subdirs(relpath)
   File 
"/home/alcinnz/Documents/samba/third_party/waf/wafadmin/Build.py", line 
993, in add_subdirs
     self.recurse(dirs, 'build')
   File 
"/home/alcinnz/Documents/samba/third_party/waf/wafadmin/Utils.py", line 
634, in recurse
     f(self)
   File "/home/alcinnz/Documents/samba/dynconfig/wscript", line 421, in 
build
     bld.INSTALL_DIRS("", "${CONFIGDIR} ${PRIVATE_DIR} ${LOGFILEBASE}");
   File "./buildtools/wafsamba/wafsamba.py", line 866, in INSTALL_DIRS
     bld.install_dir(os.path.join(destdir, d))
   File 
"/home/alcinnz/Documents/samba/third_party/waf/wafadmin/Build.py", line 
840, in install_dir
     Utils.check_dir(destpath)
   File 
"/home/alcinnz/Documents/samba/third_party/waf/wafadmin/Utils.py", line 
426, in check_dir
     raise WafError('Cannot create the folder %r' % path, ex=e)
TypeError: __init__() got an unexpected keyword argument 'ex'

This suggests a mis-merge rather than a typo in:

commit 2ab6c10f843c2bd703528bf5b753d8a74e97cf3a
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Mar 7 15:31:17 2015 +0100

     Update the copy of waf to current 1.5

     After making the update, this commit reverts the upstream addition 
of
     LDVERSION support in Python.py, which is necessary for Python 3
     support in waf. This change conflicts with the last remaining
     Samba-specific change in waf to help with cross-compilation.

     Change-Id: Iedfdc0199e9d10dfbd910c4eab50c23f984b6e2d
     Signed-Off-By: Jelmer Vernooij <jelmer at samba.org>

     Reviewed-by: Andrew Bartlett <abartlet at samba.org>

Bringing waf up to date appears to fix the issue.


More information about the samba-technical mailing list