You are not logged in.

#1 2026-02-08 21:06:44

Anjo1920
Member
Registered: 2026-02-08
Posts: 3

[SOLVED] problem with compiing ncurses

hello, i have a problem with compiling the ncurses library. i do not know what is going on so im giving out the full error thingy

here's the full error:

In file included from /usr/include/c++/15.2.1/bits/move.h:37,
                 from /usr/include/c++/15.2.1/bits/exception_ptr.h:41,
                 from /usr/include/c++/15.2.1/exception:168,
                 from /usr/include/c++/15.2.1/ios:43,
                 from /usr/include/c++/15.2.1/bits/ostream.h:43,
                 from /usr/include/c++/15.2.1/ostream:42,
                 from /usr/include/c++/15.2.1/iostream:43,
                 from ../c++/etip.h:351,
                 from ../../ncurses-6.5/c++/cursesw.h:52,
                 from ../../ncurses-6.5/c++/cursslk.h:41,
                 from ../../ncurses-6.5/c++/cursesapp.h:40,
                 from ../../ncurses-6.5/c++/cursesmain.cc:36:
/usr/include/c++/15.2.1/type_traits:361:12: error: redefinition of ‘struct std::__is_integral_helper<unsigned char>’
  361 |     struct __is_integral_helper<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/move.h:37,
                 from /usr/include/c++/15.2.1/bits/exception_ptr.h:41,
                 from /usr/include/c++/15.2.1/exception:168,
                 from /usr/include/c++/15.2.1/ios:43,
                 from /usr/include/c++/15.2.1/bits/ostream.h:43,
                 from /usr/include/c++/15.2.1/ostream:42,
                 from /usr/include/c++/15.2.1/iostream:43,
                 from ../c++/etip.h:351,
                 from ../../ncurses-6.5/c++/cursesw.h:52,
                 from ../../ncurses-6.5/c++/cursslk.h:41,
                 from ../../ncurses-6.5/c++/cursslk.cc:36:
/usr/include/c++/15.2.1/type_traits:361:12: error: redefinition of ‘struct std::__is_integral_helper<unsigned char>’
  361 |     struct __is_integral_helper<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/type_traits:349:12: note: previous definition of ‘struct std::__is_integral_helper<unsigned char>’
  349 |     struct __is_integral_helper<bool>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/type_traits:349:12: note: previous definition of ‘struct std::__is_integral_helper<unsigned char>’
  349 |     struct __is_integral_helper<bool>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/move.h:37,
                 from /usr/include/c++/15.2.1/bits/exception_ptr.h:41,
                 from /usr/include/c++/15.2.1/exception:168,
                 from /usr/include/c++/15.2.1/ios:43,
                 from /usr/include/c++/15.2.1/bits/ostream.h:43,
                 from /usr/include/c++/15.2.1/ostream:42,
                 from /usr/include/c++/15.2.1/iostream:43,
                 from ../c++/etip.h:351,
                 from ../../ncurses-6.5/c++/cursesw.h:52,
                 from ../../ncurses-6.5/c++/cursslk.h:41,
                 from ../../ncurses-6.5/c++/cursesapp.h:40,
                 from ../../ncurses-6.5/c++/cursesapp.cc:37:
/usr/include/c++/15.2.1/type_traits:361:12: error: redefinition of ‘struct std::__is_integral_helper<unsigned char>’
  361 |     struct __is_integral_helper<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/type_traits:349:12: note: previous definition of ‘struct std::__is_integral_helper<unsigned char>’
  349 |     struct __is_integral_helper<bool>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/move.h:37,
                 from /usr/include/c++/15.2.1/bits/exception_ptr.h:41,
                 from /usr/include/c++/15.2.1/exception:168,
                 from /usr/include/c++/15.2.1/ios:43,
                 from /usr/include/c++/15.2.1/bits/ostream.h:43,
                 from /usr/include/c++/15.2.1/ostream:42,
                 from /usr/include/c++/15.2.1/iostream:43,
                 from ../c++/etip.h:351,
                 from ../../ncurses-6.5/c++/cursesw.h:52,
                 from ../../ncurses-6.5/c++/cursesp.h:41,
                 from ../../ncurses-6.5/c++/cursesm.h:40,
                 from ../../ncurses-6.5/c++/cursesm.cc:36:
/usr/include/c++/15.2.1/type_traits:361:12: error: redefinition of ‘struct std::__is_integral_helper<unsigned char>’
  361 |     struct __is_integral_helper<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/type_traits:349:12: note: previous definition of ‘struct std::__is_integral_helper<unsigned char>’
  349 |     struct __is_integral_helper<bool>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/move.h:37,
                 from /usr/include/c++/15.2.1/bits/exception_ptr.h:41,
                 from /usr/include/c++/15.2.1/exception:168,
                 from /usr/include/c++/15.2.1/ios:43,
                 from /usr/include/c++/15.2.1/bits/ostream.h:43,
                 from /usr/include/c++/15.2.1/ostream:42,
                 from /usr/include/c++/15.2.1/iostream:43,
                 from ../c++/etip.h:351,
                 from ../../ncurses-6.5/c++/cursesw.h:52,
                 from ../../ncurses-6.5/c++/cursesw.cc:44:
/usr/include/c++/15.2.1/type_traits:361:12: error: redefinition of ‘struct std::__is_integral_helper<unsigned char>’
  361 |     struct __is_integral_helper<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/type_traits:349:12: note: previous definition of ‘struct std::__is_integral_helper<unsigned char>’
  349 |     struct __is_integral_helper<bool>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/move.h:37,
                 from /usr/include/c++/15.2.1/bits/exception_ptr.h:41,
                 from /usr/include/c++/15.2.1/exception:168,
                 from /usr/include/c++/15.2.1/ios:43,
                 from /usr/include/c++/15.2.1/bits/ostream.h:43,
                 from /usr/include/c++/15.2.1/ostream:42,
                 from /usr/include/c++/15.2.1/iostream:43,
                 from ../c++/etip.h:351,
                 from ../../ncurses-6.5/c++/cursesw.h:52,
                 from ../../ncurses-6.5/c++/cursespad.cc:37:
/usr/include/c++/15.2.1/type_traits:361:12: error: redefinition of ‘struct std::__is_integral_helper<unsigned char>’
  361 |     struct __is_integral_helper<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/type_traits:349:12: note: previous definition of ‘struct std::__is_integral_helper<unsigned char>’
  349 |     struct __is_integral_helper<bool>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h: In member function ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’:
/usr/include/c++/15.2.1/bits/exception_ptr.h:162:16: error: invalid conversion from ‘void*’ to ‘NCURSES_BOOL’ {aka ‘unsigned char’} [-fpermissive]
  162 |       { return _M_exception_object; }
      |                ^~~~~~~~~~~~~~~~~~~
      |                |
      |                void*
/usr/include/c++/15.2.1/bits/exception_ptr.h: In member function ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’:
/usr/include/c++/15.2.1/bits/exception_ptr.h:162:16: error: invalid conversion from ‘void*’ to ‘NCURSES_BOOL’ {aka ‘unsigned char’} [-fpermissive]
  162 |       { return _M_exception_object; }
      |                ^~~~~~~~~~~~~~~~~~~
      |                |
      |                void*
/usr/include/c++/15.2.1/bits/exception_ptr.h: In member function ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’:
/usr/include/c++/15.2.1/bits/exception_ptr.h:162:16: error: invalid conversion from ‘void*’ to ‘NCURSES_BOOL’ {aka ‘unsigned char’} [-fpermissive]
  162 |       { return _M_exception_object; }
      |                ^~~~~~~~~~~~~~~~~~~
      |                |
      |                void*
/usr/include/c++/15.2.1/bits/exception_ptr.h: In member function ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’:
/usr/include/c++/15.2.1/bits/exception_ptr.h:162:16: error: invalid conversion from ‘void*’ to ‘NCURSES_BOOL’ {aka ‘unsigned char’} [-fpermissive]
  162 |       { return _M_exception_object; }
      |                ^~~~~~~~~~~~~~~~~~~
      |                |
      |                void*
/usr/include/c++/15.2.1/bits/exception_ptr.h: In member function ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’:
/usr/include/c++/15.2.1/bits/exception_ptr.h:162:16: error: invalid conversion from ‘void*’ to ‘NCURSES_BOOL’ {aka ‘unsigned char’} [-fpermissive]
  162 |       { return _M_exception_object; }
      |                ^~~~~~~~~~~~~~~~~~~
      |                |
      |                void*
In file included from /usr/include/c++/15.2.1/exception:169:
/usr/include/c++/15.2.1/bits/nested_exception.h: In member function ‘void std::nested_exception::rethrow_nested() const’:
/usr/include/c++/15.2.1/bits/nested_exception.h:78:11: error: invalid user-defined conversion from ‘const std::__exception_ptr::exception_ptr’ to ‘bool’ [-fpermissive]
   78 |       if (_M_ptr)
      |           ^~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: candidate is: ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’ (near match)
  161 |       explicit operator bool() const noexcept
      |                ^~~~~~~~
In file included from /usr/include/c++/15.2.1/exception:169:
/usr/include/c++/15.2.1/bits/nested_exception.h: In member function ‘void std::nested_exception::rethrow_nested() const’:
/usr/include/c++/15.2.1/bits/nested_exception.h:78:11: error: invalid user-defined conversion from ‘const std::__exception_ptr::exception_ptr’ to ‘bool’ [-fpermissive]
   78 |       if (_M_ptr)
      |           ^~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: return type ‘NCURSES_BOOL’ {aka ‘unsigned char’} of explicit conversion function cannot be converted to ‘bool’ with a qualification conversion
In file included from /usr/include/c++/15.2.1/exception:169:
/usr/include/c++/15.2.1/bits/nested_exception.h: In member function ‘void std::nested_exception::rethrow_nested() const’:
/usr/include/c++/15.2.1/bits/nested_exception.h:78:11: error: invalid user-defined conversion from ‘const std::__exception_ptr::exception_ptr’ to ‘bool’ [-fpermissive]
   78 |       if (_M_ptr)
      |           ^~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: candidate is: ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’ (near match)
  161 |       explicit operator bool() const noexcept
      |                ^~~~~~~~
In file included from /usr/include/c++/15.2.1/exception:169:
/usr/include/c++/15.2.1/bits/nested_exception.h: In member function ‘void std::nested_exception::rethrow_nested() const’:
/usr/include/c++/15.2.1/bits/nested_exception.h:78:11: error: invalid user-defined conversion from ‘const std::__exception_ptr::exception_ptr’ to ‘bool’ [-fpermissive]
   78 |       if (_M_ptr)
      |           ^~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: return type ‘NCURSES_BOOL’ {aka ‘unsigned char’} of explicit conversion function cannot be converted to ‘bool’ with a qualification conversion
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: candidate is: ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’ (near match)
  161 |       explicit operator bool() const noexcept
      |                ^~~~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: candidate is: ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’ (near match)
  161 |       explicit operator bool() const noexcept
      |                ^~~~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: return type ‘NCURSES_BOOL’ {aka ‘unsigned char’} of explicit conversion function cannot be converted to ‘bool’ with a qualification conversion
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: return type ‘NCURSES_BOOL’ {aka ‘unsigned char’} of explicit conversion function cannot be converted to ‘bool’ with a qualification conversion
In file included from /usr/include/c++/15.2.1/exception:169:
/usr/include/c++/15.2.1/bits/nested_exception.h: In member function ‘void std::nested_exception::rethrow_nested() const’:
/usr/include/c++/15.2.1/bits/nested_exception.h:78:11: error: invalid user-defined conversion from ‘const std::__exception_ptr::exception_ptr’ to ‘bool’ [-fpermissive]
   78 |       if (_M_ptr)
      |           ^~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: candidate is: ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’ (near match)
  161 |       explicit operator bool() const noexcept
      |                ^~~~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: return type ‘NCURSES_BOOL’ {aka ‘unsigned char’} of explicit conversion function cannot be converted to ‘bool’ with a qualification conversion
/usr/include/c++/15.2.1/bits/exception_ptr.h: In member function ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’:
/usr/include/c++/15.2.1/bits/exception_ptr.h:162:16: error: invalid conversion from ‘void*’ to ‘NCURSES_BOOL’ {aka ‘unsigned char’} [-fpermissive]
  162 |       { return _M_exception_object; }
      |                ^~~~~~~~~~~~~~~~~~~
      |                |
      |                void*
In file included from /usr/include/c++/15.2.1/exception:169:
/usr/include/c++/15.2.1/bits/nested_exception.h: In member function ‘void std::nested_exception::rethrow_nested() const’:
/usr/include/c++/15.2.1/bits/nested_exception.h:78:11: error: invalid user-defined conversion from ‘const std::__exception_ptr::exception_ptr’ to ‘bool’ [-fpermissive]
   78 |       if (_M_ptr)
      |           ^~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: candidate is: ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’ (near match)
  161 |       explicit operator bool() const noexcept
      |                ^~~~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: return type ‘NCURSES_BOOL’ {aka ‘unsigned char’} of explicit conversion function cannot be converted to ‘bool’ with a qualification conversion
In file included from /usr/include/c++/15.2.1/string:46,
                 from /usr/include/c++/15.2.1/bits/locale_classes.h:42,
                 from /usr/include/c++/15.2.1/bits/ios_base.h:43,
                 from /usr/include/c++/15.2.1/ios:46:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h: At global scope:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:151:12: error: redefinition of ‘struct std::__is_integer<unsigned char>’
  151 |     struct __is_integer<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:130:12: note: previous definition of ‘struct std::__is_integer<unsigned char>’
  130 |     struct __is_integer<bool>
      |            ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/string:46,
                 from /usr/include/c++/15.2.1/bits/locale_classes.h:42,
                 from /usr/include/c++/15.2.1/bits/ios_base.h:43,
                 from /usr/include/c++/15.2.1/ios:46:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h: At global scope:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:151:12: error: redefinition of ‘struct std::__is_integer<unsigned char>’
  151 |     struct __is_integer<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:130:12: note: previous definition of ‘struct std::__is_integer<unsigned char>’
  130 |     struct __is_integer<bool>
      |            ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/string:46,
                 from /usr/include/c++/15.2.1/bits/locale_classes.h:42,
                 from /usr/include/c++/15.2.1/bits/ios_base.h:43,
                 from /usr/include/c++/15.2.1/ios:46:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h: At global scope:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:151:12: error: redefinition of ‘struct std::__is_integer<unsigned char>’
  151 |     struct __is_integer<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:130:12: note: previous definition of ‘struct std::__is_integer<unsigned char>’
  130 |     struct __is_integer<bool>
      |            ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/string:46,
                 from /usr/include/c++/15.2.1/bits/locale_classes.h:42,
                 from /usr/include/c++/15.2.1/bits/ios_base.h:43,
                 from /usr/include/c++/15.2.1/ios:46:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h: At global scope:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:151:12: error: redefinition of ‘struct std::__is_integer<unsigned char>’
  151 |     struct __is_integer<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:130:12: note: previous definition of ‘struct std::__is_integer<unsigned char>’
  130 |     struct __is_integer<bool>
      |            ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/string:46,
                 from /usr/include/c++/15.2.1/bits/locale_classes.h:42,
                 from /usr/include/c++/15.2.1/bits/ios_base.h:43,
                 from /usr/include/c++/15.2.1/ios:46:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h: At global scope:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:151:12: error: redefinition of ‘struct std::__is_integer<unsigned char>’
  151 |     struct __is_integer<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:130:12: note: previous definition of ‘struct std::__is_integer<unsigned char>’
  130 |     struct __is_integer<bool>
      |            ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/string:46,
                 from /usr/include/c++/15.2.1/bits/locale_classes.h:42,
                 from /usr/include/c++/15.2.1/bits/ios_base.h:43,
                 from /usr/include/c++/15.2.1/ios:46:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h: At global scope:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:151:12: error: redefinition of ‘struct std::__is_integer<unsigned char>’
  151 |     struct __is_integer<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:130:12: note: previous definition of ‘struct std::__is_integer<unsigned char>’
  130 |     struct __is_integer<bool>
      |            ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/move.h:37,
                 from /usr/include/c++/15.2.1/bits/exception_ptr.h:41,
                 from /usr/include/c++/15.2.1/exception:168,
                 from /usr/include/c++/15.2.1/ios:43,
                 from /usr/include/c++/15.2.1/bits/ostream.h:43,
                 from /usr/include/c++/15.2.1/ostream:42,
                 from /usr/include/c++/15.2.1/iostream:43,
                 from ../c++/etip.h:351,
                 from ../../ncurses-6.5/c++/cursesw.h:52,
                 from ../../ncurses-6.5/c++/cursesp.h:41,
                 from ../../ncurses-6.5/c++/cursesf.h:41,
                 from ../../ncurses-6.5/c++/cursesf.cc:36:
/usr/include/c++/15.2.1/type_traits:361:12: error: redefinition of ‘struct std::__is_integral_helper<unsigned char>’
  361 |     struct __is_integral_helper<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/type_traits:349:12: note: previous definition of ‘struct std::__is_integral_helper<unsigned char>’
  349 |     struct __is_integral_helper<bool>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/move.h:37,
                 from /usr/include/c++/15.2.1/bits/exception_ptr.h:41,
                 from /usr/include/c++/15.2.1/exception:168,
                 from /usr/include/c++/15.2.1/ios:43,
                 from /usr/include/c++/15.2.1/bits/ostream.h:43,
                 from /usr/include/c++/15.2.1/ostream:42,
                 from /usr/include/c++/15.2.1/iostream:43,
                 from ../c++/etip.h:351,
                 from ../../ncurses-6.5/c++/cursesw.h:52,
                 from ../../ncurses-6.5/c++/cursesp.h:41,
                 from ../../ncurses-6.5/c++/cursesp.cc:36:
/usr/include/c++/15.2.1/type_traits:361:12: error: redefinition of ‘struct std::__is_integral_helper<unsigned char>’
  361 |     struct __is_integral_helper<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/type_traits:349:12: note: previous definition of ‘struct std::__is_integral_helper<unsigned char>’
  349 |     struct __is_integral_helper<bool>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/string_view:52,
                 from /usr/include/c++/15.2.1/bits/basic_string.h:51,
                 from /usr/include/c++/15.2.1/string:56:
/usr/include/c++/15.2.1/bits/functional_hash.h:137:3: error: redefinition of ‘struct std::hash<unsigned char>’
  137 |   _Cxx_hashtable_define_trivial_hash(unsigned char)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/functional_hash.h:128:3: note: previous definition of ‘struct std::hash<unsigned char>’
  128 |   _Cxx_hashtable_define_trivial_hash(bool)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h: In member function ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’:
/usr/include/c++/15.2.1/bits/exception_ptr.h:162:16: error: invalid conversion from ‘void*’ to ‘NCURSES_BOOL’ {aka ‘unsigned char’} [-fpermissive]
  162 |       { return _M_exception_object; }
      |                ^~~~~~~~~~~~~~~~~~~
      |                |
      |                void*
In file included from /usr/include/c++/15.2.1/string_view:52,
                 from /usr/include/c++/15.2.1/bits/basic_string.h:51,
                 from /usr/include/c++/15.2.1/string:56:
/usr/include/c++/15.2.1/bits/functional_hash.h:137:3: error: redefinition of ‘struct std::hash<unsigned char>’
  137 |   _Cxx_hashtable_define_trivial_hash(unsigned char)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/functional_hash.h:128:3: note: previous definition of ‘struct std::hash<unsigned char>’
  128 |   _Cxx_hashtable_define_trivial_hash(bool)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/string_view:52,
                 from /usr/include/c++/15.2.1/bits/basic_string.h:51,
                 from /usr/include/c++/15.2.1/string:56:
/usr/include/c++/15.2.1/bits/functional_hash.h:137:3: error: redefinition of ‘struct std::hash<unsigned char>’
  137 |   _Cxx_hashtable_define_trivial_hash(unsigned char)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/functional_hash.h:128:3: note: previous definition of ‘struct std::hash<unsigned char>’
  128 |   _Cxx_hashtable_define_trivial_hash(bool)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/string_view:52,
                 from /usr/include/c++/15.2.1/bits/basic_string.h:51,
                 from /usr/include/c++/15.2.1/string:56:
/usr/include/c++/15.2.1/bits/functional_hash.h:137:3: error: redefinition of ‘struct std::hash<unsigned char>’
  137 |   _Cxx_hashtable_define_trivial_hash(unsigned char)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/functional_hash.h:128:3: note: previous definition of ‘struct std::hash<unsigned char>’
  128 |   _Cxx_hashtable_define_trivial_hash(bool)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/string_view:52,
                 from /usr/include/c++/15.2.1/bits/basic_string.h:51,
                 from /usr/include/c++/15.2.1/string:56:
/usr/include/c++/15.2.1/bits/functional_hash.h:137:3: error: redefinition of ‘struct std::hash<unsigned char>’
  137 |   _Cxx_hashtable_define_trivial_hash(unsigned char)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/functional_hash.h:128:3: note: previous definition of ‘struct std::hash<unsigned char>’
  128 |   _Cxx_hashtable_define_trivial_hash(bool)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/exception:169:
/usr/include/c++/15.2.1/bits/nested_exception.h: In member function ‘void std::nested_exception::rethrow_nested() const’:
/usr/include/c++/15.2.1/bits/nested_exception.h:78:11: error: invalid user-defined conversion from ‘const std::__exception_ptr::exception_ptr’ to ‘bool’ [-fpermissive]
   78 |       if (_M_ptr)
      |           ^~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: candidate is: ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’ (near match)
  161 |       explicit operator bool() const noexcept
      |                ^~~~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: return type ‘NCURSES_BOOL’ {aka ‘unsigned char’} of explicit conversion function cannot be converted to ‘bool’ with a qualification conversion
/usr/include/c++/15.2.1/bits/exception_ptr.h: In member function ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’:
/usr/include/c++/15.2.1/bits/exception_ptr.h:162:16: error: invalid conversion from ‘void*’ to ‘NCURSES_BOOL’ {aka ‘unsigned char’} [-fpermissive]
  162 |       { return _M_exception_object; }
      |                ^~~~~~~~~~~~~~~~~~~
      |                |
      |                void*
In file included from /usr/include/c++/15.2.1/exception:169:
/usr/include/c++/15.2.1/bits/nested_exception.h: In member function ‘void std::nested_exception::rethrow_nested() const’:
/usr/include/c++/15.2.1/bits/nested_exception.h:78:11: error: invalid user-defined conversion from ‘const std::__exception_ptr::exception_ptr’ to ‘bool’ [-fpermissive]
   78 |       if (_M_ptr)
      |           ^~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: candidate is: ‘std::__exception_ptr::exception_ptr::operator NCURSES_BOOL() const’ (near match)
  161 |       explicit operator bool() const noexcept
      |                ^~~~~~~~
/usr/include/c++/15.2.1/bits/exception_ptr.h:161:16: note: return type ‘NCURSES_BOOL’ {aka ‘unsigned char’} of explicit conversion function cannot be converted to ‘bool’ with a qualification conversion
In file included from /usr/include/c++/15.2.1/string_view:52,
                 from /usr/include/c++/15.2.1/bits/basic_string.h:51,
                 from /usr/include/c++/15.2.1/string:56:
/usr/include/c++/15.2.1/bits/functional_hash.h:137:3: error: redefinition of ‘struct std::hash<unsigned char>’
  137 |   _Cxx_hashtable_define_trivial_hash(unsigned char)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/functional_hash.h:128:3: note: previous definition of ‘struct std::hash<unsigned char>’
  128 |   _Cxx_hashtable_define_trivial_hash(bool)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/string:46,
                 from /usr/include/c++/15.2.1/bits/locale_classes.h:42,
                 from /usr/include/c++/15.2.1/bits/ios_base.h:43,
                 from /usr/include/c++/15.2.1/ios:46:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h: At global scope:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:151:12: error: redefinition of ‘struct std::__is_integer<unsigned char>’
  151 |     struct __is_integer<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:130:12: note: previous definition of ‘struct std::__is_integer<unsigned char>’
  130 |     struct __is_integer<bool>
      |            ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/string:46,
                 from /usr/include/c++/15.2.1/bits/locale_classes.h:42,
                 from /usr/include/c++/15.2.1/bits/ios_base.h:43,
                 from /usr/include/c++/15.2.1/ios:46:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h: At global scope:
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:151:12: error: redefinition of ‘struct std::__is_integer<unsigned char>’
  151 |     struct __is_integer<unsigned char>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/cpp_type_traits.h:130:12: note: previous definition of ‘struct std::__is_integer<unsigned char>’
  130 |     struct __is_integer<bool>
      |            ^~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/memory_resource.h:40,
                 from /usr/include/c++/15.2.1/string:72:
/usr/include/c++/15.2.1/cstddef:81:21: error: redefinition of ‘struct std::__byte_operand<unsigned char>’
   81 |   template<> struct __byte_operand<unsigned char> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/memory_resource.h:40,
                 from /usr/include/c++/15.2.1/string:72:
/usr/include/c++/15.2.1/cstddef:81:21: error: redefinition of ‘struct std::__byte_operand<unsigned char>’
   81 |   template<> struct __byte_operand<unsigned char> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/cstddef:78:21: note: previous definition of ‘struct std::__byte_operand<unsigned char>’
   78 |   template<> struct __byte_operand<bool> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/cstddef:78:21: note: previous definition of ‘struct std::__byte_operand<unsigned char>’
   78 |   template<> struct __byte_operand<bool> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/memory_resource.h:40,
                 from /usr/include/c++/15.2.1/string:72:
/usr/include/c++/15.2.1/cstddef:81:21: error: redefinition of ‘struct std::__byte_operand<unsigned char>’
   81 |   template<> struct __byte_operand<unsigned char> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/cstddef:78:21: note: previous definition of ‘struct std::__byte_operand<unsigned char>’
   78 |   template<> struct __byte_operand<bool> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/memory_resource.h:40,
                 from /usr/include/c++/15.2.1/string:72:
/usr/include/c++/15.2.1/cstddef:81:21: error: redefinition of ‘struct std::__byte_operand<unsigned char>’
   81 |   template<> struct __byte_operand<unsigned char> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/cstddef:78:21: note: previous definition of ‘struct std::__byte_operand<unsigned char>’
   78 |   template<> struct __byte_operand<bool> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/memory_resource.h:40,
                 from /usr/include/c++/15.2.1/string:72:
/usr/include/c++/15.2.1/cstddef:81:21: error: redefinition of ‘struct std::__byte_operand<unsigned char>’
   81 |   template<> struct __byte_operand<unsigned char> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/cstddef:78:21: note: previous definition of ‘struct std::__byte_operand<unsigned char>’
   78 |   template<> struct __byte_operand<bool> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/string_view:52,
                 from /usr/include/c++/15.2.1/bits/basic_string.h:51,
                 from /usr/include/c++/15.2.1/string:56:
/usr/include/c++/15.2.1/bits/functional_hash.h:137:3: error: redefinition of ‘struct std::hash<unsigned char>’
  137 |   _Cxx_hashtable_define_trivial_hash(unsigned char)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/functional_hash.h:128:3: note: previous definition of ‘struct std::hash<unsigned char>’
  128 |   _Cxx_hashtable_define_trivial_hash(bool)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/memory_resource.h:40,
                 from /usr/include/c++/15.2.1/string:72:
/usr/include/c++/15.2.1/cstddef:81:21: error: redefinition of ‘struct std::__byte_operand<unsigned char>’
   81 |   template<> struct __byte_operand<unsigned char> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/cstddef:78:21: note: previous definition of ‘struct std::__byte_operand<unsigned char>’
   78 |   template<> struct __byte_operand<bool> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/string_view:52,
                 from /usr/include/c++/15.2.1/bits/basic_string.h:51,
                 from /usr/include/c++/15.2.1/string:56:
/usr/include/c++/15.2.1/bits/functional_hash.h:137:3: error: redefinition of ‘struct std::hash<unsigned char>’
  137 |   _Cxx_hashtable_define_trivial_hash(unsigned char)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/bits/functional_hash.h:128:3: note: previous definition of ‘struct std::hash<unsigned char>’
  128 |   _Cxx_hashtable_define_trivial_hash(bool)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/memory_resource.h:40,
                 from /usr/include/c++/15.2.1/string:72:
/usr/include/c++/15.2.1/cstddef:81:21: error: redefinition of ‘struct std::__byte_operand<unsigned char>’
   81 |   template<> struct __byte_operand<unsigned char> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/cstddef:78:21: note: previous definition of ‘struct std::__byte_operand<unsigned char>’
   78 |   template<> struct __byte_operand<bool> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/15.2.1/bits/memory_resource.h:40,
                 from /usr/include/c++/15.2.1/string:72:
/usr/include/c++/15.2.1/cstddef:81:21: error: redefinition of ‘struct std::__byte_operand<unsigned char>’
   81 |   template<> struct __byte_operand<unsigned char> { using __type = byte; };
      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/15.2.1/cstddef:78:21: note: previous definition of ‘struct std::__byte_operand<unsigned char>’
   78 |   template<> struct __byte_operand<bool> { using __type = byte; };

i have googled this everywhere and i cant find anything about this error, help is appreciated.

Last edited by Anjo1920 (2026-02-09 10:02:11)

Offline

#2 2026-02-08 21:20:49

WorMzy
Administrator
From: Scotland
Registered: 2010-06-16
Posts: 13,294
Website

Re: [SOLVED] problem with compiing ncurses


Sakura:-
Mobo: MSI MAG X570S TORPEDO MAX // Processor: AMD Ryzen 9 5950X @4.9GHz // GFX: AMD Radeon RX 5700 XT // RAM: 32GB (4x 8GB) Corsair DDR4 (@ 3000MHz) // Storage: 1x 3TB HDD, 6x 1TB SSD, 2x 120GB SSD, 1x 275GB M2 SSD

Making lemonade from lemons since 2015.

Offline

#3 2026-02-08 21:46:23

seth
Member
From: Don't DM me only for attention
Registered: 2012-09-03
Posts: 72,876

Re: [SOLVED] problem with compiing ncurses

/usr/include/c++/15.2.1/type_traits:361:12: error: redefinition of ‘struct std::__is_integral_helper<unsigned char>’
/usr/include/c++/15.2.1/type_traits:349:12: note: previous definition of ‘struct std::__is_integral_helper<unsigned char>’
/usr/include/c++/15.2.1/bits/exception_ptr.h:162:16: error: invalid conversion from ‘void*’ to ‘NCURSES_BOOL’ {aka ‘unsigned char’} [-fpermissive]

Something defines bool as uchar, causing various template collisions.

Edit:
https://gitlab.archlinux.org/archlinux/ … =heads#L76 ?

Last edited by seth (2026-02-08 21:47:57)

Offline

#4 2026-02-09 09:39:14

Anjo1920
Member
Registered: 2026-02-08
Posts: 3

Re: [SOLVED] problem with compiing ncurses

seth wrote:
/usr/include/c++/15.2.1/type_traits:361:12: error: redefinition of ‘struct std::__is_integral_helper<unsigned char>’
/usr/include/c++/15.2.1/type_traits:349:12: note: previous definition of ‘struct std::__is_integral_helper<unsigned char>’
/usr/include/c++/15.2.1/bits/exception_ptr.h:162:16: error: invalid conversion from ‘void*’ to ‘NCURSES_BOOL’ {aka ‘unsigned char’} [-fpermissive]

Something defines bool as uchar, causing various template collisions.

Edit:
https://gitlab.archlinux.org/archlinux/ … =heads#L76 ?

this worked... thank you big_smile

also how do i close topics?

Offline

#5 2026-02-09 10:01:05

schard
Forum Moderator
From: Hannover
Registered: 2016-05-06
Posts: 2,505
Website

Re: [SOLVED] problem with compiing ncurses

You don't close topics. If your issue is solved, please edit the first post of your thread and prepend "[SOLVED]" to the title so that other users know that there's nothing left to do, but maybe a solution to find.


Inofficial first vice president of the Rust Evangelism Strike Force

Offline

#6 2026-02-09 10:01:55

Anjo1920
Member
Registered: 2026-02-08
Posts: 3

Re: [SOLVED] problem with compiing ncurses

schard wrote:

You don't close topics. If your issue is solved, please edit the first post of your thread and prepend "[SOLVED]" to the title so that other users know that there's nothing left to do, but maybe a solution to find.

thanks

Offline

Board footer

Powered by FluxBB