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

5 replies [Last post]
zaboomafoo
User offline. Last seen 1 day 12 hours 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 3 hours 4 min 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 1 day 12 hours 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 1 day 12 hours 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 9 weeks 16 hours 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 1 day 12 hours 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