rror: ISO C++ forbids declaration of ‘pri’ with no type

I get this error when compiling ardour 2.8.7 on ubuntu 9.10 :

$ scons

g++ -o libs/glibmm2/glibmm/iochannel.os -c -Woverloaded-virtual -DGTK_NEW_TOOLTIP_API -DHAVE_CONFIG_H -DG_LOG_DOMAIN=“glibmm” -DHAVE_LV2 -O3 -fomit-frame-pointer -ffast-math -fstrength-reduce -pipe -DARCH_X86 -mmmx -march=i686 -msse -mfpmath=sse -DUSE_XMMINTRIN -DBUILD_SSE_OPTIMIZATIONS -Wall -DHAVE_LIBLO -Ilibs -DENABLE_NLS -pthread -fPIC -Ilibs/sigc++2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Ilibs/glibmm2 libs/glibmm2/glibmm/iochannel.cc
In file included from libs/glibmm2/glibmm/iochannel.h:29,
from libs/glibmm2/glibmm/iochannel.cc:3:
libs/glibmm2/glibmm/main.h:486: error: ISO C++ forbids declaration of ‘pri’ with no type
libs/glibmm2/glibmm/main.h:486: error: expected ‘;’ before ‘~’ token
scons: *** [libs/glibmm2/glibmm/iochannel.os] Error 1
scons: building terminated because of errors.

I was able to build earlier 2.8.x versions on the same machine.

Anybody had this issue?


@zaboomafoo: there have been no changes to the glibmm source tree included in ardour in a long, long time.

that is strange … exactly the same command compiles fine in 2.8.4 source. 2.8.7 gives me the error. I see the source did not change … compiler options are the same, not sure what is causing the error.

Actually, just found this:

ardour-2.8.7$ diff libs/glibmm2/glibmm/main.h …/ardour-2.8.4/libs/glibmm2/glibmm/main.h
< pri~ate:


Syntax error … or file got corrupted somehow?

Hi zaboomafoo,

did you solve the issue already?

I compile ardour v2.8.7 on xubuntu v9.10 and it works fine (thank you paul!).

I have installed libglibmm-2.4-dev and libglibmm-2.4-1c2a

My command for the ardour specific dependencies is

sudo apt-get install scons build-essential libjack-dev libasound2-dev libglib2.0-dev liblrdf0-dev libboost-dev liblo0-dev libgnomecanvas2-dev libsamplerate0-dev libaubio-dev lv2core fftw3-dev


I changed pri~ate to private in libs/glibmm2/glibmm/main.h and compilation went fine, no issues after that.

I am still not sure how come that one character was changed in the file … I simply downloaded the tar file with sources and uncompressed it. I will try to uncompress it again and see if this happens again.