Skip to content

Compilation failure with openmw-50-rc1-18-gef05e089ab

I am trying to compile the above git pull on Fedora Linux Rawhide. See compilation error snippet.

Possibly related to Qt 6.10 or libstdc++ 15.2.1?? Or some other dependency...

Thanks!

/builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/files/qtconversion.cpp: In function ‘std::filesystem::__cxx11::path Files::pathFromQString(QStringView)’: /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/files/qtconversion.cpp:21:70: error: call of overloaded ‘stringToU8String(const QByteArray&)’ is ambiguous 21 | return std::filesystem::path{ Misc::StringUtils::stringToU8String(tmp) }; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/files/qtconversion.cpp:21:70: note: there are 4 candidates In file included from /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/files/qtconversion.cpp:4: /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/misc/strings/conversion.hpp:41:27: note: candidate 1: ‘const char8_t* Misc::StringUtils::stringToU8String(const char*)’ 41 | inline const char8_t* stringToU8String(const char* str) | ^~~~~~~~~~~~~~~~ /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/misc/strings/conversion.hpp:52:26: note: candidate 2: ‘std::u8string Misc::StringUtils::stringToU8String(std::string_view)’ 52 | inline std::u8string stringToU8String(std::string_view str) | ^~~~~~~~~~~~~~~~ /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/files/qtconversion.cpp:21:76: error: no matching function for call to ‘std::filesystem::__cxx11::path::path(<brace-enclosed initializer list>)’ 21 | return std::filesystem::path{ Misc::StringUtils::stringToU8String(tmp) }; | ^ /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/files/qtconversion.cpp:21:76: note: there are 9 candidates In file included from /usr/include/c++/15/filesystem:54, from /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/files/qtconversion.hpp:5, from /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/files/qtconversion.cpp:2: /usr/include/c++/15/bits/fs_path.h:350:7: note: candidate 1: ‘template<class _InputIterator, class _Require, class _Req2> std::filesystem::__cxx11::path::path(_InputIterator, _InputIterator, const std::locale&, format)’ 350 | path(_InputIterator __first, _InputIterator __last, const locale& __loc, | ^~~~ /usr/include/c++/15/bits/fs_path.h:350:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/15/bits/fs_path.h:343:7: note: candidate 2: ‘template<class _Source, class _Require, class _Require2> std::filesystem::__cxx11::path::path(const _Source&, const std::locale&, format)’ 343 | path(_Source const& __src, const locale& __loc, format = auto_format) | ^~~~ /usr/include/c++/15/bits/fs_path.h:343:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/15/bits/fs_path.h:336:7: note: candidate 3: ‘template<class _InputIterator, class _Require> std::filesystem::__cxx11::path::path(_InputIterator, _InputIterator, format)’ 336 | path(_InputIterator __first, _InputIterator __last, format = auto_format) | ^~~~ /usr/include/c++/15/bits/fs_path.h:336:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/15/bits/fs_path.h:330:7: note: candidate 4: ‘template<class _Source, class _Require> std::filesystem::__cxx11::path::path(const _Source&, format)’ 330 | path(_Source const& __source, format = auto_format) | ^~~~ /usr/include/c++/15/bits/fs_path.h:330:7: note: template argument deduction/substitution failed: /usr/include/c++/15/bits/fs_path.h:603:5: note: candidate 5: ‘std::filesystem::__cxx11::path::path(std::basic_string_view<char>, _Type)’ 603 | path(basic_string_view<value_type> __str, _Type __type); | ^~~~ /usr/include/c++/15/bits/fs_path.h:603:5: note: candidate expects 2 arguments, 1 provided /usr/include/c++/15/bits/fs_path.h:324:5: note: candidate 6: ‘std::filesystem::__cxx11::path::path(string_type&&, format)’ 324 | path(string_type&& __source, format = auto_format) | ^~~~ /usr/include/c++/15/bits/fs_path.h:324:5: note: conversion of argument 1 would be ill-formed: /usr/include/c++/15/bits/fs_path.h:319:5: note: candidate 7: ‘std::filesystem::__cxx11::path::path(std::filesystem::__cxx11::path&&)’ 319 | path(path&& __p) noexcept | ^~~~ /usr/include/c++/15/bits/fs_path.h:319:5: note: conversion of argument 1 would be ill-formed: /usr/include/c++/15/bits/fs_path.h:317:5: note: candidate 8: ‘std::filesystem::__cxx11::path::path(const std::filesystem::__cxx11::path&)’ 317 | path(const path& __p) = default; | ^~~~ /usr/include/c++/15/bits/fs_path.h:317:5: note: conversion of argument 1 would be ill-formed: /usr/include/c++/15/bits/fs_path.h:315:5: note: candidate 9: ‘std::filesystem::__cxx11::path::path()’ 315 | path() noexcept { } | ^~~~ /usr/include/c++/15/bits/fs_path.h:315:5: note: candidate expects 0 arguments, 1 provided /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/files/qtconversion.cpp: In function ‘std::filesystem::__cxx11::path Files::pathFromQString(QString&&)’: /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/files/qtconversion.cpp:27:70: error: call of overloaded ‘stringToU8String(const QByteArray&)’ is ambiguous 27 | return std::filesystem::path{ Misc::StringUtils::stringToU8String(tmp) }; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/files/qtconversion.cpp:27:70: note: there are 4 candidates /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/misc/strings/conversion.hpp:41:27: note: candidate 1: ‘const char8_t* Misc::StringUtils::stringToU8String(const char*)’ 41 | inline const char8_t* stringToU8String(const char* str) | ^~~~~~~~~~~~~~~~ /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/misc/strings/conversion.hpp:52:26: note: candidate 2: ‘std::u8string Misc::StringUtils::stringToU8String(std::string_view)’ 52 | inline std::u8string stringToU8String(std::string_view str) | ^~~~~~~~~~~~~~~~ /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/files/qtconversion.cpp:27:76: error: no matching function for call to ‘std::filesystem::__cxx11::path::path(<brace-enclosed initializer list>)’ 27 | return std::filesystem::path{ Misc::StringUtils::stringToU8String(tmp) }; | ^ /builddir/build/BUILD/openmw-0.51.0_20251004gef05e089ab-build/openmw/components/files/qtconversion.cpp:27:76: note: there are 9 candidates /usr/include/c++/15/bits/fs_path.h:350:7: note: candidate 1: ‘template<class _InputIterator, class _Require, class _Req2> std::filesystem::__cxx11::path::path(_InputIterator, _InputIterator, const std::locale&, format)’ 350 | path(_InputIterator __first, _InputIterator __last, const locale& __loc, | ^~~~ /usr/include/c++/15/bits/fs_path.h:350:7: note: candidate expects 3 arguments, 1 provided /usr/include/c++/15/bits/fs_path.h:343:7: note: candidate 2: ‘template<class _Source, class _Require, class _Require2> std::filesystem::__cxx11::path::path(const _Source&, const std::locale&, format)’ 343 | path(_Source const& __src, const locale& __loc, format = auto_format) | ^~~~ /usr/include/c++/15/bits/fs_path.h:343:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/15/bits/fs_path.h:336:7: note: candidate 3: ‘template<class _InputIterator, class _Require> std::filesystem::__cxx11::path::path(_InputIterator, _InputIterator, format)’ 336 | path(_InputIterator __first, _InputIterator __last, format = auto_format) | ^~~~ /usr/include/c++/15/bits/fs_path.h:336:7: note: candidate expects 2 arguments, 1 provided /usr/include/c++/15/bits/fs_path.h:330:7: note: candidate 4: ‘template<class _Source, class _Require> std::filesystem::__cxx11::path::path(const _Source&, format)’ 330 | path(_Source const& __source, format = auto_format) | ^~~~ /usr/include/c++/15/bits/fs_path.h:330:7: note: template argument deduction/substitution failed: /usr/include/c++/15/bits/fs_path.h:603:5: note: candidate 5: ‘std::filesystem::__cxx11::path::path(std::basic_string_view<char>, _Type)’ 603 | path(basic_string_view<value_type> __str, _Type __type); | ^~~~ /usr/include/c++/15/bits/fs_path.h:603:5: note: candidate expects 2 arguments, 1 provided /usr/include/c++/15/bits/fs_path.h:324:5: note: candidate 6: ‘std::filesystem::__cxx11::path::path(string_type&&, format)’ 324 | path(string_type&& __source, format = auto_format) | ^~~~ /usr/include/c++/15/bits/fs_path.h:324:5: note: conversion of argument 1 would be ill-formed: /usr/include/c++/15/bits/fs_path.h:319:5: note: candidate 7: ‘std::filesystem::__cxx11::path::path(std::filesystem::__cxx11::path&&)’ 319 | path(path&& __p) noexcept | ^~~~ /usr/include/c++/15/bits/fs_path.h:319:5: note: conversion of argument 1 would be ill-formed: /usr/include/c++/15/bits/fs_path.h:317:5: note: candidate 8: ‘std::filesystem::__cxx11::path::path(const std::filesystem::__cxx11::path&)’ 317 | path(const path& __p) = default; | ^~~~ /usr/include/c++/15/bits/fs_path.h:317:5: note: conversion of argument 1 would be ill-formed: /usr/include/c++/15/bits/fs_path.h:315:5: note: candidate 9: ‘std::filesystem::__cxx11::path::path()’ 315 | path() noexcept { } | ^~~~ /usr/include/c++/15/bits/fs_path.h:315:5: note: candidate expects 0 arguments, 1 provided gmake[2]: *** [components/CMakeFiles/components_qt.dir/build.make:257: components/CMakeFiles/components_qt.dir/files/qtconversion.cpp.o] Error 1 gmake[2]: *** Waiting for unfinished jobs....