Description of problem: GCC LTO build regression after building mtxclient 0.4.0 both in Rawhide and F33. Version-Release number of selected component (if applicable): Rawhide: 11.0.0-0.14.fc34.x86_64 Fedora 33: gcc-10.2.1-9.fc33.x86_64 How reproducible: Always. Steps to Reproduce: 1. Rebuild mtxclient package 0.4.0 with LTO enabled (remove %global _lto_cflags %{nil} row and bump Release). 2. Try to build nheko 0.8.0 with this build of the mtxclient package in mock/COPR. Actual results: FAILED: nheko : && /usr/bin/g++ -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -DNDEBUG -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld CMakeFiles/nheko.dir/src/dialogs/CreateRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/FallbackAuth.cpp.o CMakeFiles/nheko.dir/src/dialogs/ImageOverlay.cpp.o CMakeFiles/nheko.dir/src/dialogs/InviteUsers.cpp.o CMakeFiles/nheko.dir/src/dialogs/JoinRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/LeaveRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/Logout.cpp.o CMakeFiles/nheko.dir/src/dialogs/MemberList.cpp.o CMakeFiles/nheko.dir/src/dialogs/PreviewUploadOverlay.cpp.o CMakeFiles/nheko.dir/src/dialogs/ReCaptcha.cpp.o CMakeFiles/nheko.dir/src/dialogs/ReadReceipts.cpp.o CMakeFiles/nheko.dir/src/dialogs/RoomSettings.cpp.o CMakeFiles/nheko.dir/src/emoji/EmojiModel.cpp.o CMakeFiles/nheko.dir/src/emoji/Provider_new.cpp.o CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o CMakeFiles/nheko.dir/src/timeline/InputBar.cpp.o CMakeFiles/nheko.dir/src/timeline/Reaction.cpp.o CMakeFiles/nheko.dir/src/timeline/TimelineViewManager.cpp.o CMakeFiles/nheko.dir/src/timeline/TimelineModel.cpp.o CMakeFiles/nheko.dir/src/timeline/DelegateChooser.cpp.o CMakeFiles/nheko.dir/src/ui/Avatar.cpp.o CMakeFiles/nheko.dir/src/ui/Badge.cpp.o CMakeFiles/nheko.dir/src/ui/DropShadow.cpp.o CMakeFiles/nheko.dir/src/ui/FlatButton.cpp.o CMakeFiles/nheko.dir/src/ui/FloatingButton.cpp.o CMakeFiles/nheko.dir/src/ui/InfoMessage.cpp.o CMakeFiles/nheko.dir/src/ui/Label.cpp.o CMakeFiles/nheko.dir/src/ui/LoadingIndicator.cpp.o CMakeFiles/nheko.dir/src/ui/NhekoDropArea.cpp.o CMakeFiles/nheko.dir/src/ui/OverlayModal.cpp.o CMakeFiles/nheko.dir/src/ui/OverlayWidget.cpp.o CMakeFiles/nheko.dir/src/ui/RaisedButton.cpp.o CMakeFiles/nheko.dir/src/ui/Ripple.cpp.o CMakeFiles/nheko.dir/src/ui/RippleOverlay.cpp.o CMakeFiles/nheko.dir/src/ui/SnackBar.cpp.o CMakeFiles/nheko.dir/src/ui/TextField.cpp.o CMakeFiles/nheko.dir/src/ui/TextLabel.cpp.o CMakeFiles/nheko.dir/src/ui/Theme.cpp.o CMakeFiles/nheko.dir/src/ui/ThemeManager.cpp.o CMakeFiles/nheko.dir/src/ui/ToggleButton.cpp.o CMakeFiles/nheko.dir/src/ui/UserProfile.cpp.o CMakeFiles/nheko.dir/src/AvatarProvider.cpp.o CMakeFiles/nheko.dir/src/BlurhashProvider.cpp.o CMakeFiles/nheko.dir/src/Cache.cpp.o CMakeFiles/nheko.dir/src/CallManager.cpp.o CMakeFiles/nheko.dir/src/ChatPage.cpp.o CMakeFiles/nheko.dir/src/ColorImageProvider.cpp.o CMakeFiles/nheko.dir/src/CommunitiesList.cpp.o CMakeFiles/nheko.dir/src/CommunitiesListItem.cpp.o CMakeFiles/nheko.dir/src/CompletionProxyModel.cpp.o CMakeFiles/nheko.dir/src/DeviceVerificationFlow.cpp.o CMakeFiles/nheko.dir/src/EventAccessors.cpp.o CMakeFiles/nheko.dir/src/InviteeItem.cpp.o CMakeFiles/nheko.dir/src/Logging.cpp.o CMakeFiles/nheko.dir/src/LoginPage.cpp.o CMakeFiles/nheko.dir/src/MainWindow.cpp.o CMakeFiles/nheko.dir/src/MatrixClient.cpp.o CMakeFiles/nheko.dir/src/MxcImageProvider.cpp.o CMakeFiles/nheko.dir/src/Olm.cpp.o CMakeFiles/nheko.dir/src/QuickSwitcher.cpp.o CMakeFiles/nheko.dir/src/RegisterPage.cpp.o CMakeFiles/nheko.dir/src/RoomInfoListItem.cpp.o CMakeFiles/nheko.dir/src/RoomList.cpp.o CMakeFiles/nheko.dir/src/SSOHandler.cpp.o CMakeFiles/nheko.dir/src/SideBarActions.cpp.o CMakeFiles/nheko.dir/src/Splitter.cpp.o CMakeFiles/nheko.dir/src/TrayIcon.cpp.o CMakeFiles/nheko.dir/src/UserInfoWidget.cpp.o CMakeFiles/nheko.dir/src/UserSettingsPage.cpp.o CMakeFiles/nheko.dir/src/UsersModel.cpp.o CMakeFiles/nheko.dir/src/Utils.cpp.o CMakeFiles/nheko.dir/src/WebRTCSession.cpp.o CMakeFiles/nheko.dir/src/WelcomePage.cpp.o CMakeFiles/nheko.dir/src/popups/PopupItem.cpp.o CMakeFiles/nheko.dir/src/popups/SuggestionsPopup.cpp.o CMakeFiles/nheko.dir/src/popups/UserMentions.cpp.o CMakeFiles/nheko.dir/src/main.cpp.o CMakeFiles/nheko.dir/third_party/blurhash/blurhash.cpp.o CMakeFiles/nheko.dir/src/notifications/ManagerLinux.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_CreateRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_FallbackAuth.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_ImageOverlay.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_InviteUsers.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_JoinRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_LeaveRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_Logout.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_MemberList.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_PreviewUploadOverlay.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_RawMessage.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_ReCaptcha.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_ReadReceipts.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_RoomSettings.cpp.o CMakeFiles/nheko.dir/src/emoji/moc_EmojiModel.cpp.o CMakeFiles/nheko.dir/src/emoji/moc_Provider.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_EventStore.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_InputBar.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_Reaction.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_TimelineViewManager.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_TimelineModel.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_DelegateChooser.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Avatar.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Badge.cpp.o CMakeFiles/nheko.dir/src/ui/moc_LoadingIndicator.cpp.o CMakeFiles/nheko.dir/src/ui/moc_InfoMessage.cpp.o CMakeFiles/nheko.dir/src/ui/moc_FlatButton.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Label.cpp.o CMakeFiles/nheko.dir/src/ui/moc_FloatingButton.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Menu.cpp.o CMakeFiles/nheko.dir/src/ui/moc_NhekoDropArea.cpp.o CMakeFiles/nheko.dir/src/ui/moc_OverlayWidget.cpp.o CMakeFiles/nheko.dir/src/ui/moc_SnackBar.cpp.o CMakeFiles/nheko.dir/src/ui/moc_RaisedButton.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Ripple.cpp.o CMakeFiles/nheko.dir/src/ui/moc_RippleOverlay.cpp.o CMakeFiles/nheko.dir/src/ui/moc_TextField.cpp.o CMakeFiles/nheko.dir/src/ui/moc_TextLabel.cpp.o CMakeFiles/nheko.dir/src/ui/moc_ToggleButton.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Theme.cpp.o CMakeFiles/nheko.dir/src/ui/moc_ThemeManager.cpp.o CMakeFiles/nheko.dir/src/ui/moc_UserProfile.cpp.o CMakeFiles/nheko.dir/src/notifications/moc_Manager.cpp.o CMakeFiles/nheko.dir/src/moc_AvatarProvider.cpp.o CMakeFiles/nheko.dir/src/moc_BlurhashProvider.cpp.o CMakeFiles/nheko.dir/src/moc_Cache_p.cpp.o CMakeFiles/nheko.dir/src/moc_CallManager.cpp.o CMakeFiles/nheko.dir/src/moc_ChatPage.cpp.o CMakeFiles/nheko.dir/src/moc_CommunitiesList.cpp.o CMakeFiles/nheko.dir/src/moc_CommunitiesListItem.cpp.o CMakeFiles/nheko.dir/src/moc_CompletionProxyModel.cpp.o CMakeFiles/nheko.dir/src/moc_DeviceVerificationFlow.cpp.o CMakeFiles/nheko.dir/src/moc_InviteeItem.cpp.o CMakeFiles/nheko.dir/src/moc_LoginPage.cpp.o CMakeFiles/nheko.dir/src/moc_MainWindow.cpp.o CMakeFiles/nheko.dir/src/moc_MxcImageProvider.cpp.o CMakeFiles/nheko.dir/src/moc_QuickSwitcher.cpp.o CMakeFiles/nheko.dir/src/moc_RegisterPage.cpp.o CMakeFiles/nheko.dir/src/moc_RoomInfoListItem.cpp.o CMakeFiles/nheko.dir/src/moc_RoomList.cpp.o CMakeFiles/nheko.dir/src/moc_SSOHandler.cpp.o CMakeFiles/nheko.dir/src/moc_SideBarActions.cpp.o CMakeFiles/nheko.dir/src/moc_Splitter.cpp.o CMakeFiles/nheko.dir/src/moc_TrayIcon.cpp.o CMakeFiles/nheko.dir/src/moc_UserInfoWidget.cpp.o CMakeFiles/nheko.dir/src/moc_UserSettingsPage.cpp.o CMakeFiles/nheko.dir/src/moc_UsersModel.cpp.o CMakeFiles/nheko.dir/src/moc_WebRTCSession.cpp.o CMakeFiles/nheko.dir/src/moc_WelcomePage.cpp.o CMakeFiles/nheko.dir/src/popups/moc_PopupItem.cpp.o CMakeFiles/nheko.dir/src/popups/moc_SuggestionsPopup.cpp.o CMakeFiles/nheko.dir/src/popups/moc_UserMentions.cpp.o CMakeFiles/nheko.dir/qrc_translations.cpp.o CMakeFiles/nheko.dir/qrc_res.cpp.o -o nheko /usr/lib64/libmatrix_client.so.0.4.0 /usr/lib64/libboost_iostreams.so /usr/lib64/libboost_system.so /usr/lib64/libboost_thread.so /usr/lib64/libcmark.so /usr/lib64/libspdlog.so.1.8.2 /usr/lib64/libQt5Svg.so.5.15.2 /usr/lib64/libQt5Concurrent.so.5.15.2 /usr/lib64/libQt5Multimedia.so.5.15.2 /usr/lib64/libQt5QuickControls2.so.5.15.2 /usr/lib64/libQt5QuickWidgets.so.5.15.2 /usr/lib64/libqt5keychain.so.0.11.1 third_party/SingleApplication-3.2.0-dc8042b/libSingleApplication.a /usr/lib64/libboost_regex.so /usr/lib64/libboost_chrono.so /usr/lib64/libboost_date_time.so /usr/lib64/libboost_atomic.so /usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/lib64/libolm.so.3.2.1 -pthread /usr/lib64/libfmt.so.7.0.3 -Wl,--as-needed /usr/lib64/libQt5Quick.so.5.15.2 /usr/lib64/libQt5QmlModels.so.5.15.2 /usr/lib64/libQt5Qml.so.5.15.2 /usr/lib64/libQt5DBus.so.5.15.2 /usr/lib64/liblmdb.so /usr/lib64/libQt5Widgets.so.5.15.2 /usr/lib64/libQt5Gui.so.5.15.2 /usr/lib64/libQt5Network.so.5.15.2 /usr/lib64/libQt5Core.so.5.15.2 /usr/lib64/libgstwebrtc-1.0.so /usr/lib64/libgstsdp-1.0.so /usr/lib64/libgstrtp-1.0.so /usr/lib64/libgstbase-1.0.so /usr/lib64/libgstreamer-1.0.so /usr/lib64/libgobject-2.0.so /usr/lib64/libglib-2.0.so && : /usr/bin/ld: CMakeFiles/nheko.dir/src/dialogs/RoomSettings.cpp.o: in function `void mtx::http::Client::send_state_event<mtx::events::state::Avatar>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Avatar const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:671: undefined reference to `void mtx::http::Client::put<mtx::events::state::Avatar, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Avatar const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/dialogs/RoomSettings.cpp.o: in function `void mtx::http::Client::send_state_event<mtx::events::state::Name>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Name const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:671: undefined reference to `void mtx::http::Client::put<mtx::events::state::Name, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Name const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/dialogs/RoomSettings.cpp.o: in function `void mtx::http::Client::send_state_event<mtx::events::state::GuestAccess>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::GuestAccess const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:671: undefined reference to `void mtx::http::Client::put<mtx::events::state::GuestAccess, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::GuestAccess const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/dialogs/RoomSettings.cpp.o: in function `void mtx::http::Client::send_state_event<mtx::events::state::JoinRules>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::JoinRules const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:671: undefined reference to `void mtx::http::Client::put<mtx::events::state::JoinRules, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::JoinRules const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/dialogs/RoomSettings.cpp.o: in function `void mtx::http::Client::send_state_event<mtx::events::state::Topic>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Topic const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:671: undefined reference to `void mtx::http::Client::put<mtx::events::state::Topic, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Topic const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Encrypted>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Encrypted const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Encrypted, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Encrypted const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::StickerImage>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::StickerImage const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::StickerImage, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::StickerImage const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Reaction>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Reaction const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Reaction, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Reaction const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Audio>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Audio const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Audio, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Audio const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Emote>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Emote const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Emote, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Emote const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::File>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::File const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::File, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::File const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Image>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Image const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Image, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Image const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Notice>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Notice const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Notice, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Notice const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Text>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Text const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Text, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Text const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Video>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Video const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Video, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Video const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::CallInvite>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallInvite const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::CallInvite, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallInvite const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::CallCandidates>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallCandidates const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::CallCandidates, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallCandidates const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::CallAnswer>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallAnswer const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::CallAnswer, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallAnswer const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::CallHangUp>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallHangUp const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::CallHangUp, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallHangUp const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: CMakeFiles/nheko.dir/src/timeline/InputBar.cpp.o: in function `void mtx::http::Client::send_state_event<mtx::events::state::Member>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Member const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:671: undefined reference to `void mtx::http::Client::put<mtx::events::state::Member, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Member const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. Expected results: Successful build. Additional info:
Koji scratch build log: https://kojipkgs.fedoraproject.org//work/tasks/3795/60093795/build.log
The same problem, but only on s390x, even when building without LTO: [251/251] : && /usr/bin/g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -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=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -DNDEBUG -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld CMakeFiles/nheko.dir/src/dialogs/CreateRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/FallbackAuth.cpp.o CMakeFiles/nheko.dir/src/dialogs/ImageOverlay.cpp.o CMakeFiles/nheko.dir/src/dialogs/InviteUsers.cpp.o CMakeFiles/nheko.dir/src/dialogs/JoinRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/LeaveRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/Logout.cpp.o CMakeFiles/nheko.dir/src/dialogs/MemberList.cpp.o CMakeFiles/nheko.dir/src/dialogs/PreviewUploadOverlay.cpp.o CMakeFiles/nheko.dir/src/dialogs/ReCaptcha.cpp.o CMakeFiles/nheko.dir/src/dialogs/ReadReceipts.cpp.o CMakeFiles/nheko.dir/src/dialogs/RoomSettings.cpp.o CMakeFiles/nheko.dir/src/emoji/EmojiModel.cpp.o CMakeFiles/nheko.dir/src/emoji/Provider_new.cpp.o CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o CMakeFiles/nheko.dir/src/timeline/InputBar.cpp.o CMakeFiles/nheko.dir/src/timeline/Reaction.cpp.o CMakeFiles/nheko.dir/src/timeline/TimelineViewManager.cpp.o CMakeFiles/nheko.dir/src/timeline/TimelineModel.cpp.o CMakeFiles/nheko.dir/src/timeline/DelegateChooser.cpp.o CMakeFiles/nheko.dir/src/ui/Avatar.cpp.o CMakeFiles/nheko.dir/src/ui/Badge.cpp.o CMakeFiles/nheko.dir/src/ui/DropShadow.cpp.o CMakeFiles/nheko.dir/src/ui/FlatButton.cpp.o CMakeFiles/nheko.dir/src/ui/FloatingButton.cpp.o CMakeFiles/nheko.dir/src/ui/InfoMessage.cpp.o CMakeFiles/nheko.dir/src/ui/Label.cpp.o CMakeFiles/nheko.dir/src/ui/LoadingIndicator.cpp.o CMakeFiles/nheko.dir/src/ui/NhekoDropArea.cpp.o CMakeFiles/nheko.dir/src/ui/OverlayModal.cpp.o CMakeFiles/nheko.dir/src/ui/OverlayWidget.cpp.o CMakeFiles/nheko.dir/src/ui/RaisedButton.cpp.o CMakeFiles/nheko.dir/src/ui/Ripple.cpp.o CMakeFiles/nheko.dir/src/ui/RippleOverlay.cpp.o CMakeFiles/nheko.dir/src/ui/SnackBar.cpp.o CMakeFiles/nheko.dir/src/ui/TextField.cpp.o CMakeFiles/nheko.dir/src/ui/TextLabel.cpp.o CMakeFiles/nheko.dir/src/ui/Theme.cpp.o CMakeFiles/nheko.dir/src/ui/ThemeManager.cpp.o CMakeFiles/nheko.dir/src/ui/ToggleButton.cpp.o CMakeFiles/nheko.dir/src/ui/UserProfile.cpp.o CMakeFiles/nheko.dir/src/AvatarProvider.cpp.o CMakeFiles/nheko.dir/src/BlurhashProvider.cpp.o CMakeFiles/nheko.dir/src/Cache.cpp.o CMakeFiles/nheko.dir/src/CallManager.cpp.o CMakeFiles/nheko.dir/src/ChatPage.cpp.o CMakeFiles/nheko.dir/src/ColorImageProvider.cpp.o CMakeFiles/nheko.dir/src/CommunitiesList.cpp.o CMakeFiles/nheko.dir/src/CommunitiesListItem.cpp.o CMakeFiles/nheko.dir/src/CompletionProxyModel.cpp.o CMakeFiles/nheko.dir/src/DeviceVerificationFlow.cpp.o CMakeFiles/nheko.dir/src/EventAccessors.cpp.o CMakeFiles/nheko.dir/src/InviteeItem.cpp.o CMakeFiles/nheko.dir/src/Logging.cpp.o CMakeFiles/nheko.dir/src/LoginPage.cpp.o CMakeFiles/nheko.dir/src/MainWindow.cpp.o CMakeFiles/nheko.dir/src/MatrixClient.cpp.o CMakeFiles/nheko.dir/src/MxcImageProvider.cpp.o CMakeFiles/nheko.dir/src/Olm.cpp.o CMakeFiles/nheko.dir/src/QuickSwitcher.cpp.o CMakeFiles/nheko.dir/src/RegisterPage.cpp.o CMakeFiles/nheko.dir/src/RoomInfoListItem.cpp.o CMakeFiles/nheko.dir/src/RoomList.cpp.o CMakeFiles/nheko.dir/src/SSOHandler.cpp.o CMakeFiles/nheko.dir/src/SideBarActions.cpp.o CMakeFiles/nheko.dir/src/Splitter.cpp.o CMakeFiles/nheko.dir/src/TrayIcon.cpp.o CMakeFiles/nheko.dir/src/UserInfoWidget.cpp.o CMakeFiles/nheko.dir/src/UserSettingsPage.cpp.o CMakeFiles/nheko.dir/src/UsersModel.cpp.o CMakeFiles/nheko.dir/src/Utils.cpp.o CMakeFiles/nheko.dir/src/WebRTCSession.cpp.o CMakeFiles/nheko.dir/src/WelcomePage.cpp.o CMakeFiles/nheko.dir/src/popups/PopupItem.cpp.o CMakeFiles/nheko.dir/src/popups/SuggestionsPopup.cpp.o CMakeFiles/nheko.dir/src/popups/UserMentions.cpp.o CMakeFiles/nheko.dir/src/main.cpp.o CMakeFiles/nheko.dir/third_party/blurhash/blurhash.cpp.o CMakeFiles/nheko.dir/src/notifications/ManagerLinux.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_CreateRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_FallbackAuth.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_ImageOverlay.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_InviteUsers.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_JoinRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_LeaveRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_Logout.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_MemberList.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_PreviewUploadOverlay.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_RawMessage.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_ReCaptcha.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_ReadReceipts.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_RoomSettings.cpp.o CMakeFiles/nheko.dir/src/emoji/moc_EmojiModel.cpp.o CMakeFiles/nheko.dir/src/emoji/moc_Provider.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_EventStore.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_InputBar.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_Reaction.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_TimelineViewManager.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_TimelineModel.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_DelegateChooser.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Avatar.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Badge.cpp.o CMakeFiles/nheko.dir/src/ui/moc_LoadingIndicator.cpp.o CMakeFiles/nheko.dir/src/ui/moc_InfoMessage.cpp.o CMakeFiles/nheko.dir/src/ui/moc_FlatButton.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Label.cpp.o CMakeFiles/nheko.dir/src/ui/moc_FloatingButton.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Menu.cpp.o CMakeFiles/nheko.dir/src/ui/moc_NhekoDropArea.cpp.o CMakeFiles/nheko.dir/src/ui/moc_OverlayWidget.cpp.o CMakeFiles/nheko.dir/src/ui/moc_SnackBar.cpp.o CMakeFiles/nheko.dir/src/ui/moc_RaisedButton.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Ripple.cpp.o CMakeFiles/nheko.dir/src/ui/moc_RippleOverlay.cpp.o CMakeFiles/nheko.dir/src/ui/moc_TextField.cpp.o CMakeFiles/nheko.dir/src/ui/moc_TextLabel.cpp.o CMakeFiles/nheko.dir/src/ui/moc_ToggleButton.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Theme.cpp.o CMakeFiles/nheko.dir/src/ui/moc_ThemeManager.cpp.o CMakeFiles/nheko.dir/src/ui/moc_UserProfile.cpp.o CMakeFiles/nheko.dir/src/notifications/moc_Manager.cpp.o CMakeFiles/nheko.dir/src/moc_AvatarProvider.cpp.o CMakeFiles/nheko.dir/src/moc_BlurhashProvider.cpp.o CMakeFiles/nheko.dir/src/moc_Cache_p.cpp.o CMakeFiles/nheko.dir/src/moc_CallManager.cpp.o CMakeFiles/nheko.dir/src/moc_ChatPage.cpp.o CMakeFiles/nheko.dir/src/moc_CommunitiesList.cpp.o CMakeFiles/nheko.dir/src/moc_CommunitiesListItem.cpp.o CMakeFiles/nheko.dir/src/moc_CompletionProxyModel.cpp.o CMakeFiles/nheko.dir/src/moc_DeviceVerificationFlow.cpp.o CMakeFiles/nheko.dir/src/moc_InviteeItem.cpp.o CMakeFiles/nheko.dir/src/moc_LoginPage.cpp.o CMakeFiles/nheko.dir/src/moc_MainWindow.cpp.o CMakeFiles/nheko.dir/src/moc_MxcImageProvider.cpp.o CMakeFiles/nheko.dir/src/moc_QuickSwitcher.cpp.o CMakeFiles/nheko.dir/src/moc_RegisterPage.cpp.o CMakeFiles/nheko.dir/src/moc_RoomInfoListItem.cpp.o CMakeFiles/nheko.dir/src/moc_RoomList.cpp.o CMakeFiles/nheko.dir/src/moc_SSOHandler.cpp.o CMakeFiles/nheko.dir/src/moc_SideBarActions.cpp.o CMakeFiles/nheko.dir/src/moc_Splitter.cpp.o CMakeFiles/nheko.dir/src/moc_TrayIcon.cpp.o CMakeFiles/nheko.dir/src/moc_UserInfoWidget.cpp.o CMakeFiles/nheko.dir/src/moc_UserSettingsPage.cpp.o CMakeFiles/nheko.dir/src/moc_UsersModel.cpp.o CMakeFiles/nheko.dir/src/moc_WebRTCSession.cpp.o CMakeFiles/nheko.dir/src/moc_WelcomePage.cpp.o CMakeFiles/nheko.dir/src/popups/moc_PopupItem.cpp.o CMakeFiles/nheko.dir/src/popups/moc_SuggestionsPopup.cpp.o CMakeFiles/nheko.dir/src/popups/moc_UserMentions.cpp.o CMakeFiles/nheko.dir/qrc_translations.cpp.o CMakeFiles/nheko.dir/qrc_res.cpp.o -o nheko /usr/lib64/libmatrix_client.so.0.4.0 /usr/lib64/libboost_iostreams.so /usr/lib64/libboost_system.so /usr/lib64/libboost_thread.so /usr/lib64/libcmark.so /usr/lib64/libspdlog.so.1.8.2 /usr/lib64/libQt5Svg.so.5.15.2 /usr/lib64/libQt5Concurrent.so.5.15.2 /usr/lib64/libQt5Multimedia.so.5.15.2 /usr/lib64/libQt5QuickControls2.so.5.15.2 /usr/lib64/libQt5QuickWidgets.so.5.15.2 /usr/lib64/libqt5keychain.so.0.11.1 third_party/SingleApplication-3.2.0-dc8042b/libSingleApplication.a /usr/lib64/libboost_regex.so /usr/lib64/libboost_chrono.so /usr/lib64/libboost_date_time.so /usr/lib64/libboost_atomic.so /usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/lib64/libolm.so.3.2.1 -pthread /usr/lib64/libfmt.so.7.0.3 -Wl,--as-needed /usr/lib64/libQt5Quick.so.5.15.2 /usr/lib64/libQt5QmlModels.so.5.15.2 /usr/lib64/libQt5Qml.so.5.15.2 /usr/lib64/libQt5DBus.so.5.15.2 /usr/lib64/liblmdb.so /usr/lib64/libQt5Widgets.so.5.15.2 /usr/lib64/libQt5Gui.so.5.15.2 /usr/lib64/libQt5Network.so.5.15.2 /usr/lib64/libQt5Core.so.5.15.2 /usr/lib64/libgstwebrtc-1.0.so /usr/lib64/libgstsdp-1.0.so /usr/lib64/libgstrtp-1.0.so /usr/lib64/libgstbase-1.0.so /usr/lib64/libgstreamer-1.0.so /usr/lib64/libgobject-2.0.so /usr/lib64/libglib-2.0.so && : FAILED: nheko : && /usr/bin/g++ -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -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=zEC12 -mtune=z13 -fasynchronous-unwind-tables -fstack-clash-protection -Wall -Wextra -pipe -pedantic -fsized-deallocation -fdiagnostics-color=always -Wunreachable-code -Wno-attributes -DNDEBUG -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld CMakeFiles/nheko.dir/src/dialogs/CreateRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/FallbackAuth.cpp.o CMakeFiles/nheko.dir/src/dialogs/ImageOverlay.cpp.o CMakeFiles/nheko.dir/src/dialogs/InviteUsers.cpp.o CMakeFiles/nheko.dir/src/dialogs/JoinRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/LeaveRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/Logout.cpp.o CMakeFiles/nheko.dir/src/dialogs/MemberList.cpp.o CMakeFiles/nheko.dir/src/dialogs/PreviewUploadOverlay.cpp.o CMakeFiles/nheko.dir/src/dialogs/ReCaptcha.cpp.o CMakeFiles/nheko.dir/src/dialogs/ReadReceipts.cpp.o CMakeFiles/nheko.dir/src/dialogs/RoomSettings.cpp.o CMakeFiles/nheko.dir/src/emoji/EmojiModel.cpp.o CMakeFiles/nheko.dir/src/emoji/Provider_new.cpp.o CMakeFiles/nheko.dir/src/timeline/EventStore.cpp.o CMakeFiles/nheko.dir/src/timeline/InputBar.cpp.o CMakeFiles/nheko.dir/src/timeline/Reaction.cpp.o CMakeFiles/nheko.dir/src/timeline/TimelineViewManager.cpp.o CMakeFiles/nheko.dir/src/timeline/TimelineModel.cpp.o CMakeFiles/nheko.dir/src/timeline/DelegateChooser.cpp.o CMakeFiles/nheko.dir/src/ui/Avatar.cpp.o CMakeFiles/nheko.dir/src/ui/Badge.cpp.o CMakeFiles/nheko.dir/src/ui/DropShadow.cpp.o CMakeFiles/nheko.dir/src/ui/FlatButton.cpp.o CMakeFiles/nheko.dir/src/ui/FloatingButton.cpp.o CMakeFiles/nheko.dir/src/ui/InfoMessage.cpp.o CMakeFiles/nheko.dir/src/ui/Label.cpp.o CMakeFiles/nheko.dir/src/ui/LoadingIndicator.cpp.o CMakeFiles/nheko.dir/src/ui/NhekoDropArea.cpp.o CMakeFiles/nheko.dir/src/ui/OverlayModal.cpp.o CMakeFiles/nheko.dir/src/ui/OverlayWidget.cpp.o CMakeFiles/nheko.dir/src/ui/RaisedButton.cpp.o CMakeFiles/nheko.dir/src/ui/Ripple.cpp.o CMakeFiles/nheko.dir/src/ui/RippleOverlay.cpp.o CMakeFiles/nheko.dir/src/ui/SnackBar.cpp.o CMakeFiles/nheko.dir/src/ui/TextField.cpp.o CMakeFiles/nheko.dir/src/ui/TextLabel.cpp.o CMakeFiles/nheko.dir/src/ui/Theme.cpp.o CMakeFiles/nheko.dir/src/ui/ThemeManager.cpp.o CMakeFiles/nheko.dir/src/ui/ToggleButton.cpp.o CMakeFiles/nheko.dir/src/ui/UserProfile.cpp.o CMakeFiles/nheko.dir/src/AvatarProvider.cpp.o CMakeFiles/nheko.dir/src/BlurhashProvider.cpp.o CMakeFiles/nheko.dir/src/Cache.cpp.o CMakeFiles/nheko.dir/src/CallManager.cpp.o CMakeFiles/nheko.dir/src/ChatPage.cpp.o CMakeFiles/nheko.dir/src/ColorImageProvider.cpp.o CMakeFiles/nheko.dir/src/CommunitiesList.cpp.o CMakeFiles/nheko.dir/src/CommunitiesListItem.cpp.o CMakeFiles/nheko.dir/src/CompletionProxyModel.cpp.o CMakeFiles/nheko.dir/src/DeviceVerificationFlow.cpp.o CMakeFiles/nheko.dir/src/EventAccessors.cpp.o CMakeFiles/nheko.dir/src/InviteeItem.cpp.o CMakeFiles/nheko.dir/src/Logging.cpp.o CMakeFiles/nheko.dir/src/LoginPage.cpp.o CMakeFiles/nheko.dir/src/MainWindow.cpp.o CMakeFiles/nheko.dir/src/MatrixClient.cpp.o CMakeFiles/nheko.dir/src/MxcImageProvider.cpp.o CMakeFiles/nheko.dir/src/Olm.cpp.o CMakeFiles/nheko.dir/src/QuickSwitcher.cpp.o CMakeFiles/nheko.dir/src/RegisterPage.cpp.o CMakeFiles/nheko.dir/src/RoomInfoListItem.cpp.o CMakeFiles/nheko.dir/src/RoomList.cpp.o CMakeFiles/nheko.dir/src/SSOHandler.cpp.o CMakeFiles/nheko.dir/src/SideBarActions.cpp.o CMakeFiles/nheko.dir/src/Splitter.cpp.o CMakeFiles/nheko.dir/src/TrayIcon.cpp.o CMakeFiles/nheko.dir/src/UserInfoWidget.cpp.o CMakeFiles/nheko.dir/src/UserSettingsPage.cpp.o CMakeFiles/nheko.dir/src/UsersModel.cpp.o CMakeFiles/nheko.dir/src/Utils.cpp.o CMakeFiles/nheko.dir/src/WebRTCSession.cpp.o CMakeFiles/nheko.dir/src/WelcomePage.cpp.o CMakeFiles/nheko.dir/src/popups/PopupItem.cpp.o CMakeFiles/nheko.dir/src/popups/SuggestionsPopup.cpp.o CMakeFiles/nheko.dir/src/popups/UserMentions.cpp.o CMakeFiles/nheko.dir/src/main.cpp.o CMakeFiles/nheko.dir/third_party/blurhash/blurhash.cpp.o CMakeFiles/nheko.dir/src/notifications/ManagerLinux.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_CreateRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_FallbackAuth.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_ImageOverlay.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_InviteUsers.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_JoinRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_LeaveRoom.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_Logout.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_MemberList.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_PreviewUploadOverlay.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_RawMessage.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_ReCaptcha.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_ReadReceipts.cpp.o CMakeFiles/nheko.dir/src/dialogs/moc_RoomSettings.cpp.o CMakeFiles/nheko.dir/src/emoji/moc_EmojiModel.cpp.o CMakeFiles/nheko.dir/src/emoji/moc_Provider.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_EventStore.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_InputBar.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_Reaction.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_TimelineViewManager.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_TimelineModel.cpp.o CMakeFiles/nheko.dir/src/timeline/moc_DelegateChooser.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Avatar.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Badge.cpp.o CMakeFiles/nheko.dir/src/ui/moc_LoadingIndicator.cpp.o CMakeFiles/nheko.dir/src/ui/moc_InfoMessage.cpp.o CMakeFiles/nheko.dir/src/ui/moc_FlatButton.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Label.cpp.o CMakeFiles/nheko.dir/src/ui/moc_FloatingButton.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Menu.cpp.o CMakeFiles/nheko.dir/src/ui/moc_NhekoDropArea.cpp.o CMakeFiles/nheko.dir/src/ui/moc_OverlayWidget.cpp.o CMakeFiles/nheko.dir/src/ui/moc_SnackBar.cpp.o CMakeFiles/nheko.dir/src/ui/moc_RaisedButton.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Ripple.cpp.o CMakeFiles/nheko.dir/src/ui/moc_RippleOverlay.cpp.o CMakeFiles/nheko.dir/src/ui/moc_TextField.cpp.o CMakeFiles/nheko.dir/src/ui/moc_TextLabel.cpp.o CMakeFiles/nheko.dir/src/ui/moc_ToggleButton.cpp.o CMakeFiles/nheko.dir/src/ui/moc_Theme.cpp.o CMakeFiles/nheko.dir/src/ui/moc_ThemeManager.cpp.o CMakeFiles/nheko.dir/src/ui/moc_UserProfile.cpp.o CMakeFiles/nheko.dir/src/notifications/moc_Manager.cpp.o CMakeFiles/nheko.dir/src/moc_AvatarProvider.cpp.o CMakeFiles/nheko.dir/src/moc_BlurhashProvider.cpp.o CMakeFiles/nheko.dir/src/moc_Cache_p.cpp.o CMakeFiles/nheko.dir/src/moc_CallManager.cpp.o CMakeFiles/nheko.dir/src/moc_ChatPage.cpp.o CMakeFiles/nheko.dir/src/moc_CommunitiesList.cpp.o CMakeFiles/nheko.dir/src/moc_CommunitiesListItem.cpp.o CMakeFiles/nheko.dir/src/moc_CompletionProxyModel.cpp.o CMakeFiles/nheko.dir/src/moc_DeviceVerificationFlow.cpp.o CMakeFiles/nheko.dir/src/moc_InviteeItem.cpp.o CMakeFiles/nheko.dir/src/moc_LoginPage.cpp.o CMakeFiles/nheko.dir/src/moc_MainWindow.cpp.o CMakeFiles/nheko.dir/src/moc_MxcImageProvider.cpp.o CMakeFiles/nheko.dir/src/moc_QuickSwitcher.cpp.o CMakeFiles/nheko.dir/src/moc_RegisterPage.cpp.o CMakeFiles/nheko.dir/src/moc_RoomInfoListItem.cpp.o CMakeFiles/nheko.dir/src/moc_RoomList.cpp.o CMakeFiles/nheko.dir/src/moc_SSOHandler.cpp.o CMakeFiles/nheko.dir/src/moc_SideBarActions.cpp.o CMakeFiles/nheko.dir/src/moc_Splitter.cpp.o CMakeFiles/nheko.dir/src/moc_TrayIcon.cpp.o CMakeFiles/nheko.dir/src/moc_UserInfoWidget.cpp.o CMakeFiles/nheko.dir/src/moc_UserSettingsPage.cpp.o CMakeFiles/nheko.dir/src/moc_UsersModel.cpp.o CMakeFiles/nheko.dir/src/moc_WebRTCSession.cpp.o CMakeFiles/nheko.dir/src/moc_WelcomePage.cpp.o CMakeFiles/nheko.dir/src/popups/moc_PopupItem.cpp.o CMakeFiles/nheko.dir/src/popups/moc_SuggestionsPopup.cpp.o CMakeFiles/nheko.dir/src/popups/moc_UserMentions.cpp.o CMakeFiles/nheko.dir/qrc_translations.cpp.o CMakeFiles/nheko.dir/qrc_res.cpp.o -o nheko /usr/lib64/libmatrix_client.so.0.4.0 /usr/lib64/libboost_iostreams.so /usr/lib64/libboost_system.so /usr/lib64/libboost_thread.so /usr/lib64/libcmark.so /usr/lib64/libspdlog.so.1.8.2 /usr/lib64/libQt5Svg.so.5.15.2 /usr/lib64/libQt5Concurrent.so.5.15.2 /usr/lib64/libQt5Multimedia.so.5.15.2 /usr/lib64/libQt5QuickControls2.so.5.15.2 /usr/lib64/libQt5QuickWidgets.so.5.15.2 /usr/lib64/libqt5keychain.so.0.11.1 third_party/SingleApplication-3.2.0-dc8042b/libSingleApplication.a /usr/lib64/libboost_regex.so /usr/lib64/libboost_chrono.so /usr/lib64/libboost_date_time.so /usr/lib64/libboost_atomic.so /usr/lib64/libssl.so /usr/lib64/libcrypto.so /usr/lib64/libolm.so.3.2.1 -pthread /usr/lib64/libfmt.so.7.0.3 -Wl,--as-needed /usr/lib64/libQt5Quick.so.5.15.2 /usr/lib64/libQt5QmlModels.so.5.15.2 /usr/lib64/libQt5Qml.so.5.15.2 /usr/lib64/libQt5DBus.so.5.15.2 /usr/lib64/liblmdb.so /usr/lib64/libQt5Widgets.so.5.15.2 /usr/lib64/libQt5Gui.so.5.15.2 /usr/lib64/libQt5Network.so.5.15.2 /usr/lib64/libQt5Core.so.5.15.2 /usr/lib64/libgstwebrtc-1.0.so /usr/lib64/libgstsdp-1.0.so /usr/lib64/libgstrtp-1.0.so /usr/lib64/libgstbase-1.0.so /usr/lib64/libgstreamer-1.0.so /usr/lib64/libgobject-2.0.so /usr/lib64/libglib-2.0.so && : /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans0.ltrans.o: in function `void mtx::http::Client::send_state_event<mtx::events::state::Name>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Name const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:671: undefined reference to `void mtx::http::Client::put<mtx::events::state::Name, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Name const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans0.ltrans.o: in function `void mtx::http::Client::send_state_event<mtx::events::state::Topic>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Topic const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:671: undefined reference to `void mtx::http::Client::put<mtx::events::state::Topic, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Topic const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans1.ltrans.o: in function `void mtx::http::Client::send_state_event<mtx::events::state::GuestAccess>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::GuestAccess const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:671: undefined reference to `void mtx::http::Client::put<mtx::events::state::GuestAccess, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::GuestAccess const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans1.ltrans.o: in function `void mtx::http::Client::send_state_event<mtx::events::state::JoinRules>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::JoinRules const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:671: undefined reference to `void mtx::http::Client::put<mtx::events::state::JoinRules, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::JoinRules const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans1.ltrans.o: in function `void mtx::http::Client::send_state_event<mtx::events::state::Avatar>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Avatar const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:671: undefined reference to `void mtx::http::Client::put<mtx::events::state::Avatar, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Avatar const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans2.ltrans.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Encrypted>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Encrypted const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Encrypted, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Encrypted const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans2.ltrans.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::StickerImage>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::StickerImage const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::StickerImage, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::StickerImage const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans3.ltrans.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Reaction>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Reaction const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Reaction, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Reaction const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans3.ltrans.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Audio>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Audio const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Audio, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Audio const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans3.ltrans.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Emote>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Emote const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Emote, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Emote const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans3.ltrans.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::File>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::File const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::File, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::File const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans3.ltrans.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Image>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Image const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Image, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Image const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans3.ltrans.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Notice>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Notice const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Notice, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Notice const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans3.ltrans.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Text>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Text const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Text, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Text const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans3.ltrans.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::Video>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Video const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::Video, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::Video const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans3.ltrans.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::CallInvite>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallInvite const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::CallInvite, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallInvite const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans3.ltrans.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::CallCandidates>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallCandidates const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::CallCandidates, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallCandidates const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans3.ltrans.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::CallAnswer>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallAnswer const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::CallAnswer, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallAnswer const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans3.ltrans.o: in function `void mtx::http::Client::send_room_message<mtx::events::msg::CallHangUp>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallHangUp const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:654: undefined reference to `void mtx::http::Client::put<mtx::events::msg::CallHangUp, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::msg::CallHangUp const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' /usr/bin/ld: /tmp/nheko.rZ2QJY.ltrans6.ltrans.o: in function `void mtx::http::Client::send_state_event<mtx::events::state::Member>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Member const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>)': /usr/include/mtxclient/http/client.hpp:671: undefined reference to `void mtx::http::Client::put<mtx::events::state::Member, mtx::responses::EventId>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, mtx::events::state::Member const&, std::function<void (mtx::responses::EventId const&, std::optional<mtx::http::ClientError> const&)>, bool)' collect2: error: ld returned 1 exit status
Most likely that is relying on something else instantiating templates for you when that isn't guaranteed.
FWIW, that package was building fine back in late December. But I basically agree with Jakub, lots of code tends to get template instantiation wrong. That's where I'd start looking first as well. I know I fixed a bunch of those kinds of issues in various packages over the last couple years.
FYI https://bugzilla.mozilla.org/show_bug.cgi?id=1556931 shows a fix for a possibly similar issue
It builds fine with disabled LTO on all architectures, except the s390x.
ACK. Both of those are strong signals that this is a template instantiation issue.
In F33 s390x gcc has significantly different inlining heuristics default parameters from other arches, so it inlines a lot more.
This is 100% a template instantiation issue. Instead of repeating that it worked before, look at the code, and fix it. include/mtxclient/http/client.hpp has a declaration of template member functions mtx::http::Client::put but they are not defined before being instantiated. Either they need to be defined in that header, or an explicit specialization or explicit instantiation needs to be declared, so that the compiler won't try to instantiate it implicitly.
(In reply to Jonathan Wakely from comment #9) > ... or an explicit > specialization or explicit instantiation needs to be declared, so that the > compiler won't try to instantiate it implicitly. and then in some other file, provide the instantations/specializations that you declared. The current code is not valid C++, and this is not a GCC bug.
Fixed: https://github.com/Nheko-Reborn/mtxclient/commit/ea8bccf111ee9af510c3a28ff8a30e9b16e2ff66