Hi there, I want to compile a big project from sourceforge.net (a mmorpg server framework). But since a change in a source-file, gcc doesn't compile it at all. I already asked on the project dev's forum, but the sayed, that I have to use gcc 4.x.y ... This is quite strange, because I'm already using gcc 4.1.1-15. Okay, here are the details: To get the system compiled, i have to do the following: ----quote----- autoreconf --install --force ./configure --prefix=/opt/mangos/mangos_ --sysconfdir=/opt/mangos/mangos_/etc --enable-cli --enable-ra --datadir=/opt/mangos/mangos_ make > make.log 2>&1 ----/quote----- I used this lines also with earlier revisions and they always worked fine. autoreconf is working, configure also. But make exits with this lines: ----quote---- defines private constructors and has no friends if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I/usr/include/mysql -I../../src/shared -I. -I./../../dep/include -I./../framework -I./../shared -I./../shared/vmap -I./../realmd -DENABLE_RA -DENABLE_CLI -DDO_MYSQL -g -O2 -MT Player.o -MD -MP -MF ".deps/Player.Tpo" -c -o Player.o Player.cpp; \ then mv -f ".deps/Player.Tpo" ".deps/Player.Po"; else rm -f ".deps/Player.Tpo"; exit 1; fi In file included from ../../src/shared/Database/DBCStores.h:25, from ../../src/shared/Database/DatabaseEnv.h:26, from Player.cpp:21: ../../src/shared/Database/DBCStructure.h:409: warning: `struct SpellEntry' only defines private constructors and has no friends Player.cpp: In member function `bool Player::UpdateSkill(unsigned int)': Player.cpp:4366: error: syntax error before `|' token Player.cpp:4366: error: syntax error before `)' token Player.cpp: In member function `bool Player::UpdateSkillPro(short unsigned int, int)': Player.cpp:4475: error: syntax error before `|' token Player.cpp:4475: error: syntax error before `)' token Player.cpp: In member function `void Player::ModifySkillBonus(unsigned int, int, bool)': Player.cpp:4588: error: syntax error before `|' token Player.cpp:4588: error: syntax error before `)' token Player.cpp: In member function `void Player::UpdateMaxSkills()': Player.cpp:4613: error: syntax error before `|' token Player.cpp:4613: error: syntax error before `)' token Player.cpp: In member function `void Player::UpdateSkillsToMaxSkillsForLevel() ': Player.cpp:4631: error: syntax error before `|' token Player.cpp:4631: error: syntax error before `)' token Player.cpp: In member function `void Player::SetSkill(unsigned int, short unsigned int, short unsigned int)': Player.cpp:4652: error: syntax error before `|' token Player.cpp:4652: error: syntax error before `)' token Player.cpp: At global scope: Player.cpp:4675: error: syntax error before `else' Player.cpp:4678: error: syntax error before `;' token Player.cpp:4678: error: syntax error before `++' token Player.cpp:4692: error: `i' was not declared in this scope Player.cpp:4692: error: `currVal' was not declared in this scope Player.cpp:4692: error: syntax error before `|' token Player.cpp:4692: error: ISO C++ forbids declaration of `SetUInt32Value' with no type Player.cpp:4692: error: initializer list being treated as compound expression Player.cpp:4692: error: syntax error before `<<' token Player.cpp:4695: error: `i' was not declared in this scope Player.cpp:4695: error: ISO C++ forbids declaration of `SetUInt32Value' with no type Player.cpp:4695: error: redefinition of `int SetUInt32Value' Player.cpp:4692: error: `int SetUInt32Value' previously defined here Player.cpp:4695: error: initializer list being treated as compound expression Player.cpp:4698: error: syntax error before `const' Player.cpp:4699: error: syntax error before `!=' token Player.cpp:4704: error: syntax error before `const' Player.cpp:4705: error: syntax error before `!=' token Player.cpp: In member function `uint16 Player::GetMaxSkillValue(unsigned int) const': Player.cpp:4753: error: syntax error before `>>' token Player.cpp: In member function `uint16 Player::GetPureMaxSkillValue(unsigned int) const': Player.cpp:4767: error: syntax error before `>>' token Player.cpp: In member function `uint16 Player::GetBaseSkillValue(unsigned int) const': Player.cpp:4781: error: syntax error before `>>' token make[3]: *** [Player.o] Error 1 make[3]: Leaving directory `/opt/mangos/mangos-src/src/game' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/opt/mangos/mangos-src/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/opt/mangos/mangos-src' make: *** [all] Error 2 ----/quote---- Okay, I looked at the source . I'm not very good at c/c++ programming, but I cannot find a syntax error. Also many other people in the dev's forum don't have this problem. So I compared the different sourcecode revisions. I found out, that the problems comes with revision 5126. Please have a look at the following diff: http://www.mangosproject.org/trac/changeset?old_path=trunk%2Fsrc%2Fgame%2FPlayer.cpp&old=5122&new_path=trunk%2Fsrc%2Fgame%2FPlayer.cpp&new=5126 player.cpp source diff rev5120->rev5126 rev5120 compiles fine, rev5126 which has those changes, exits with the above mentioned lines. I used debian sarge with gcc 4.1.1-15 I used SuSE linux 9.3 prof with gcc 4.1.1 Both aren't able to compile rev5126 and newer. Revisions up to 5126 are working ...So it has to do with the changes in player.cpp I would be pleased if someone could tell me if this is a gcc problem or whatever this problems causes. If you need further information, please let me know ... with kind regards, Alex -- View this message in context: http://www.nabble.com/Strange-syntax-error-problem-with-mmorpg-framework-tp16089740p16089740.html Sent from the gcc - Help mailing list archive at Nabble.com.