Build failes for 6.9.0 and 7 but worked before

Hello,

I’m discovering Ardour and switched from Ubuntu to macOS (Monterey). I’m a small subscriber as I fully understand that developper teams need some money to work. I managed to build and run Ardour without problems on Ubuntu 20.04. I tried to build on mac, the ./waf configure ended successfuly but I can’t manage to go through the ./waf step. I’m not a developper but I can generally build on Linux, ont some stuffs on mac. If someone coulmd have the time to look at the terminam output of the ./waf -v command that would be great !! I managed to build Ardour 7 pre release some month ago, but it doesn’t work anymore…

Here is the end of the output :

/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:163:34: error: expected ';' at end of declaration list
  inline T_CppObject* get() const noexcept;
                                 ^
                                 ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:173:10: warning: explicit conversion functions are a C++11 extension [-Wc++11-extensions]
  inline explicit operator bool() const noexcept;
         ^~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
55 warnings and 20 errors generated.

Waf: Leaving directory `/Users/jean-martin/Ardour-6.9.0/build'
Build failed
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
jean-martin@iMac Ardour-6.9.0 % 

Looks like you have a recent version of glibmm, that requires C++11:

./waf configure  --cxx11
./waf

Thanks for your fast answer. Unfortunately the ./waf configure --cxx11 doesn’t go to the end (./waf configure was) :

/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:92:18: error: expected ';' at end of declaration list
  inline RefPtr() noexcept;
                 ^
                 ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:95:19: error: expected ';' at end of declaration list
  inline ~RefPtr() noexcept;
                  ^
                  ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:98:50: error: expected ';' at end of declaration list
  explicit inline RefPtr(T_CppObject* pCppObject) noexcept;
                                                 ^
                                                 ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:104:35: error: expected ';' at end of declaration list
  inline RefPtr(const RefPtr& src) noexcept;
                                  ^
                                  ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:108:23: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
  inline RefPtr(RefPtr&& src) noexcept;
                      ^
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:108:30: error: expected ';' at end of declaration list
  inline RefPtr(RefPtr&& src) noexcept;
                             ^
                             ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:113:35: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
  inline RefPtr(RefPtr<T_CastFrom>&& src) noexcept;
                                  ^
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:113:42: error: expected ';' at end of declaration list
  inline RefPtr(RefPtr<T_CastFrom>&& src) noexcept;
                                         ^
                                         ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:120:47: error: expected ';' at end of declaration list
  inline RefPtr(const RefPtr<T_CastFrom>& src) noexcept;
                                              ^
                                              ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:127:34: error: expected ';' at end of declaration list
  inline void swap(RefPtr& other) noexcept;
                                 ^
                                 ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:130:46: error: expected ';' at end of declaration list
  inline RefPtr& operator=(const RefPtr& src) noexcept;
                                             ^
                                             ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:133:34: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
  inline RefPtr& operator=(RefPtr&& src) noexcept;
                                 ^
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:133:41: error: expected ';' at end of declaration list
  inline RefPtr& operator=(RefPtr&& src) noexcept;
                                        ^
                                        ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:137:46: warning: rvalue references are a C++11 extension [-Wc++11-extensions]
  inline RefPtr& operator=(RefPtr<T_CastFrom>&& src) noexcept;
                                             ^
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:137:53: error: expected ';' at end of declaration list
  inline RefPtr& operator=(RefPtr<T_CastFrom>&& src) noexcept;
                                                    ^
                                                    ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:144:58: error: expected ';' at end of declaration list
  inline RefPtr& operator=(const RefPtr<T_CastFrom>& src) noexcept;
                                                         ^
                                                         ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:147:50: error: expected ';' at end of declaration list
  inline bool operator==(const RefPtr& src) const noexcept;
                                                 ^
                                                 ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:150:50: error: expected ';' at end of declaration list
  inline bool operator!=(const RefPtr& src) const noexcept;
                                                 ^
                                                 ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:157:41: error: expected ';' at end of declaration list
  inline T_CppObject* operator->() const noexcept;
                                        ^
                                        ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:163:34: error: expected ';' at end of declaration list
  inline T_CppObject* get() const noexcept;
                                 ^
                                 ;
/usr/local/Cellar/glibmm@2.66/2.66.2/include/glibmm-2.4/glibmm/refptr.h:173:10: warning: explicit conversion functions are a C++11 extension [-Wc++11-extensions]
  inline explicit operator bool() const noexcept;
         ^~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
55 warnings and 20 errors generated.

Waf: Leaving directory `/Users/jean-martin/Ardour-6.9.0/build'
Build failed
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
 -> task in 'libpbd' failed with exit status 1 (run with -v to display more information)
jean-martin@iMac Ardour-6.9.0 % 

I finally managed to build the 7 dev version on mac (the one provided on git) but I had to do this in order to build correctly :

> cd /usr/local/include 
> ln -s ../opt/openssl/include/openssl .

Or :

export LDFLAGS="-L/usr/local/opt/openssl@3/lib" 
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"

And then, of course :

./waf configure --cxx11
./waf 

Regarding the 6.9.0 tarball it seems that it is not ready for OSX monterey that could explain why I managed to build it some month ago, I was running bigsur. And I don’t know how to modify the script to include monterey.

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