Ardour2 beta6.2 compiling error

Hi,

I get this error when I build ardour2beta6.2. I had no problems with ardour2beta5.1.

Has anyone a tip for me? Thanks!

g++ -o libs/pbd/version.os -c -O3 -fomit-frame-pointer -ffast-math -fstrength-reduce -DARCH_X86 -mmmx -m3dnow -march=i686 -DBUILD_SSE_OPTIMIZATIONS -Wall -DHAVE_LIBLO -DENABLE_NLS -DHAVE_GETMNTENT -Woverloaded-virtual -DPACKAGE=“libpbd” -D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DLIBSIGC_DISABLE_DEPRECATED -DHAVE_EXECINFO -fPIC -I/usr/include/glib-2.0 -Ilibs/sigc++2 -Ilibs/glibmm2 -I/usr/lib/glib-2.0/include -Ilibs/pbd -I/usr/include/libxml2 libs/pbd/version.cc
libs/pbd/version.cc:1: error: missing terminating " character
libs/pbd/version.cc:2:17: warning: character constant too long for its type
libs/pbd/version.cc:2: error: stray ‘\366’ in program
libs/pbd/version.cc:2: error: missing terminating " character
libs/pbd/version.cc:2: error: ‘svn’ was not declared in this scope
libs/pbd/version.cc:2: error: expected ‘,’ or ‘;’ before ‘:’ token
scons: *** [libs/pbd/version.os] Error 1
scons: building terminated because of errors.
sound@sound:~/progs/ardour-2.0beta6.2$

try cleaning up your built files and starting again from scratch. that is, run “scons -c” and then “scons” again. i had a similar problem and that seemed to do it.

Hi,

thanks for the advice, but it did not make a difference, I still get the errors after doing “scons -c” and the “scons”.

Benjamin

I get basically the same error (latest code from SVN, gcc-3.4.6, scons-0.96.1 on Gentoo):

checking build system type… version_builder([“libs/pbd/version.cc”, “libs/pbd/pbd/version.h”], [“libs/pbd/SConscript”])
g++ -O3 -fomit-frame-pointer -ffast-math -fstrength-reduce -DARCH_X86 -mmmx -m3dnow -march=i686 -msse -mfpmath=sse -DBUILD_SSE_OPTIMIZATIONS -Wall -DHAVE_LIBLO -DENABLE_NLS -DHAVE_GETMNTENT -Woverloaded-virtual -DPACKAGE=“libpbd” -D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DLIBSIGC_DISABLE_DEPRECATED -DHAVE_EXECINFO -fPIC -I/usr/include/glib-2.0 -Ilibs/sigc++2 -Ilibs/glibmm2 -I/usr/lib/glib-2.0/include -Ilibs/pbd -I/usr/include/libxml2 -c -o libs/pbd/version.os libs/pbd/version.cc
i686-pc-linux-gnu
checking host system type… i686-pc-linux-gnu
checking for a sed that does not truncate output… /bin/sed
checking for grep that handles long lines and -e… libs/pbd/version.cc:1: error: missing terminating " character
libs/pbd/version.cc:2: error: svn' was not declared in this scope libs/pbd/version.cc:2: error: expected,’ or `;’ before ‘:’ token
libs/pbd/version.cc:2:9: warning: character constant too long for its type
libs/pbd/version.cc:2: error: missing terminating ’ character
/bin/grep
checking for egrep… scons: *** [libs/pbd/version.os] Error 1

If you look at line 1 of version.cc, the file that’s hanging up, what you’ll see in place of what I presume should be some sort of version string is

svn: 'libs/pbd' is not a working copy svn: Can't open file 'libs/pbd/.svn/entries': No such file or directory
which is a Subversion error message of some kind. I'm gonna guess that the build system has seen some revision that now expects a file that isn't there. The top level Sconscript file I built beta 5.1 from a couple of weeks ago doesn't seem to have any references to svn (Subversion) anywhere, but beta 6.2 does. Integrating stuff like this often bites you a few times before all goes smoothly. I'm sure we'll see a new tarball in a day or two :)

ok.
Here’s a VERY crappy, VERY half - assed patch to the top level Sconstruct file that will get this bad boy built this one time!
Worked for me, and it runs. YMMV
The string generated here isn’t important right now, but might be later.

242,244c242,244
< cmd = “svn info "
< cmd += source[0].get_path()
< cmd += " | awk ‘/^Revision:/ { print $2}’”

cmd = "svn info "

cmd += source[0].get_path()

cmd += " | awk ‘/^Revision:/ { print $2}’"

246c246
< rev = commands.getoutput (cmd)

rev = "Revision: oops"                                                        
The oops bit is a pathetic attempt at humor 8p Doing system calls from scripts with no error handling is way bad style, and uncharacteristic of Paul, so this was probably a simple oversight.
$ svn info SConstruct Ruta: SConstruct Nombre: SConstruct URL: http://subversion.ardour.org/svn/ardour2/trunk/SConstruct Raíz del repositorio: http://subversion.ardour.org/svn UUID del repositorio: d708f5d6-7413-0410-9779-e7cbd77b26cf Revisión: 1047 Tipo de nodo: archivo Agendado: normal Autor del último cambio: ben Revisión del último cambio: 1041 Fecha de último cambio: 2006-10-31 18:32:04 -0300 (mar, 31 oct 2006) Texto actualizado por última vez: 2006-11-01 12:34:15 -0300 (mié, 01 nov 2006) Suma de verificación: 89a2f45c7c3bc1b2c9cf80e3d3c60c85

Please, remove that ugly revision checking from SConstruct. As you can see, apart from this problem, I might suffer another: svn info output, in my system (spanish) does not say “Revision: 1047”, but “Revisión: 1047”. It’s translated. And it makes that system checking fail.