Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 732778

Summary: dev-games/mygui-3.2.2: fails to build with gcc-11
Product: Gentoo Linux Reporter: lekto
Component: Current packagesAssignee: Gentoo Games <games>
Status: RESOLVED FIXED    
Severity: normal CC: jstein, slyfox
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 732706    
Attachments: build.log
emerge --info

Description lekto 2020-07-15 18:56:49 UTC
Created attachment 649344 [details]
build.log

In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/string_view:42,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/bits/basic_string.h:48,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/string:55,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Common.h:12,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Precompiled.h:11,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/src/MyGUI_Any.cpp:7:
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/bits/functional_hash.h:264:12: error: redefinition of ‘struct std::hash<int>’
  264 |     struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
      |            ^~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/bits/functional_hash.h:153:3: note: previous definition of ‘struct std::hash<int>’
  153 |   _Cxx_hashtable_define_trivial_hash(int)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/string_view:42,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/bits/basic_string.h:48,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/string:55,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Common.h:12,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Precompiled.h:11,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/src/MyGUI_ActionController.cpp:7:
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/bits/functional_hash.h:264:12: error: redefinition of ‘struct std::hash<int>’
  264 |     struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
      |            ^~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/bits/functional_hash.h:153:3: note: previous definition of ‘struct std::hash<int>’
  153 |   _Cxx_hashtable_define_trivial_hash(int)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/string_view:42,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/bits/basic_string.h:48,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/string:55,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Common.h:12,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Precompiled.h:11,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/src/MyGUI_BiIndexBase.cpp:7:
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/bits/functional_hash.h:264:12: error: redefinition of ‘struct std::hash<int>’
  264 |     struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
      |            ^~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/bits/functional_hash.h:153:3: note: previous definition of ‘struct std::hash<int>’
  153 |   _Cxx_hashtable_define_trivial_hash(int)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/string_view:42,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/bits/basic_string.h:48,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/string:55,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Common.h:12,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Precompiled.h:11,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/src/MyGUI_BackwardCompatibility.cpp:7:
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/bits/functional_hash.h:264:12: error: redefinition of ‘struct std::hash<int>’
  264 |     struct hash<nullptr_t> : public __hash_base<size_t, nullptr_t>
      |            ^~~~~~~~~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/bits/functional_hash.h:153:3: note: previous definition of ‘struct std::hash<int>’
  153 |   _Cxx_hashtable_define_trivial_hash(int)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/istream:39,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/sstream:38,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_LogStream.h:12,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_LogManager.h:11,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Diagnostic.h:12,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Common.h:36,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Precompiled.h:11,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/src/MyGUI_BackwardCompatibility.cpp:7:
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/ostream:250:7: error: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::nullptr_t)’ cannot be overloaded with ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(int)’
  250 |       operator<<(nullptr_t)
      |       ^~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/ostream:189:7: note: previous declaration ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(int)’
  189 |       operator<<(int __n);
      |       ^~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/istream:39,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/sstream:38,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_LogStream.h:12,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_LogManager.h:11,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Diagnostic.h:12,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Common.h:36,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Precompiled.h:11,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/src/MyGUI_ActionController.cpp:7:
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/ostream:250:7: error: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::nullptr_t)’ cannot be overloaded with ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(int)’
  250 |       operator<<(nullptr_t)
      |       ^~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/ostream:189:7: note: previous declaration ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(int)’
  189 |       operator<<(int __n);
      |       ^~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/istream:39,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/sstream:38,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_LogStream.h:12,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_LogManager.h:11,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Diagnostic.h:12,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Common.h:36,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Precompiled.h:11,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/src/MyGUI_BiIndexBase.cpp:7:
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/ostream:250:7: error: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::nullptr_t)’ cannot be overloaded with ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(int)’
  250 |       operator<<(nullptr_t)
      |       ^~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/ostream:189:7: note: previous declaration ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(int)’
  189 |       operator<<(int __n);
      |       ^~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/istream:39,
                 from /usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/sstream:38,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_LogStream.h:12,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_LogManager.h:11,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Diagnostic.h:12,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Common.h:36,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/include/MyGUI_Precompiled.h:11,
                 from /var/tmp/portage/dev-games/mygui-3.2.2/work/mygui-MyGUI3.2.2/MyGUIEngine/src/MyGUI_Any.cpp:7:
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/ostream:250:7: error: ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(std::nullptr_t)’ cannot be overloaded with ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(int)’
  250 |       operator<<(nullptr_t)
      |       ^~~~~~~~
/usr/lib/gcc/x86_64-pc-linux-gnu/11.0.0/include/g++-v11/ostream:189:7: note: previous declaration ‘std::basic_ostream<_CharT, _Traits>::__ostream_type& std::basic_ostream<_CharT, _Traits>::operator<<(int)’
  189 |       operator<<(int __n);
      |       ^~~~~~~~
Comment 1 lekto 2020-07-15 18:57:07 UTC
Created attachment 649346 [details]
emerge --info
Comment 2 Sergei Trofimovich (RETIRED) gentoo-dev 2020-10-11 10:06:47 UTC
The error is an effect of `#define nullptr 0`. Probably fixed by a part of https://github.com/MyGUI/mygui/commit/ced30dac10082ff9593a2c971d26b3aebce6b2be.patch
Comment 3 Larry the Git Cow gentoo-dev 2020-10-11 10:18:14 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f838d5aa1b2dd5952c018c125ed6b72bf71a70fe

commit f838d5aa1b2dd5952c018c125ed6b72bf71a70fe
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2020-10-11 10:18:04 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2020-10-11 10:18:10 +0000

    dev-games/mygui: fix build on c++17 compiler (gcc-11)
    
    Reported-by: lekto@o2.pl
    Closes: https://bugs.gentoo.org/732778
    Package-Manager: Portage-3.0.8, Repoman-3.0.1
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>

 dev-games/mygui/files/mygui-3.2.2-c++17.patch | 27 +++++++++++++++++++++++++++
 dev-games/mygui/mygui-3.2.2.ebuild            |  3 ++-
 2 files changed, 29 insertions(+), 1 deletion(-)