FYI : Ardour 9 doesn't build on Linux using clang

Just a note for anyone trying to build Ardour 9 using clang/llvm.
Since enabling executable stack in commit ec5b06e63d69277 it bugs out with
clang: error: unknown argument: ‘-zexecstack’ when linking ardour-exec-wrapper

A workaround is to run
grep -R execstack * | cut -d\: -f1 | while read var ; do cp $var $var.org ; sed -i 's/-zexecstack//' $var ; done
to disable it

I ran into that problem only a few minutes after your post. So thanks for that.
Today i have tried a simple fix. The clang compiler needs the keyword argument to the -z option to be separated by a whitespace character. gcc can live with both.
So, with ‘-z execstack’ the linking is successful in both cases.

Not here with gcc 10.2.1 fails with -z exectstack while -zexecstack works. also lld bails out if there is a space.

Should be fixed in Ardour 9.0-pre0-1278-g877f603d92

PS. Please use tracker.ardour.org for these reports in the future. Thanks.

The info screen says “Please do NOT file bugs for this alpha-development versions [sic] at this point in time”, so I figured I shouldn’t report it to the tracker.

It also says not to report issues here, but I figured it would be slightly less frowned upon. :slight_smile:
Especially with the FYI preamble.

heh fair enough.

it does however say

  1. Please DO join us on IRC for real time discussions about Ardour 9. You
    can get there directly from within the program via the Help → Chat menu option.

which someone just did to inform us that I had missed one -zexecstack. really fixed now in g72cc6a3e69.

1 Like