Ardour 6.9.0 Build failed

I recently installed Ardour pre-7 and it build and ran just fine (for an unstable release), but when I uninstalled it and tried to build the 6.9.0 version, it gave me this error after typing “./waf -v”:

Build failed
 -> task in 'libardour' failed with exit status 1: 
	{task 140486614716416: cxx session.cc -> session.cc.1.o}
['/usr/bin/g++', '-I/home/mapacha/Descargas/Ardour-6.9.0', '-DHAVE_RF64_RIFF', '-DWAF_BUILD', '-g', '-fshow-column', '-DARCH_X86', '-mmmx', '-msse', '-mfpmath=sse', '-DUSE_XMMINTRIN', '-DBUILD_SSE_OPTIMIZATIONS', '-DLXVST_64BIT', '-Wall', '-Wpointer-arith', '-Wcast-qual', '-Wcast-align', '-Wno-unused-parameter', '-DBOOST_SYSTEM_NO_DEPRECATED', '-D_ISOC9X_SOURCE', '-D_LARGEFILE64_SOURCE', '-D_FILE_OFFSET_BITS=64', '-DPROGRAM_NAME="Ardour"', '-DPROGRAM_VERSION="6"', '-Woverloaded-virtual', '-Wno-unused-local-typedefs', '-D__STDC_LIMIT_MACROS', '-D__STDC_FORMAT_MACROS', '-DCANVAS_COMPATIBILITY', '-DCANVAS_DEBUG', '-DBOOST_ERROR_CODE_HEADER_ONLY', '-fPIC', '-fPIC', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-F/System/Library/Frameworks', '-F/Library/Frameworks', '-Ilibs/ardour', '-I../libs/ardour', '-Ilibs/vst3', '-I../libs/vst3', '-Ilibs/surfaces/control_protocol', '-I../libs/surfaces/control_protocol', '-Ilibs', '-I../libs', '-Ilibs/midi++2', '-I../libs/midi++2', '-Ilibs/evoral', '-I../libs/evoral', '-Ilibs/audiographer', '-I../libs/audiographer', '-Ilibs/audiographer/src', '-I../libs/audiographer/src', '-Ilibs/ptformat', '-I../libs/ptformat', '-Ilibs/pbd', '-I../libs/pbd', '-Ilibs/evoral/libsmf', '-I../libs/evoral/libsmf', '-Ilibs/temporal', '-I../libs/temporal', '-Ilibs/lua', '-I../libs/lua', '-Ilibs/zita-resampler', '-I../libs/zita-resampler', '-Ilibs/zita-convolver', '-I../libs/zita-convolver', '-Ilibs/libltc/ltc', '-I../libs/libltc/ltc', '-Ilibs/fluidsynth/fluidsynth', '-I../libs/fluidsynth/fluidsynth', '-I/usr/include/glibmm-2.4', '-I/usr/lib/glibmm-2.4/include', '-I/usr/include/glib-2.0', '-I/usr/lib/glib-2.0/include', '-I/usr/include/sysprof-4', '-I/usr/include/sigc++-2.0', '-I/usr/lib/sigc++-2.0/include', '-I/usr/include/libxml2', '-I/usr/include/opus', '-I/usr/include/raptor2', '-I/usr/include/giomm-2.4', '-I/usr/lib/giomm-2.4/include', '-I/usr/include/libmount', '-I/usr/include/blkid', '-I/usr/include/taglib', '-I/usr/include/soundtouch', '-I/usr/include/lilv-0', '-I/usr/include/serd-0', '-I/usr/include/sord-0', '-I/usr/include/sratom-0', '-I/usr/include/suil-0', '-I/home/mapacha/Descargas/Ardour-6.9.0/build', '-DINTERNAL_SHARED_LIBS=1', '-DHAVE_ALSA=1', '-DHAVE_PULSEAUDIO=1', '-DHAVE_GLIB=1', '-DHAVE_GLIB_2_68=1', '-DHAVE_GTHREAD=1', '-DHAVE_GLIBMM=1', '-DHAVE_SNDFILE=1', '-DHAVE_GIOMM=1', '-DHAVE_CURL=1', '-DHAVE_ARCHIVE=1', '-DHAVE_LO=1', '-DHAVE_TAGLIB=1', '-DHAVE_VAMPSDK=1', '-DHAVE_VAMPHOSTSDK=1', '-DHAVE_RUBBERBAND=1', '-DEXPORT_VISIBILITY_HIDDEN=0', '-DPHONE_HOME=1', '-DENABLE_NLS=1', '-DLXVST_SUPPORT=1', '-DVST3_SUPPORT=1', '-DHAVE_JACK=1', '-DFPU_AVX_FMA_SUPPORT=1', '-DCONFIG_ARCH="x86_64"', '-DHAVE_TOOLS_SANITY_CHECK=1', '-DHAVE_TOOLS_GCCABICHECK=1', '-DHAVE_LIBS_CLEARLOOKS_NEWER=1', '-DHAVE_LIBS_FLUIDSYNTH=1', '-DHAVE_UDEV=1', '-DHAVE_HIDAPI=1', '-DHAVE_LIBS_HIDAPI=1', '-DHAVE_LIBS_LIBLTC=1', '-DHAVE_LIBS_LUA=1', '-DHAVE_LIBS_PTFORMAT=1', '-DHAVE_LIBS_QM_DSP=1', '-DHAVE_FFTW3F=1', '-DHAVE_AUBIO=1', '-DHAVE_AUBIO4=1', '-DHAVE_LIBS_VAMP_PLUGINS=1', '-DHAVE_LIBS_VAMP_PYIN=1', '-DHAVE_LIBS_ZITA_RESAMPLER=1', '-DHAVE_LIBS_ZITA_CONVOLVER=1', '-DHAVE_XML=1', '-DHAVE_SIGCPP=1', '-DHAVE_EXECINFO=1', '-DHAVE_POSIX_MEMALIGN=1', '-DHAVE_GETMNTENT=1', '-DHAVE_LOCALTIME_R=1', '-DHAVE_LIBS_PBD=1', '-DHAVE_LIBS_MIDIPP2=1', '-DHAVE_LIBS_EVORAL=1', '-DHAVE_USB=1', '-DHAVE_WEBSOCKETS=1', '-DHAVE_CONTROL_PROTOCOL=1', '-DHAVE_FADERPORT=1', '-DHAVE_FADERPORT8=1', '-DHAVE_CC121=1', '-DHAVE_GENERIC_MIDI=1', '-DHAVE_MACKIE=1', '-DHAVE_US2400=1', '-DHAVE_LAUNCH_CONTROL_XL=1', '-DHAVE_PANGOMM=1', '-DHAVE_CAIROMM=1', '-DHAVE_PUSH2=1', '-DHAVE_CONTOURDESIGN=1', '-DHAVE_LIBS_SURFACES=1', '-DHAVE_2IN2OUT=1', '-DHAVE_1IN2OUT=1', '-DHAVE_VBAP=1', '-DHAVE_STEREOBALANCE=1', '-DHAVE_LIBS_PANNERS=1', '-DHAVE_DUMMY=1', '-DHAVE_JACK_METADATA=1', '-DHAVE_JACK_PORT_RENAME=1', '-DHAVE_LIBS_BACKENDS=1', '-DHAVE_LIBS_TEMPORAL=1', '-DHAVE_LRDF=1', '-DHAVE_SAMPLERATE=1', '-DHAVE_LV2=1', '-DHAVE_LV2_1_10_0=1', '-DHAVE_LV2_1_17_2=1', '-DHAVE_SERD=1', '-DHAVE_SORD=1', '-DHAVE_SRATOM=1', '-DHAVE_LILV=1', '-DHAVE_SUIL=1', '-DLV2_SUPPORT=1', '-DLV2_EXTENDED=1', '-DHAVE_SOUNDTOUCH=1', '-DHAVE_OGG=1', '-DHAVE_FLAC=1', '-DHAVE_FFTW35F=1', '-DUSE_RUBBERBAND=1', '-DCURRENT_SESSION_FILE_VERSION=6000', '-DHAVE_SYS_VFS_H=1', '-DHAVE_SYS_STATVFS_H=1', '-DHAVE_UNISTD=1', '-DHAVE_BOOST_SCOPED_PTR_HPP=1', '-DHAVE_BOOST_PTR_CONTAINER_PTR_LIST_HPP=1', '-DHAVE_LIBS_ARDOUR=1', '-DHAVE_GTKMM=1', '-DHAVE_GTK=1', '-DHAVE_LIBS_GTKMM2EXT=1', '-DHAVE_BOOST_FORMAT_HPP=1', '-DHAVE_LIBS_AUDIOGRAPHER=1', '-DHAVE_LIBS_CANVAS=1', '-DHAVE_LIBS_WIDGETS=1', '-DHAVE_LIBS_WAVEVIEW=1', '-DHAVE_LV2_1_0_0=1', '-DHAVE_LIBS_PLUGINS_REASONABLESYNTH_LV2=1', '-DHAVE_CAIRO=1', '-DHAVE_LIBS_PLUGINS_A_COMP_LV2=1', '-DHAVE_LIBS_PLUGINS_A_EXP_LV2=1', '-DHAVE_LIBS_PLUGINS_A_DELAY_LV2=1', '-DHAVE_LIBS_PLUGINS_A_EQ_LV2=1', '-DHAVE_LIBS_PLUGINS_A_REVERB_LV2=1', '-DHAVE_LIBS_PLUGINS_A_FLUIDSYNTH_LV2=1', '-DHAVE_X11=1', '-DHAVE_PANGOFT2=1', '-DHAVE_FONTCONFIG=1', '-DHAVE_BOOST_SHARED_PTR_HPP=1', '-DHAVE_BOOST_WEAK_PTR_HPP=1', '-DHAVE_GTK2_ARDOUR=1', '-DHAVE_SHARE_EXPORT=1', '-DHAVE_SHARE_MIDI_MAPS=1', '-DHAVE_SHARE_MCP=1', '-DHAVE_SHARE_OSC=1', '-DHAVE_SHARE_PATCHFILES=1', '-DHAVE_SHARE_PLUGIN_METADATA=1', '-DHAVE_SHARE_SCRIPTS=1', '-DHAVE_SHARE_WEB_SURFACES=1', '-DHAVE_HEADLESS=1', '-DHAVE_READLINE=1', '-DHAVE_LUASESSION=1', '-DHAVE_SESSION_UTILS=1', '-DHAVE_LIBS_FST=1', '-DHAVE_LIBS_VFORK=1', '-DHAVE_DBUS=1', '-DHAVE_LIBS_ARDOURALSAUTIL=1', '-DHAVE_LIBS_AUSCAN=1', '-DLIBARDOUR_DLL_EXPORTS=1', '-DPACKAGE="ardour6"', '-DDATA_DIR="/usr/local/share/ardour6"', '-DCONFIG_DIR="/usr/local/etc"', '-DLOCALEDIR="/usr/local/share/ardour6/locale"', '-DLIBARDOUR="ardour6"', '-DLXVST_SUPPORT', '-DVST3_SUPPORT', '-DFPU_AVX_FMA_SUPPORT', '../libs/ardour/session.cc', '-c', '-o/home/mapacha/Descargas/Ardour-6.9.0/build/libs/ardour/session.cc.1.o']

any idea on why is this happening and how to solve it? I’m using arch btw, and “./waf configure” ran just fine before this.

What is the actual error that gcc prints?

How can I check that? the gnome terminal doesn’t print any specific error asides from what I included in the post, but it does print some python exceptions if I run “/.waf -vvv”:

  File '/home/user/Downloads/Ardour-6.9.0/./waf', line 168, in <module>
	Scripting.waf_entry_point(cwd, VERSION, wafdir)
  File '/home/user/Downloads/Ardour-6.9.0/.waf3-2.0.19-1216edef773cb93a573c0abd4d9bece5/waflib/Scripting.py', line 131, in waf_entry_point
	Logs.error(e.msg)

Just ./waf does suffice. Since the command g++ -I... fails there must be output from the compiler to stderr in the Terminal.

There isn’t seem to be no error output, just a bunch of compiling notes and messages about deprecated stuff starting for example with “BOOST_PRAGMA_MESSAGE” and "GTypeDebugFlags ", but it doesn’t seem important since even successfully compiled files got those.

Compile with waf -j1 The error is in the output, you’re just missing it.

I see no error highlighted but I got all this when it tries to compile just session.cc:

[ 178/1159] Compiling libs/ardour/session.cc
In file included from /usr/include/boost/bind.hpp:30,
                 from ../libs/pbd/pbd/signals.h:37,
                 from ../libs/pbd/pbd/transmitter.h:25,
                 from ../libs/pbd/pbd/error.h:22,
                 from ../libs/ardour/session.cc:51:
/usr/include/boost/bind.hpp:36:1: note: ‘#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.’
   36 | BOOST_PRAGMA_MESSAGE(
      | ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/glib-2.0/glib/gthread.h:32,
                 from /usr/include/glib-2.0/glib/gasyncqueue.h:32,
                 from /usr/include/glib-2.0/glib.h:32,
                 from /usr/include/glibmm-2.4/glibmm/refptr.h:21,
                 from /usr/include/glibmm-2.4/glibmm/datetime.h:24,
                 from ../libs/ardour/session.cc:42:
../libs/pbd/pbd/stateful.h: In member function ‘bool PBD::Stateful::property_changes_suspended() const’:
/usr/include/glib-2.0/glib/gatomic.h:96:20: warning: cast from type ‘const gint*’ {aka ‘const int*’} to type ‘gint*’ {aka ‘int*’} casts away qualifiers [-Wcast-qual]
   96 |     __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
      |                    ^~~~~~~~~~~~~~~~
../libs/pbd/pbd/stateful.h:108:58: note: in expansion of macro ‘g_atomic_int_get’
  108 |         bool property_changes_suspended() const { return g_atomic_int_get (&_stateful_frozen) > 0; }
      |                                                          ^~~~~~~~~~~~~~~~
../libs/ardour/ardour/automation_list.h: In member function ‘virtual bool ARDOUR::AutomationList::touching() const’:
/usr/include/glib-2.0/glib/gatomic.h:96:20: warning: cast from type ‘const gint*’ {aka ‘const int*’} to type ‘gint*’ {aka ‘int*’} casts away qualifiers [-Wcast-qual]
   96 |     __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
      |                    ^~~~~~~~~~~~~~~~
../libs/ardour/ardour/automation_list.h:112:41: note: in expansion of macro ‘g_atomic_int_get’
  112 |         bool touching () const { return g_atomic_int_get (&_touching) != 0; }
      |                                         ^~~~~~~~~~~~~~~~
../libs/ardour/ardour/audioengine.h: In member function ‘bool ARDOUR::AudioEngine::is_reset_requested() const’:
/usr/include/glib-2.0/glib/gatomic.h:96:20: warning: cast from type ‘const gint*’ {aka ‘const int*’} to type ‘gint*’ {aka ‘int*’} casts away qualifiers [-Wcast-qual]
   96 |     __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
      |                    ^~~~~~~~~~~~~~~~
../libs/ardour/ardour/audioengine.h:121:60: note: in expansion of macro ‘g_atomic_int_get’
  121 |         bool           is_reset_requested() const { return g_atomic_int_get (&_hw_reset_request_count); }
      |                                                            ^~~~~~~~~~~~~~~~
../libs/ardour/ardour/source.h: In member function ‘int ARDOUR::Source::use_count() const’:
/usr/include/glib-2.0/glib/gatomic.h:96:20: warning: cast from type ‘const gint*’ {aka ‘const int*’} to type ‘gint*’ {aka ‘int*’} casts away qualifiers [-Wcast-qual]
   96 |     __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
      |                    ^~~~~~~~~~~~~~~~
../libs/ardour/ardour/source.h:134:41: note: in expansion of macro ‘g_atomic_int_get’
  134 |         int  use_count() const { return g_atomic_int_get (&_use_count); }
      |                                         ^~~~~~~~~~~~~~~~
../libs/ardour/ardour/midi_channel_filter.h: In member function ‘void ARDOUR::MidiChannelFilter::get_mode_and_mask(ARDOUR::ChannelMode*, uint16_t*) const’:
/usr/include/glib-2.0/glib/gatomic.h:96:20: warning: cast from type ‘const uint32_t*’ {aka ‘const unsigned int*’} to type ‘gint*’ {aka ‘int*’} casts away qualifiers [-Wcast-qual]
   96 |     __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
      |                    ^~~~~~~~~~~~~~~~
../libs/ardour/ardour/midi_channel_filter.h:76:37: note: in expansion of macro ‘g_atomic_int_get’
   76 |                 const uint32_t mm = g_atomic_int_get (&_mode_mask);
      |                                     ^~~~~~~~~~~~~~~~
../libs/ardour/ardour/midi_channel_filter.h: In member function ‘ARDOUR::ChannelMode ARDOUR::MidiChannelFilter::get_channel_mode() const’:
/usr/include/glib-2.0/glib/gatomic.h:96:20: warning: cast from type ‘const uint32_t*’ {aka ‘const unsigned int*’} to type ‘gint*’ {aka ‘int*’} casts away qualifiers [-Wcast-qual]
   96 |     __atomic_load ((gint *)(atomic), &gaig_temp, __ATOMIC_SEQ_CST);          \
      |                    ^~~~~~~~~~~~~~~~

and it just goes on like this for a while until it leaves the directory

I had that error after a gcc update, and had to add --cxx11 to my configuration.
This is my configuration that is working:
./waf configure --libjack=weak --with-backends=jack,alsa,dummy --cxx11 --strict

1 Like

Thanks! I tried that and didn’t work, but I figured that if gcc was the problem I could try using clang++, so I went with this configuration:

./waf configure --libjack=weak --with-backends=jack,alsa,dummy --cxx11 --strict --check-cxx-compiler=clang++

and finally I got to pinpoint the error:

In file included from ../libs/ardour/session.cc:61:
In file included from ../libs/ardour/ardour/amp.h:30:
In file included from ../libs/ardour/ardour/automation_control.h:39:
In file included from ../libs/ardour/ardour/parameter_descriptor.h:25:
In file included from ../libs/ardour/ardour/variant.h:30:
../libs/pbd/pbd/compose.h:122:6: error: call to function 'operator<<' that is neither visible in the template definition nor found by argument-dependent lookup
                os << obj;

Any idea how could I solve this?