Can't compile Ardour after upgrade my Kubuntu to 20.10

I compile Ardour for years. So far, everything was fine, but recently I upgraded my Kubuntu to the latest release and I cannot compile Ardour anymore.

The error appears at the very end of compilation (linking).
I will be grateful for your help.

/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/10/…/…/…/x86_64-linux-gnu/libdbus-1.a(libdbus_1_la-dbus-sysdeps-pthread.o): in function _dbus_platform_condvar_new': (.text+0x1e9): undefined reference to pthread_condattr_setclock’
collect2: error: ld returned 1 exit status

Waf: Leaving directory `/cd/ardour-git/ardour/build’
Build failed
-> task in ‘ardour-request-device’ failed with exit status 1:
{task 140108249883808: cprogram reserve.c.2.o,request_device.c.2.o -> ardour-request-device}
[’/usr/bin/gcc’, ‘libs/ardouralsautil/reserve.c.2.o’, ‘libs/ardouralsautil/request_device.c.2.o’, ‘-o/cd/ardour-git/ardour/build/libs/ardouralsautil/ardour-request-device’, ‘-Wl,-Bstatic’, ‘-Wl,-Bdynamic’, ‘-lm’, ‘-ldbus-1’]

It happens if I add the Alsa backend (–with-backends=jack,pulseaudio,alsa) only.
If I remove alsa backend the compilation is OK.

Can you try if 6.5-10-g52f62f0c14 (current git) helps?

It’s a shot in the dark, since I cannot reproduce the issue here, and it may rather indicate an issue with libdbus on your system.

With Ardour6, you do not have to specify --with-backend=... anymore. Available backends are auto-detected. The option is only needed if you want to explicitly override this. If you do this, I’d recommend to also include the dummy backend, since various session-utils depend on it.

use this method

Thank you for your replies.

@x42 : without specifying backends the error is the same:
Build failed
-> task in ‘ardour-request-device’ failed with exit status 1 (run with -v to display more information)

@lsdfjksdjfh : I followed the instructions provided on this page but it changes nothing.

@skygge which version are you compiling?

What’s the output of

git describe


OK, that’s new enough to include to add -pthread as compile flag, which should fix the issue.

I’m out of ideas. Searching the web for this specific error ("_dbus_platform_condvar_new’ undefined reference to pthread_condattr_setclock’") also does not yield any other helpful results.

Can you try a full rebuild (rm -rf build; ./waf configure ...; ./waf), just in case the flag was not picked up in incremental builds after a git pull.

But chances are that it’s likely something specific to your system, since may Linux distros build it just fine, incl. recent Ubuntu.

If it helps, I’ve just compiled the master branch on a Kubuntu 20.10 system. Possibly my steps may suggest something you omitted.

sudo apt-get build-dep ardour
mkdir ardour
cd ardour
git clone 6.5
cd 6.5
(edit first line of waf to be #!/usr/bin/env python2 - my system has no default python)
./waf configure
sudo apt-get install soundtouch
./waf configure
cd gtk2_ardour

git describe produces: 6.5-23-g5fad7e03b2

Got it!

apt-get install --reinstall libdbus-1-dev

and then suddenly… a miracle happened…

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.