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

5 replies [Last post]
zaboomafoo
User offline. Last seen 5 weeks 1 day ago. Offline
Joined: 2009-12-10

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?

Regards,
Frank

paul
paul's picture
User offline. Last seen 35 min 44 sec ago. Offline
Joined: 2006-03-16

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

zaboomafoo
User offline. Last seen 5 weeks 1 day ago. Offline
Joined: 2009-12-10

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.

zaboomafoo
User offline. Last seen 5 weeks 1 day ago. Offline
Joined: 2009-12-10

Actually, just found this:

ardour-2.8.7$ diff libs/glibmm2/glibmm/main.h ../ardour-2.8.4/libs/glibmm2/glibmm/main.h
486c486
< pri~ate:
---
> private:

Syntax error ... or file got corrupted somehow?

babarosa
babarosa's picture
User offline. Last seen 1 week 4 days ago. Offline
Joined: 2009-09-04

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

Greetings,
Michael

zaboomafoo
User offline. Last seen 5 weeks 1 day ago. Offline
Joined: 2009-12-10

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.

Regards,
Frank