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