Yaribz / SPADS

SpringRTS Perl Autohost for Dedicated Server
GNU General Public License v3.0
15 stars 13 forks source link

Error while generating unitsync gcc 6.20 #18

Closed TurBoss closed 7 years ago

TurBoss commented 7 years ago

Hi

I have upgraded one of my servers to ubuntu 16.10 and comes with gcc g++ 6.20

this error is shown when generating unitsync

`1/3 - Please enter the absolute path of the unitsync library (libunitsync.so) [] ? /home/spring/.spring/engine/103.0.1-273-gb0974d8 develop/libunitsync.so
NOTICE   - [SpadsInstaller] Generating Perl Unitsync interface module
In file included from /usr/include/c++/6/cmath:42:0,
                 from /usr/include/c++/6/math.h:36,
                 from PerlUnitSync_wrap.c:732:
/usr/include/c++/6/bits/cpp_type_traits.h:145:12: error: redefinition of ‘struct std::__is_integer<char>’
     struct __is_integer<char>
            ^~~~~~~~~~~~~~~~~~
/usr/include/c++/6/bits/cpp_type_traits.h:138:12: error: previous definition of ‘struct std::__is_integer<char>’
     struct __is_integer<bool>
            ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6/bits/move.h:57:0,
                 from /usr/include/c++/6/bits/stl_pair.h:59,
                 from /usr/include/c++/6/bits/stl_algobase.h:64,
                 from /usr/include/c++/6/bits/char_traits.h:39,
                 from /usr/include/c++/6/string:40,
                 from unitsync.h:6,
                 from PerlUnitSync_wrap.c:1548:
/usr/include/c++/6/type_traits:224:12: error: redefinition of ‘struct std::__is_integral_helper<char>’
     struct __is_integral_helper<char>
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/6/type_traits:220:12: error: previous definition of ‘struct std::__is_integral_helper<char>’
     struct __is_integral_helper<bool>
            ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6/exception:170:0,
                 from /usr/include/c++/6/new:40,
                 from /usr/include/c++/6/ext/new_allocator.h:33,
                 from /usr/include/x86_64-linux-gnu/c++/6/bits/c++allocator.h:33,
                 from /usr/include/c++/6/bits/allocator.h:46,
                 from /usr/include/c++/6/string:41,
                 from unitsync.h:6,
                 from PerlUnitSync_wrap.c:1548:
/usr/include/c++/6/bits/exception_ptr.h: In member function ‘std::__exception_ptr::exception_ptr::operator char() const’:
/usr/include/c++/6/bits/exception_ptr.h:141:16: error: invalid conversion from ‘void*’ to ‘char’ [-fpermissive]
       { return _M_exception_object; }
                ^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/6/exception:171:0,
                 from /usr/include/c++/6/new:40,
                 from /usr/include/c++/6/ext/new_allocator.h:33,
                 from /usr/include/x86_64-linux-gnu/c++/6/bits/c++allocator.h:33,
                 from /usr/include/c++/6/bits/allocator.h:46,
                 from /usr/include/c++/6/string:41,
                 from unitsync.h:6,
                 from PerlUnitSync_wrap.c:1548:
/usr/include/c++/6/bits/nested_exception.h: In member function ‘void std::nested_exception::rethrow_nested() const’:
/usr/include/c++/6/bits/nested_exception.h:73:11: error: invalid user-defined conversion from ‘const std::__exception_ptr::exception_ptr’ to ‘bool’ [-fpermissive]
       if (_M_ptr)
           ^~~~~~
In file included from /usr/include/c++/6/exception:170:0,
                 from /usr/include/c++/6/new:40,
                 from /usr/include/c++/6/ext/new_allocator.h:33,
                 from /usr/include/x86_64-linux-gnu/c++/6/bits/c++allocator.h:33,
                 from /usr/include/c++/6/bits/allocator.h:46,
                 from /usr/include/c++/6/string:41,
                 from unitsync.h:6,
                 from PerlUnitSync_wrap.c:1548:
/usr/include/c++/6/bits/exception_ptr.h:140:16: note: candidate is: std::__exception_ptr::exception_ptr::operator char() const <near match>
       explicit operator bool() const
                ^~~~~~~~
/usr/include/c++/6/bits/exception_ptr.h:140:16: note:   return type ‘char’ of explicit conversion function cannot be converted to ‘bool’ with a qualification conversion
In file included from /usr/include/c++/6/bits/basic_string.h:5628:0,
                 from /usr/include/c++/6/string:52,
                 from unitsync.h:6,
                 from PerlUnitSync_wrap.c:1548:
/usr/include/c++/6/bits/functional_hash.h: At global scope:
/usr/include/c++/6/bits/functional_hash.h:111:3: error: redefinition of ‘struct std::hash<char>’
   _Cxx_hashtable_define_trivial_hash(char)
   ^
/usr/include/c++/6/bits/functional_hash.h:108:3: error: previous definition of ‘struct std::hash<char>’
   _Cxx_hashtable_define_trivial_hash(bool)
   ^
CRITICAL - [SpadsInstaller] Error during Unitsync wrapper compilation
spring@sserver:~/spads-dev$

thx!

Yaribz commented 7 years ago

Which version of spadsInstaller.pl are you using?

If you aren't using version 0.17d, did you run update.pl prior to spadsInstaller.pl as indicated in the update procedure for new Spring version?

TurBoss commented 7 years ago

that is! stable

thank you!

TurBoss commented 7 years ago

I'm on stable now not sure what was the running version sry