tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: icu update to 77.1



On Fri, Apr 04, 2025 at 07:28:57AM +0200, Martin Husemann wrote:
> On Thu, Apr 03, 2025 at 09:44:33PM +0200, Thomas Klausner wrote:
> > The previous version was already marked as needing C++17, so no
> > change.
> 
> Yes, but the compile errors you quoted come from g++ invocations using
> older standards.
> 
> And one *could* make a distinction between the library needing C++$something
> to build and the API in the public headers requiring C++$somethingelse.

I tried two things:

- Setting USE_CXX_FEATURES+=c++17 in icu/buildlink3.mk - with the same
  bulk build result, since qt5-qtwebkit uses -std=c++11

- Setting USE_CXX_FEATURES+=c++17 and FORCE_CXX_STD=c++17 directly in
  qt5-qtwebkit, which lead to it failing differently.

In file included from /scratch/x11/qt5-qtwebkit/work/qtwebkit-5.212.0-alpha4/Source/WTF/wtf/FastMalloc.h:26,
                 from /scratch/x11/qt5-qtwebkit/work/qtwebkit-5.212.0-alpha4/Source/WTF/config.h:51,
                 from /scratch/x11/qt5-qtwebkit/work/qtwebkit-5.212.0-alpha4/Source/WTF/wtf/Atomics.cpp:26:
/scratch/x11/qt5-qtwebkit/work/qtwebkit-5.212.0-alpha4/Source/WTF/wtf/StdLibExtras.h:330:36: error: conflicting declaration of template 'template<long unsigned int ...indexes> struct std::index_sequence'
  330 | template<size_t... indexes> struct index_sequence {
      |                                    ^~~~~~~~~~~~~~
In file included from /usr/include/g++/bits/stl_pair.h:62,
                 from /usr/include/g++/utility:69,
                 from /usr/pkg/qt5/include/QtCore/qglobal.h:47,
                 from /scratch/x11/qt5-qtwebkit/work/qtwebkit-5.212.0-alpha4/Source/WTF/wtf/Platform.h:1065,
                 from /scratch/x11/qt5-qtwebkit/work/qtwebkit-5.212.0-alpha4/Source/WTF/config.h:26:
/usr/include/g++/bits/utility.h:184:11: note: previous declaration 'template<long unsigned int ..._Idx> using index_sequence = std::integer_sequence<long unsigned int, _Idx ...>'
  184 |     using index_sequence = integer_sequence<size_t, _Idx...>;
      |           ^~~~~~~~~~~~~~
/scratch/x11/qt5-qtwebkit/work/qtwebkit-5.212.0-alpha4/Source/WTF/wtf/StdLibExtras.h:344:32: error: conflicting declaration of template 'template<long unsigned int length> struct std::make_index_sequence'
  344 | template<size_t length> struct make_index_sequence : public make_index_sequence_helper<length>::type { };
      |                                ^~~~~~~~~~~~~~~~~~~
/usr/include/g++/bits/utility.h:188:11: note: previous declaration 'template<long unsigned int _Num> using make_index_sequence = std::make_integer_sequence<long unsigned int, _Num>'
  188 |     using make_index_sequence = make_integer_sequence<size_t, _Num>;
      |           ^~~~~~~~~~~~~~~~~~~
/scratch/x11/qt5-qtwebkit/work/qtwebkit-5.212.0-alpha4/Source/WTF/wtf/StdLibExtras.h:348:3: error: redefinition of 'template<class T, class U> T std::exchange(T&, U&&)'
  348 | T exchange(T& t, U&& newValue)
      |   ^~~~~~~~
/usr/include/g++/utility:97:5: note: 'template<class _Tp, class _Up> _Tp std::exchange(_Tp&, _Up&&)' previously declared here
   97 |     exchange(_Tp& __obj, _Up&& __new_val)
      |     ^~~~~~~~

 Thomas




Home | Main Index | Thread Index | Old Index