Source: py3cairo Version: 1.10.0+dfsg-4 Severity: serious Justification: fails to build from source (but built successfully in the past)
py3cairo FTBFS when binNMUed to add support for python3.5. Here's what appears to be the relevant bit of the build log: Checking for library python3.5 in LIBDIR : 06:20:11 runner ['/usr/bin/gcc', '-D_FORTIFY_SOURCE=2', '-g', '-O2', '-fstack-protector-strong', '-Wformat', '-Werror=format-security', '-pthread', '-fwrapv', '-fstack-protector-strong', '-flto', '-fuse-linker-plugin', '-ffat-lto-objects', '-DPYTHONDIR="/usr/lib/python3/dist-packages"', '-DPYTHONARCHDIR="[\'/usr/lib/python3/dist-packages\']"', '-DNDEBUG', '../test.c', '-c', '-o', 'test.c.0.o'] 06:20:11 runner ['/usr/bin/gcc', 'test.c.0.o', '-o', '/«BUILDDIR»/py3cairo-1.10.0+dfsg/build3.5/.conf_check_48bc0baa924006e4ec070860d537efdb/testbuild/testprog', '-Wl,-Bstatic', '-Wl,-Bdynamic', '-L/usr/lib', '-lpython3.5', '-Wl,-z,relro', '-Wl,-z,relro', '-pthread', '-Wl,-O1', '-Wl,-Bsymbolic-functions', '-Wl,-z,relro'] ./options() ./configure() Traceback (most recent call last): File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Scripting.py", line 93, in waf_entry_point run_commands() File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Scripting.py", line 145, in run_commands run_command(cmd_name) File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Scripting.py", line 138, in run_command ctx.execute() File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Configure.py", line 124, in execute super(ConfigurationContext,self).execute() File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Context.py", line 87, in execute self.recurse([os.path.dirname(g_module.root_path)]) File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Context.py", line 127, in recurse user_function(self) File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/wscript", line 29, in configure ctx.check_python_headers() File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Configure.py", line 217, in fun return f(*k,**kw) File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Tools/python.py", line 146, in check_python_headers result=conf.check(lib=name,uselib='PYEMBED',libpath=path,mandatory=False,msg='Checking for library %s in LIBDIR'%name) File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Configure.py", line 217, in fun return f(*k,**kw) File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Tools/c_config.py", line 357, in check ret=self.run_c_code(*k,**kw) File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Configure.py", line 217, in fun return f(*k,**kw) File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Tools/c_config.py", line 435, in run_c_code bld.compile() File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Tools/errcheck.py", line 95, in check_compile ret=old_compile(self) File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Build.py", line 190, in compile self.store() File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Utils.py", line 300, in f ret=fun(*k,**kw) File "/«BUILDDIR»/py3cairo-1.10.0+dfsg/waflib/Build.py", line 164, in store cPickle.dump(data,f) AttributeError: Can't pickle local object 'Context.__init__.<locals>.node_class' It does look like there is a fix for this in Ubuntu [1]. Scott K [1] https://launchpad.net/ubuntu/+source/py3cairo/1.10.0+dfsg-4ubuntu2