View Issue Details

IDProjectCategoryView StatusLast Update
0007760ardourbugspublic2019-05-21 17:50
Reportersysek Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
PlatformSome Other LinuxOSSome Other LinuxOS Versionunknown
Product Version5.12 
Summary0007760: Building ardour with python3
DescriptionHi,

I'm trying to build an RPM package for openSUSE but it keeps failing. As I read the main problem is that Ardour (whatever git clone or bz2) is using old version of `waf`, which is not compatible with python3

[ 12s] * Will build against private Ardour dependency stack : no
[ 12s] Checking for function dlopen :
[ 12s]
[ 12s] Traceback (most recent call last):
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Scripting.py", line 97, in waf_entry_point
[ 12s] run_commands()
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Scripting.py", line 151, in run_commands
[ 12s] run_command(cmd_name)
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Scripting.py", line 143, in run_command
[ 12s] ctx.execute()
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Configure.py", line 128, in execute
[ 12s] super(ConfigurationContext,self).execute()
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Context.py", line 87, in execute
[ 12s] self.recurse([os.path.dirname(g_module.root_path)])
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Context.py", line 128, in recurse
[ 12s] user_function(self)
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/wscript", line 1014, in configure
[ 12s] conf.check_cc(function_name='dlopen', header_name='dlfcn.h', lib='dl', uselib_store='DL')
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Configure.py", line 221, in fun
[ 12s] return f(*k,**kw)
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Tools/c_config.py", line 463, in check_cc
[ 12s] return self.check(*k,**kw)
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Configure.py", line 221, in fun
[ 12s] return f(*k,**kw)
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Tools/c_config.py", line 368, in check
[ 12s] ret=self.run_c_code(*k,**kw)
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Configure.py", line 221, in fun
[ 12s] return f(*k,**kw)
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Tools/c_config.py", line 447, in run_c_code
[ 12s] bld.compile()
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Build.py", line 188, in compile
[ 12s] self.store()
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Utils.py", line 310, in f
[ 12s] ret=fun(*k,**kw)
[ 12s] File "/home/abuild/rpmbuild/BUILD/Ardour-5.12.0/.waf3-1.6.11-06ee4b7efbeab1252ed3b11499834d2a/waflib/Build.py", line 162, in store
[ 12s] cPickle.dump(data,f)
[ 12s] AttributeError: Can't pickle local object 'Context.__init__.<locals>.node_class'
[ 12s] error: Bad exit status from /var/tmp/rpm-tmp.prdv5P (%build)
Steps To Reproduce1. Download Ardour (git or bz2)
2. Extract and go to sources
3. Run `python3 ./waf configure`
TagsNo tags attached.

Activities

peder

2019-05-21 17:50

reporter   ~0020665

Ardour 5 is in a frozen state, with all development being focused on the eventual 6.0 release, so I doubt there will be an official fix for your problem.

You may get someone to look at it if it doesn't work with the current 6.x git version but otherwise I suggest you stick with python2.

The upcoming openSUSE 15.1 still has python2 AFAIK so unless you're using Tumbleweed it should work out of the box.

Issue History

Date Modified Username Field Change
2019-05-20 13:22 sysek New Issue
2019-05-21 17:50 peder Note Added: 0020665