[Ardour-Dev] g++ version and -std=c++11 ?

Ben Simons Ben.Simons at uts.edu.au
Tue Apr 19 21:59:53 PDT 2016


:-) Hey Paul


thanks for the quick response.


ok cool.. Yes, vers 3.5.403 is what's "current" in Gentoo (fyi).

When a user runs "emerge ardour" that's what installs.

vers 4.7 is the reason i'm looking to fork from github & compile instead.


For what it's worth, I could not successfully compile on linux.

As per my previous post, it dies at:


[ 47/811] cxx: libs/lua/luastate.cc -> build/libs/lua/luastate.cc.1.o



However! this following hack got it Ardour to compile:


 $ git diff wscript
diff --git a/wscript b/wscript
index 926e6fe..fef8b18 100644
--- a/wscript
+++ b/wscript
@@ -438,6 +438,13 @@ int main() { return 0; }''',
             # determine processor flags via /proc/cpuinfo
             #

+            #
+            # HACK
+            # add cxx_flags.append('-std=c++11') anyway
+            # [ben 20Apr16]
+            ## cxx_flags.append('-std=c++11')
+            compiler_flags.append('-std=c++11')
+
             if conf.env['build_target'] != 'i386':

                 flag_line = os.popen ("cat /proc/cpuinfo | grep '^flags'").read()[:-1]



I won't be checking this in. It's just a HACK. I just wanted to see if it would

produce a successful compile. It did. It simply added the compile flag '-std=c++11'.


hope that's useful info?


cheers,

ben.


________________________________
From: Paul Davis <paul at linuxaudiosystems.com>
Sent: 20 April 2016 14:28
To: Ben Simons
Cc: ardour-dev at lists.ardour.org
Subject: Re: [Ardour-Dev] g++ version and -std=c++11 ?

Oh, and please don't ever use the 3.5.403 version. We're at 4.7 for a reason (or many, many reasons to be more precise).

On Wed, Apr 20, 2016 at 12:24 AM, Paul Davis <paul at linuxaudiosystems.com<mailto:paul at linuxaudiosystems.com>> wrote:
You're using a version of libsigc++ which is different from the one we use. You can find the full list of dependencies used for nightly builds and for releases at http://nightly.ardour.org/

Ardour is *not* written in C++11. We use a variety of compilers (gcc4, gcc5, clang, apple gcc).

On Wed, Apr 20, 2016 at 12:13 AM, Ben Simons <Ben.Simons at uts.edu.au<mailto:Ben.Simons at uts.edu.au>> wrote:

Hi,


first timer here. I looked around for about an hour before asking this.

Can't see it discussed anywhere.



What version of gcc is used to build Ardour on linux?


I've just tried compiling a version forked on github today.

This system is: 4.1.12-gentoo

# gcc-config -l

 [1] x86_64-pc-linux-gnu-4.9.3 *


It seems the latest source uses C++11, but there's missing "-std=c++11" in

the Makefiles. I believe I have done an "emerge" of media-sound/ardour-3.5.403

on gentoo in the past on another machine, and it built ok with gcc 4.8.4


I just ssh to my old machine and tested ardour3 and see this in the shell.

 $ ardour3
bnd txt domain [gtk2_ardour3] to /usr/share/locale
Ardour3.5.403 (built using 3.5-403-gentoo and GCC version 4.8.4)
ardour: [INFO]: Your system is configured to limit Ardour to only 4096 open files
ardour: [INFO]: Loading system configuration file /etc/ardour3/ardour_system.rc
Loading user configuration file /home/ben/.config/ardour3/ardour.rc
No H/W specific optimizations in use
ardour: [INFO]: Loading default ui configuration file /etc/ardour3/ardour3_ui_default.conf
Loading ui configuration file /etc/ardour3/ardour3_ui_dark.rc
Found nothing along /home/ben/.config/ardour3/templates:/usr/share/ardour3/templates
run dialog
Announcement is: Version 4.7 has been released. Update at http://ardour.org/download

So that works. But that was a gentoo emerge.

When i clone my fork on github and run ./waf to build i get this error:

:
:
[ 39/811] cxx: libs/vamp-plugins/TruePeak.cpp -> build/libs/vamp-plugins/TruePeak.cpp.1.o
[ 40/811] cxx: libs/vamp-plugins/ZeroCrossing.cpp -> build/libs/vamp-plugins/ZeroCrossing.cpp.1.o
[ 41/811] cxx: libs/vamp-plugins/Onset.cpp -> build/libs/vamp-plugins/Onset.cpp.1.o
[ 42/811] c: libs/libltc/ltc.c -> build/libs/libltc/ltc.c.2.o
[ 43/811] c: libs/libltc/timecode.c -> build/libs/libltc/timecode.c.2.o
[ 44/811] c: libs/libltc/encoder.c -> build/libs/libltc/encoder.c.2.o
[ 45/811] c: libs/libltc/decoder.c -> build/libs/libltc/decoder.c.2.o
[ 46/811] cxx: libs/lua/lua.cc -> build/libs/lua/lua.cc.1.o
[ 47/811] cxx: libs/lua/luastate.cc -> build/libs/lua/luastate.cc.1.o
In file included from /usr/include/sigc++-2.0/sigc++/signal_base.h:26:0,
                 from /usr/include/sigc++-2.0/sigc++/signal.h:8,
                 from /usr/include/sigc++-2.0/sigc++/sigc++.h:86,
                 from ../libs/lua/lua/luastate.h:23,
                 from ../libs/lua/luastate.cc:20:
/usr/include/sigc++-2.0/sigc++/trackable.h:40:3: warning: identifier 'noexcept' is a keyword in C++11 [-Wc++0x-compat]
   trackable_callback(void* data, func_destroy_notify func) noexcept
   ^
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4/type_traits:35:0,
                 from /usr/include/sigc++-2.0/sigc++/visit_each.h:22,
                 from /usr/include/sigc++-2.0/sigc++/functors/slot.h:6,
                 from /usr/include/sigc++-2.0/sigc++/signal_base.h:27,
                 from /usr/include/sigc++-2.0/sigc++/signal.h:8,
                 from /usr/include/sigc++-2.0/sigc++/sigc++.h:86,
                 from ../libs/lua/lua/luastate.h:23,
                 from ../libs/lua/luastate.cc:20:
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/include/g++-v4/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support is currently experimental, and must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #error This file requires compiler and library support for the \
  ^


Note the error (marked in bold) at the end regarding -std=c++11


It's tempting to just export CXXFLAGS="-std=c++11", but no doubt that's a bad idea(tm)!

i have a feeling there's something more fundamentally wrong? There's many many warnings

and errors. That was just the first one.


Sorry to ask about gcc version. I see someone on the list did ask it a while ago

and no one answered. (ie. Valerio Orlandini on Fri Jun 4 08:08:10 PDT 2010)


thanks,

ben.




PS. If it helps, here's the output from ./waf configure


/da/dev/ben/ardour $ ./waf configure
Setting top to                           : /mnt/da/dev/ben/ardour
Setting out to                           : /mnt/da/dev/ben/ardour/build
Checking for 'gcc' (c compiler)          : /usr/bin/gcc
Checking for 'g++' (c++ compiler)        : /usr/bin/g++

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  sndfile RF64=>RIFF support             : Found
Checking for clang                                   : no
Checking for 'fftw3f'                                : yes
Checking for 'aubio' >= 0.3.2                        : yes
Checking for 'aubio' >= 0.4.0                        : yes
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                     : yes
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                       : not found (or broken). JACK metadata API will not be used
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                      : yes
Checking for 'lilv-0' >= 0.21.3                      : not found
Checking for 'suil-0' >= 0.6.0                       : not found
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 'fftw3f' >= 3.3.5                       : not found
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
session-utils depend on the dummy backend.
 * build session-utils                               : no
Checking for 'dbus-1'                                : yes
Checking for function readline                       : 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 DBus Reservation                             : True
 * Architecture flags                                : None
 * Aubio                                             : True
 * AudioUnits                                        : False
 * Free/Demo copy                                    : False
 * Build target                                      : x86_64
 * CoreAudio                                         : False
 * CoreAudio 10.5 compat                             : False
 * Debug RT allocations                              : False
 * Debug Symbols                                     : True
 * Process thread timing                             : False
 * Denormal exceptions                               : False
 * FLAC                                              : True
 * FPU optimization                                  : True
 * Freedesktop files                                 : False
 * Libjack linking                                   : link
 * Libjack metadata                                  : False
 * Lua Binding Doc                                   : False
 * LV2 UI embedding                                  : False
 * LV2 support                                       : True
 * LV2 extensions                                    : True
 * LXVST support                                     : True
 * OGG                                               : True
 * Phone home                                        : True
 * Program name                                      : Ardour
 * Samplerate                                        : True
 * PT format                                         : False
 * PTW32 Semaphore                                   : False
 * Translation                                       : True
 * Unit tests                                        : False
 * Mac i386 Architecture                             : False
 * Mac ppc Architecture                              : False
 * Windows VST support                               : False
 * Wiimote support                                   : False
 * Windows key                                       : Mod4><Super

Backends:
 * PortAudio Backend                                 : False
 * CoreAudio/Midi Backend                            : False
 * ALSA Backend                                      : False
 * Dummy backend                                     : False
 * JACK Backend                                      : True


 * C compiler flags                                  : ['-I/mnt/da/dev/ben/ardour', '-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', '-DENABLE_NLS', '-DPROGRAM_NAME="Ardour"', u'-DPROGRAM_VERSION="4"', '-Wstrict-prototypes', '-Wmissing-prototypes']
 * C++ compiler flags                                : ['-I/mnt/da/dev/ben/ardour', '-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', '-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 (3.996s)
/da/dev/ben/ardour $






________________________________
UTS CRICOS Provider Code: 00099F DISCLAIMER: This email message and any accompanying attachments may contain confidential information. If you are not the intended recipient, do not read, use, disseminate, distribute or copy this message or attachments. If you have received this message in error, please notify the sender immediately and delete this message. Any views expressed in this message are those of the individual sender, except where the sender expressly, and with authority, states them to be the views of the University of Technology Sydney. Before opening any attachments, please check them for viruses and defects. Think. Green. Do. Please consider the environment before printing this email.

_______________________________________________
ardour-dev mailing list
ardour-dev at lists.ardour.org<mailto:ardour-dev at lists.ardour.org>
http://lists.ardour.org/listinfo.cgi/ardour-dev-ardour.org





UTS CRICOS Provider Code: 00099F
DISCLAIMER: This email message and any accompanying attachments may contain confidential information.
If you are not the intended recipient, do not read, use, disseminate, distribute or copy this message or
attachments. If you have received this message in error, please notify the sender immediately and delete
this message. Any views expressed in this message are those of the individual sender, except where the
sender expressly, and with authority, states them to be the views of the University of Technology Sydney.
Before opening any attachments, please check them for viruses and defects.

Think. Green. Do.

Please consider the environment before printing this email.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ardour.org/pipermail/ardour-dev-ardour.org/attachments/20160420/86030b70/attachment-0001.htm>


More information about the Ardour-Dev mailing list