← Back to team overview

widelands-dev team mailing list archive

Re: [Merge] lp:~widelands-dev/widelands/cxx11 into lp:widelands

 

>This should compile nicely in GCC 4.3 I think
>we could get by with GCC 4.5 for a while

Hm, so if it fails to build with GCC 4.6, would you consider that a bug? Because currently it fails to build at Ubuntu 12.04*. Depending on how hard it is to fix, I think it would be nice to be able to build on 12.04 since it is an LTS and will be around for a while (though most users will arguably move on the next LTS version coming next year). 

*It fails at 10.04 too with gcc 4.4, though strictly speaking that's only supported for servers, not desktops at this point so I don't think that would be critical. See https://wiki.ubuntu.com/Releases#Stable for details. 

If you want full output/more details, let me know. (Also should I place it in a bug report, because this comments seems awfully long...)

$ /usr/bin/c++ --version
c++ (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3

I get the following error when attempting to build:
[  1%] Building CXX object src/CMakeFiles/widelands_all.dir/journal_exceptions.cc.o
[  1%] Building CXX object src/CMakeFiles/widelands_all.dir/ui_fsmenu/mapselect.cc.o
In file included from /home/ubuntu/widelands/src/logic/widelands_streamread.h:26:0,
                 from /home/ubuntu/widelands/src/logic/widelands_fileread.h:24,
                 from /home/ubuntu/widelands/src/logic/cmd_queue.h:24,
                 from /home/ubuntu/widelands/src/logic/instances.h:32,
                 from /home/ubuntu/widelands/src/economy/route.h:26,
                 from /home/ubuntu/widelands/src/logic/bob.h:23,
                 from /home/ubuntu/widelands/src/logic/editor_game_base.h:23,
                 from /home/ubuntu/widelands/src/ui_fsmenu/mapselect.cc:29:
/home/ubuntu/widelands/src/logic/widelands_geometry.h:83:1: warning: identifier ‘static_assert’ will become a keyword in C++0x [-Wc++0x-compat]
In file included from /home/ubuntu/widelands/src/logic/widelands_streamread.h:26:0,
                 from /home/ubuntu/widelands/src/logic/widelands_fileread.h:24,
                 from /home/ubuntu/widelands/src/logic/cmd_queue.h:24,
                 from /home/ubuntu/widelands/src/logic/instances.h:32,
                 from /home/ubuntu/widelands/src/economy/route.h:26,
                 from /home/ubuntu/widelands/src/logic/bob.h:23,
                 from /home/ubuntu/widelands/src/logic/editor_game_base.h:23,
                 from /home/ubuntu/widelands/src/ui_fsmenu/mapselect.cc:29:
/home/ubuntu/widelands/src/logic/widelands_geometry.h:83:14: error: expected constructor, destructor, or type conversion before ‘(’ token
In file included from /home/ubuntu/widelands/src/logic/map.h:29:0,
                 from /home/ubuntu/widelands/src/logic/editor_game_base.h:26,
                 from /home/ubuntu/widelands/src/ui_fsmenu/mapselect.cc:29:
/home/ubuntu/widelands/src/logic/field.h:81:16: error: expected identifier before ‘sizeof’
/home/ubuntu/widelands/src/logic/field.h:81:16: error: expected ‘,’ or ‘...’ before ‘sizeof’
/home/ubuntu/widelands/src/logic/field.h:81:78: error: ISO C++ forbids declaration of ‘static_assert’ with no type [-fpermissive]
/home/ubuntu/widelands/src/logic/field.h:83:16: error: expected identifier before ‘sizeof’
/home/ubuntu/widelands/src/logic/field.h:83:16: error: expected ‘,’ or ‘...’ before ‘sizeof’
/home/ubuntu/widelands/src/logic/field.h:83:80: error: ISO C++ forbids declaration of ‘static_assert’ with no type [-fpermissive]
/home/ubuntu/widelands/src/logic/field.h:83:2: error: ‘int Widelands::Field::static_assert(int)’ cannot be overloaded
/home/ubuntu/widelands/src/logic/field.h:81:2: error: with ‘int Widelands::Field::static_assert(int)’
/home/ubuntu/widelands/src/logic/field.h:85:16: error: expected identifier before ‘sizeof’
/home/ubuntu/widelands/src/logic/field.h:85:16: error: expected ‘,’ or ‘...’ before ‘sizeof’
/home/ubuntu/widelands/src/logic/field.h:85:94: error: ISO C++ forbids declaration of ‘static_assert’ with no type [-fpermissive]
/home/ubuntu/widelands/src/logic/field.h:85:2: error: ‘int Widelands::Field::static_assert(int)’ cannot be overloaded
/home/ubuntu/widelands/src/logic/field.h:81:2: error: with ‘int Widelands::Field::static_assert(int)’
/home/ubuntu/widelands/src/logic/field.h:112:16: error: expected identifier before numeric constant
/home/ubuntu/widelands/src/logic/field.h:112:16: error: expected ‘,’ or ‘...’ before numeric constant
/home/ubuntu/widelands/src/logic/field.h:112:75: error: ISO C++ forbids declaration of ‘static_assert’ with no type [-fpermissive]
/home/ubuntu/widelands/src/logic/field.h:112:2: error: ‘int Widelands::Field::static_assert(int)’ cannot be overloaded
/home/ubuntu/widelands/src/logic/field.h:81:2: error: with ‘int Widelands::Field::static_assert(int)’
/home/ubuntu/widelands/src/logic/field.h:238:14: error: expected constructor, destructor, or type conversion before ‘(’ token
In file included from /home/ubuntu/widelands/src/ui_fsmenu/mapselect.h:29:0,
                 from /home/ubuntu/widelands/src/ui_fsmenu/mapselect.cc:37:
/home/ubuntu/widelands/src/ui_basic/table.h:404:14: error: expected constructor, destructor, or type conversion before ‘(’ token
make[2]: *** [src/CMakeFiles/widelands_all.dir/ui_fsmenu/mapselect.cc.o] Error 1
make[1]: *** [src/CMakeFiles/widelands_all.dir/all] Error 2
make: *** [all] Error 2

-- 
https://code.launchpad.net/~widelands-dev/widelands/cxx11/+merge/175455
Your team Widelands Developers is requested to review the proposed merge of lp:~widelands-dev/widelands/cxx11 into lp:widelands.


References