contour-terminal / contour

Modern C++ Terminal Emulator
http://contour-terminal.org/
Apache License 2.0
2.31k stars 100 forks source link

Dependency missing for Fedora package #1482

Closed sonicdes closed 3 months ago

sonicdes commented 4 months ago

Contour Terminal version

0.4.3

Installer source

something else (please specify below)

Operating System

Fedora 39 Gnome

Architecture

x86-64

Other Software

No response

Steps to reproduce

Install from Fedora repos with sudo dnf install contour-terminal which installs specific package contour-terminal-0.4.3.6442-3.fc39 Run contour

Expected Behavior

Terminal window opens.

Actual Behavior

Terminal window doesn't open with output:

Warning: QQmlApplicationEngine failed to load component ((null):0, (null))
Warning: qrc:/contour/ui/main.qml:30:5: Type Terminal unavailable (qrc:/contour/ui/main.qml:30, (null))
Warning: qrc:/contour/ui/Terminal.qml:8:1: module "Qt5Compat.GraphicalEffects" is not installed (qrc:/contour/ui/Terminal.qml:8, (null))

Additional notes

Runs fine after installing qt6-qt5compat package.

Yaraslaut commented 4 months ago

Thanks for the report @sonicdes. @topazus can you please look into it?

topazus commented 3 months ago

I added the runtime dep of qt6-qt5compat in f38-f41. I rebuilt it on f41 with boxed-cpp 1.4.0, libunicode 0.4.0, the error occured, see details: https://kojipkgs.fedoraproject.org//work/tasks/5087/114585087/build.log

[11/123] /usr/bin/g++ -DFMT_HEADER_ONLY=1 -I/builddir/build/BUILD/contour-0.4.3.6442/redhat-linux-build/src/text_shaper -I/builddir/build/BUILD/contour-0.4.3.6442/src -isystem /usr/include/freetype2 -isystem /usr/include/harfbuzz -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /usr/include/sysprof-6 -isystem /usr/include/libpng16 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -DNDEBUG -std=c++20 -fdiagnostics-color=always -pthread -DWITH_GZFILEOP -MD -MT src/text_shaper/CMakeFiles/text_shaper.dir/shaper.cpp.o -MF src/text_shaper/CMakeFiles/text_shaper.dir/shaper.cpp.o.d -o src/text_shaper/CMakeFiles/text_shaper.dir/shaper.cpp.o -c /builddir/build/BUILD/contour-0.4.3.6442/src/text_shaper/shaper.cpp
FAILED: src/text_shaper/CMakeFiles/text_shaper.dir/shaper.cpp.o 
/usr/bin/g++ -DFMT_HEADER_ONLY=1 -I/builddir/build/BUILD/contour-0.4.3.6442/redhat-linux-build/src/text_shaper -I/builddir/build/BUILD/contour-0.4.3.6442/src -isystem /usr/include/freetype2 -isystem /usr/include/harfbuzz -isystem /usr/include/glib-2.0 -isystem /usr/lib64/glib-2.0/include -isystem /usr/include/sysprof-6 -isystem /usr/include/libpng16 -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -DNDEBUG -std=c++20 -fdiagnostics-color=always -pthread -DWITH_GZFILEOP -MD -MT src/text_shaper/CMakeFiles/text_shaper.dir/shaper.cpp.o -MF src/text_shaper/CMakeFiles/text_shaper.dir/shaper.cpp.o.d -o src/text_shaper/CMakeFiles/text_shaper.dir/shaper.cpp.o -c /builddir/build/BUILD/contour-0.4.3.6442/src/text_shaper/shaper.cpp
In file included from /builddir/build/BUILD/contour-0.4.3.6442/src/vtpty/ImageSize.h:6,
                 from /builddir/build/BUILD/contour-0.4.3.6442/src/vtbackend/primitives.h:4,
                 from /builddir/build/BUILD/contour-0.4.3.6442/src/text_shaper/shaper.cpp:2:
/usr/include/boxed-cpp/boxed.hpp:218:8: error: extra qualification not allowed [-fpermissive]
  218 | struct fmt::formatter<boxed::detail::boxed<Type, Tag>>
      |        ^~~
In file included from /usr/include/fmt/format.h:49,
                 from /usr/include/boxed-cpp/boxed.hpp:211:
/usr/include/fmt/core.h: In instantiation of ‘constexpr decltype (ctx.begin()) fmt::v10::detail::parse_format_specs(ParseContext&) [with T = boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>; ParseContext = compile_parse_context<char>; decltype (ctx.begin()) = const char*]’:
/usr/include/fmt/core.h:2684:51:   required from here
/usr/include/boxed-cpp/boxed.hpp:218:8: error:  2684 |     return id >= 0 && id < num_args ? parse_funcs_[id](context_) : begin;
/usr/include/boxed-cpp/boxed.hpp:218:8: error:       |                                       ~~~~~~~~~~~~^
/builddir/build/BUILD/contour-0.4.3.6442/src/vtpty/ImageSize.h:86:58:   in ‘constexpr’ expansion of ‘fmt::v10::basic_format_string<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>&, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height>&>("{}x{}")’
/usr/include/fmt/core.h:2787:40:   in ‘constexpr’ expansion of ‘fmt::v10::detail::parse_format_string<true, char, format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> > >(((fmt::v10::basic_format_string<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>&, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height>&>*)this)->fmt::v10::basic_format_string<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>&, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height>&>::str_, fmt::v10::detail::format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >(fmt::v10::basic_string_view<char>(((const char*)s))))’
/usr/include/fmt/core.h:2534:44:   in ‘constexpr’ expansion of ‘fmt::v10::detail::parse_replacement_field<char, format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >&>((p + -1), end, (* & handler))’
/usr/include/fmt/core.h:2502:33:   in ‘constexpr’ expansion of ‘(& handler)->fmt::v10::detail::format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >::on_replacement_field((& handler)->fmt::v10::detail::format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >::on_arg_id(), begin)’
/usr/include/fmt/core.h:2677:20:   in ‘constexpr’ expansion of ‘((fmt::v10::detail::format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >*)this)->fmt::v10::detail::format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >::on_format_specs(id, begin, begin)’
/usr/include/fmt/core.h:2591:48: error: ‘struct fmt::v10::formatter<boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, char, void>’ has no member named ‘parse’
 2591 |     return formatter<mapped_type, char_type>().parse(ctx);
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/builddir/build/BUILD/contour-0.4.3.6442/src/vtpty/ImageSize.h: In member function ‘fmt::v10::basic_format_context<fmt::v10::appender, char>::iterator fmt::v10::formatter<vtpty::ImageSize>::format(vtpty::ImageSize, fmt::v10::format_context&)’:
/builddir/build/BUILD/contour-0.4.3.6442/src/vtpty/ImageSize.h:86:58: error: call to consteval function ‘fmt::v10::basic_format_string<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>&, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height>&>("{}x{}")’ is not a constant expression
   86 |         return formatter<std::string>::format(fmt::format("{}x{}", value.width, value.height), ctx);
      |                                               ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/contour-0.4.3.6442/src/vtpty/ImageSize.h:86:58:   in ‘constexpr’ expansion of ‘fmt::v10::basic_format_string<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>&, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height>&>("{}x{}")’
/usr/include/fmt/core.h:2787:40:   in ‘constexpr’ expansion of ‘fmt::v10::detail::parse_format_string<true, char, format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> > >(((fmt::v10::basic_format_string<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>&, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height>&>*)this)->fmt::v10::basic_format_string<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>&, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height>&>::str_, fmt::v10::detail::format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >(fmt::v10::basic_string_view<char>(((const char*)s))))’
/usr/include/fmt/core.h:2534:44:   in ‘constexpr’ expansion of ‘fmt::v10::detail::parse_replacement_field<char, format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >&>((p + -1), end, (* & handler))’
/usr/include/fmt/core.h:2502:33:   in ‘constexpr’ expansion of ‘(& handler)->fmt::v10::detail::format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >::on_replacement_field((& handler)->fmt::v10::detail::format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >::on_arg_id(), begin)’
/usr/include/fmt/core.h:2677:20:   in ‘constexpr’ expansion of ‘((fmt::v10::detail::format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >*)this)->fmt::v10::detail::format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >::on_format_specs(id, begin, begin)’
/usr/include/fmt/core.h:2684:51:   in ‘constexpr’ expansion of ‘((fmt::v10::detail::format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >*)this)->fmt::v10::detail::format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >::parse_funcs_[id](((fmt::v10::detail::format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >*)this)->fmt::v10::detail::format_string_checker<char, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Width>, boxed::detail::boxed<unsigned int, vtpty::detail::tags::Height> >::context_)’
/usr/include/fmt/core.h:2684:51: error: ‘constexpr’ call flows off the end of the function
 2684 |     return id >= 0 && id < num_args ? parse_funcs_[id](context_) : begin;
      |                                       ~~~~~~~~~~~~^
topazus commented 3 months ago

On f38, f39, f40, it built successfully with boxed-cpp 1.3.0. eg. f39 update is here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-bb496735dc

Yaraslaut commented 3 months ago

On f38, f39, f40, it built successfully with boxed-cpp 1.3.0. eg. f39 update is here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-bb496735dc

Thanks a lot, for boxed-cpp 1.4.0 we use some features of c++20 that is available only on recent releases and/or might still have some issues, so if we can stick with boxed-cpp 1.3.0 it would be good, i can ping you once we manage to update boxed for the build see (https://github.com/contour-terminal/contour/pull/1463)

Yaraslaut commented 3 months ago

Package is fixed now, so I will close this issue