Can’t compile Ardour 4.1.0: [477/762] fails

Hello,

I’m using Zenwalk, a Slackware based distribution. I never had any problems compiling Ardour until the latest version. It stops at [477/762] with the following output:

[477/762] cxx: gtk2_ardour/actions.cc -> build/gtk2_ardour/actions.cc.1.o
In file included from /usr/include/boost/bind/arg.hpp:24:0,
                 from /usr/include/boost/bind/bind.hpp:29,
                 from /usr/include/boost/bind.hpp:22,
                 from /home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/pbd/pbd/signals.h:33,
                 from /home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/pbd/pbd/abstract_ui.h:32,
                 from /home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/gtkmm2ext/gtkmm2ext/gtk_ui.h:48,
                 from /home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/gtkmm2ext/gtkmm2ext/gui_thread.h:24,
                 from ../libs/canvas/wave_view.cc:27:
/usr/include/boost/optional/optional.hpp: In instantiation of ‘std::basic_ostream<_CharT, _Traits>& boost::operator<&, const boost::optional_detail::optional_tag&) [with CharType = char; CharTrait = std::char_traits]’:
/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/pbd/pbd/compose.h:120:8:   required from ‘StringPrivate::Composition& StringPrivate::Composition::arg(const T&) [with T = boost::optional]’
/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/pbd/pbd/compose.h:249:5:   required from ‘std::string string_compose(const string&, const T1&, const T2&, const T3&, const T4&, const T5&) [with T1 = ArdourCanvas::WaveView*; T2 = long int; T3 = bool; T4 = boost::optional; T5 = boost::shared_ptr; std::string = std::basic_string]’
../libs/canvas/wave_view.cc:155:9:   required from here
/usr/include/boost/optional/optional.hpp:1256:3: error: invalid application of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE’
   BOOST_STATIC_ASSERT_MSG(sizeof(CharType) == 0, "If you want to output boost::optional, include header "); 
   ^
Waf: Leaving directory `/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/build'
Build failed
 -> task in 'libcanvas' failed (exit status 1): 
	{task 139886868831312: cxx wave_view.cc -> wave_view.cc.1.o}
['/usr/bin/g++', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0', '-DWAF_BUILD', '-O0', '-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', '-DENABLE_NLS', '-DPROGRAM_NAME="Ardour"', u'-DPROGRAM_VERSION="4"', '-Woverloaded-virtual', '-Wno-unused-local-typedefs', '-D__STDC_LIMIT_MACROS', '-D__STDC_FORMAT_MACROS', '-DCANVAS_COMPATIBILITY', '-DCANVAS_DEBUG', '-fPIC', '-fPIC', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-pthread', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/build/libs/canvas', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/canvas', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/build/libs/ardour', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/ardour', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/build/libs/midi++2', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/midi++2', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/build/libs/evoral', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/evoral', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/build/libs/audiographer', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/audiographer', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/build/libs/audiographer/src', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/audiographer/src', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/build/libs/gtkmm2ext', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/gtkmm2ext', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/build/libs/pbd', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/pbd', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/build/libs/evoral/src/libsmf', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/evoral/src/libsmf', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/build/libs/timecode', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/timecode', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/build/libs/libltc/ltc', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/libs/libltc/ltc', '-I/usr/include/sigc++-2.0', '-I/usr/lib64/sigc++-2.0/include', '-I/usr/include/cairomm-1.0', '-I/usr/lib64/cairomm-1.0/include', '-I/usr/include/cairo', '-I/usr/include/glib-2.0', '-I/usr/lib64/glib-2.0/include', '-I/usr/include/pixman-1', '-I/usr/include/freetype2', '-I/usr/include/libpng16', '-I/usr/include/harfbuzz', '-I/usr/include/libdrm', '-I/usr/include/gtkmm-2.4', '-I/usr/lib64/gtkmm-2.4/include', '-I/usr/include/atkmm-1.6', '-I/usr/include/gtk-unix-print-2.0', '-I/usr/include/gtk-2.0', '-I/usr/include/gdkmm-2.4', '-I/usr/lib64/gdkmm-2.4/include', '-I/usr/include/giomm-2.4', '-I/usr/lib64/giomm-2.4/include', '-I/usr/include/pangomm-1.4', '-I/usr/lib64/pangomm-1.4/include', '-I/usr/include/glibmm-2.4', '-I/usr/lib64/glibmm-2.4/include', '-I/usr/lib64/gtk-2.0/include', '-I/usr/include/pango-1.0', '-I/usr/include/atk-1.0', '-I/usr/include/gdk-pixbuf-2.0', '-I/usr/include/libxml2', '-I/usr/include/aubio', '-I/usr/include/raptor2', '-I/usr/include/taglib', '-I/usr/include/lilv-0', '-I/usr/include/sratom-0', '-I/usr/include/sord-0', '-I/usr/include/serd-0', '-I/usr/include/suil-0', '-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0/build', '-DINTERNAL_SHARED_LIBS=1', '-DHAVE_DLOPEN=1', '-DHAVE_ALSA=1', '-DHAVE_GLIB=1', '-DHAVE_GTHREAD=1', '-DHAVE_GLIBMM=1', '-DHAVE_SNDFILE=1', '-DHAVE_GIOMM=1', '-DHAVE_CURL=1', '-DHAVE_LO=1', '-DHAVE_TAGLIB=1', '-DHAVE_VAMPSDK=1', '-DHAVE_VAMPHOSTSDK=1', '-DHAVE_RUBBERBAND=1', '-DEXPORT_VISIBILITY_HIDDEN=False', '-DPHONE_HOME=1', '-DENABLE_NLS=1', '-DLXVST_SUPPORT=1', '-DCONFIG_ARCH="x86_64"', '-DHAVE_TOOLS_SANITY_CHECK=1', '-DHAVE_LIBS_CLEARLOOKS_NEWER=1', '-DHAVE_LIBS_QM_DSP=1', '-DHAVE_FFTW3F=1', '-DHAVE_AUBIO=1', '-DHAVE_LIBS_VAMP_PLUGINS=1', '-DHAVE_LIBS_LIBLTC=1', '-DHAVE_XML=1', '-DHAVE_SIGCPP=1', '-DHAVE_GETMNTENT=1', '-DHAVE_EXECINFO=1', '-DHAVE_POSIX_MEMALIGN=1', '-DHAVE_LOCALTIME_R=1', '-DHAVE_LIBS_PBD=1', '-DHAVE_LIBS_MIDIPP2=1', '-DHAVE_LIBS_EVORAL=1', '-DHAVE_CONTROL_PROTOCOL=1', '-DHAVE_GENERIC_MIDI=1', '-DHAVE_MACKIE=1', '-DHAVE_LIBS_SURFACES=1', '-DHAVE_2IN2OUT=1', '-DHAVE_1IN2OUT=1', '-DHAVE_VBAP=1', '-DHAVE_STEREOBALANCE=1', '-DHAVE_LIBS_PANNERS=1', '-DHAVE_JACK=1', '-DHAVE_JACK_METADATA=1', '-DHAVE_LIBS_BACKENDS=1', '-DHAVE_LIBS_TIMECODE=1', '-DHAVE_LRDF=1', '-DHAVE_SAMPLERATE=1', '-DHAVE_LV2=1', '-DHAVE_LV2_1_2_0=1', '-DHAVE_LV2_1_10_0=1', '-DHAVE_SERD=1', '-DHAVE_SORD=1', '-DHAVE_SRATOM=1', '-DHAVE_LILV=1', '-DHAVE_LILV_0_16_0=1', '-DHAVE_SUIL=1', '-DLV2_SUPPORT=1', '-DHAVE_OGG=1', '-DHAVE_FLAC=1', '-DUSE_RUBBERBAND=1', '-DCURRENT_SESSION_FILE_VERSION=3001', '-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_CAIROMM=1', '-DHAVE_LIBS_CANVAS=1', '-DHAVE_LV2_1_0_0=1', '-DHAVE_LIBS_PLUGINS_REASONABLESYNTH_LV2=1', '-DHAVE_X11=1', '-DHAVE_FONTCONFIG=1', '-DHAVE_BOOST_SHARED_PTR_HPP=1', '-DHAVE_BOOST_WEAK_PTR_HPP=1', '-DHAVE_GTK2_ARDOUR=1', '-DHAVE_EXPORT=1', '-DHAVE_MIDI_MAPS=1', '-DHAVE_MCP=1', '-DHAVE_PATCHFILES=1', '-DHAVE_HEADLESS=1', '-DHAVE_LIBS_FST=1', '-DHAVE_LIBS_VFORK=1', '-DHAVE_DBUS=1', '-DHAVE_LIBS_ARDOURALSAUTIL=1', '-DHAVE_CFGTOOL=1', '-DLIBCANVAS_DLL_EXPORTS=1', '-DPACKAGE="libcanvas"', '../libs/canvas/wave_view.cc', '-c', '-o', 'libs/canvas/wave_view.cc.1.o']

Here’s my config :

Global Configuration 
 * Install prefix                                    : /usr/local 
 * Debuggable build                                  : True 
 * Build documentation                               : False 

Ardour Configuration 
 * Will build against private GTK dependency stack   : no 
 * Will rely on libintl built into libc              : yes 
 * Will build against private Ardour dependency stack : no 
Checking for function dlopen                         : yes 
Checking for boost library >= 1.39                   : ok 
Checking for program pkg-config                      : /usr/bin/pkg-config 
Checking for 'alsa'                                  : yes 
Checking for 'glib-2.0' >= 2.28                      : yes 
Checking for 'gthread-2.0' >= 2.2                    : yes 
Checking for 'glibmm-2.4' >= 2.32.0                  : yes 
Checking for 'sndfile' >= 1.0.18                     : yes 
Checking for 'giomm-2.4' >= 2.2                      : yes 
Checking for 'libcurl' >= 7.0.0                      : yes 
Checking for 'liblo' >= 0.26                         : yes 
Checking for 'taglib' >= 1.6                         : yes 
Checking for 'vamp-sdk' >= 2.1                       : yes 
Checking for 'vamp-hostsdk' >= 2.1                   : yes 
Checking for 'rubberband'                            : yes 
Checking for clang                                   : no 
Checking for 'fftw3f'                                : yes 
Checking for 'aubio' >= 0.3.2                        : yes 
Checking for 'aubio' >= 0.4.0                        : not found 
Checking for 'libxml-2.0'                            : yes 
Checking for 'sigc++-2.0' >= 2.0                     : yes 
Checking for function getmntent                      : yes 
Checking for header execinfo.h                       : yes 
Checking for header unistd.h                         : yes 
Checking for function posix_memalign                 : yes 
Checking for function localtime_r                    : yes 
Checking for header boost/shared_ptr.hpp             : yes 
Checking for header boost/weak_ptr.hpp               : yes 
Checking for 'cppunit' >= 1.12.0                     : not found 
Checking for header boost/shared_ptr.hpp             : yes 
Checking for header boost/weak_ptr.hpp               : yes 
Checking for header boost/shared_ptr.hpp             : yes 
Checking for header boost/weak_ptr.hpp               : yes 
Checking for header cwiid.h                          : not found 
You are missing the cwiid headers needed to compile wiimote support
Checking for 'jack' >= 0.121.0                       : yes 
Checking for JACK metadata API                       : ok 
Checking for program gas,as,gcc                      : /usr/bin/as 
Checking for 'lrdf' >= 0.4.0                         : yes 
Checking for 'samplerate' >= 0.1.0                   : yes 
Checking for 'lv2' >= 1.0.0                          : yes 
Checking for 'lv2' >= 1.2.0                          : yes 
Checking for 'lv2' >= 1.10.0                         : yes 
Checking for 'serd-0' >= 0.14.0                      : yes 
Checking for 'sord-0' >= 0.8.0                       : yes 
Checking for 'sratom-0' >= 0.2.0                     : yes 
Checking for 'lilv-0' >= 0.14.0                      : yes 
Checking for 'lilv-0' >= 0.16.0                      : yes 
Checking for 'lilv-0' >= 0.19.2                      : not found 
Checking for 'lilv-0' >= 0.21.3                      : not found 
Checking for 'suil-0' >= 0.6.0                       : yes 
Checking for 'ogg' >= 1.1.2                          : yes 
Checking for 'flac' >= 1.2.1                         : yes 
Checking for header sys/vfs.h                        : yes 
Checking for header sys/statvfs.h                    : yes 
Checking for header unistd.h                         : yes 
Checking for header boost/shared_ptr.hpp             : yes 
Checking for header boost/weak_ptr.hpp               : yes 
Checking for header boost/scoped_ptr.hpp             : yes 
Checking for header boost/ptr_container/ptr_list.hpp : yes 
Checking for 'gtkmm-2.4' >= 2.8                      : yes 
Checking for 'gtk+-2.0' >= 2.12.1                    : yes 
Checking for 'samplerate' >= 0.1.7                   : yes 
Checking for header boost/shared_ptr.hpp             : yes 
Checking for header boost/format.hpp                 : yes 
Checking for 'cairomm-1.0' >= 1.8.4                  : yes 
Checking for 'lv2' >= 1.0.0                          : yes 
Checking for 'gthread-2.0' >= 2.10.1                 : yes 
Checking for 'gtk+-2.0' >= 2.18                      : yes 
Checking for 'x11' >= 1.1                            : yes 
Checking for 'fontconfig'                            : yes 
Checking for header boost/shared_ptr.hpp             : yes 
Checking for header boost/weak_ptr.hpp               : yes 
Checking for 'dbus-1'                                : yes 
 * Build documentation                               : False 
 * Debuggable build                                  : True 
 * Export all symbols (backtrace)                    : False 
 * Install prefix                                    : /usr/local 
 * Strict compiler flags                             : [] 
 * Internal Shared Libraries                         : True 
 * Use External Libraries                            : False 
 * Library exports hidden                            : True 
 * ALSA Backend                                      : False 
 * ALSA DBus Reservation                             : True 
 * Architecture flags                                : None 
 * Aubio                                             : True 
 * AudioUnits                                        : False 
 * Free/Demo copy                                    : False 
 * Build target                                      : x86_64 
 * CoreAudio                                         : False 
 * CoreAudio/Midi Backend                            : False 
 * Debug RT allocations                              : False 
 * Debug Symbols                                     : True 
 * Dummy backend                                     : False 
 * Process thread timing                             : False 
 * Denormal exceptions                               : False 
 * FLAC                                              : True 
 * FPU optimization                                  : True 
 * Freedesktop files                                 : False 
 * JACK Backend                                      : True 
 * Libjack linking                                   : link 
 * Libjack metadata                                  : True 
 * LV2 UI embedding                                  : True 
 * LV2 support                                       : True 
 * LXVST support                                     : True 
 * OGG                                               : True 
 * Phone home                                        : True 
 * Program name                                      : Ardour 
 * Samplerate                                        : True 
 * Translation                                       : True 
 * Unit tests                                        : False 
 * Mac i386 Architecture                             : False 
 * Mac ppc Architecture                              : False 
 * Waves Backend                                     : False 
 * Windows VST support                               : False 
 * Wiimote support                                   : False 
 * Windows key                                       : Mod4><Super 
 * C compiler flags                                  : ['-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0', '-DWAF_BUILD', '-O0', '-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', '-DENABLE_NLS', '-DPROGRAM_NAME="Ardour"', u'-DPROGRAM_VERSION="4"', '-Wstrict-prototypes', '-Wmissing-prototypes'] 
 * C++ compiler flags                                : ['-I/home/aymeric/Paquets/mao/ardour/ardour/4.1.0/build/Ardour-4.1.0', '-DWAF_BUILD', '-O0', '-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', '-DENABLE_NLS', '-DPROGRAM_NAME="Ardour"', u'-DPROGRAM_VERSION="4"', '-Woverloaded-virtual', '-Wno-unused-local-typedefs', '-D__STDC_LIMIT_MACROS', '-D__STDC_FORMAT_MACROS', '-DCANVAS_COMPATIBILITY', '-DCANVAS_DEBUG'] 
 * Linker flags                                      : [''] 

'configure' finished successfully (10.073s)

Looks like all dependencies are OK, so I can’t figure out what’s wrong.

Can you help me, please?

Can someone help me, please?

We tend not to provide self-build support and when we do it tends to be on IRC.

/usr/include/boost/optional/optional.hpp:1256:3: error: invalid application of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE’

This seems to be a boost error on your system (or maybe ardour using boost, though that’s less likely since it compiles and works on a lot of other systems).

What compiler version is that?
What libboost version?
Which Ardour version (4.1 tar, or git)…

As Paul said interactive debugging is better handled on IRC; or alternatively the bug-tracker.

Ok, I’ll make a bug report.

Please do not file a bug report on this.

We do NOT support self-builds and the build system works just fine with many, many versions of boost and many compilers. We are EXTREMELY unlikely to respond to a bug report about this issue.

Alright. I don’t like to talk about money, but as I usually pay for every new Ardour tarball that’s released, I will avoid paying for the next stable release, even though the current git version builds fine.

Thanks for your financial support. We have found over the last several years that supporting self-builds is too much of a distraction to be justifiable. We do pay attention to the many “beta testers” on IRC who discover mistakes in recent git commits that break compilation, but in general only when the breakage is universal rather than just on their specific system. There are too many variants of the extremely large dependency stack that Ardour relies on for us to have any reasonable chance of ensuring that things work with every possible variant combination.