Bug 1918332 - GCC LTO build regression
Summary: GCC LTO build regression
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: mtxclient
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Vitaly
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-01-20 13:27 UTC by Vitaly
Modified: 2021-01-20 21:37 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-01-20 21:37:15 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Vitaly 2021-01-20 13:27:56 UTC
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:

Comment 1 Vitaly 2021-01-20 13:29:02 UTC
Koji scratch build log: https://kojipkgs.fedoraproject.org//work/tasks/3795/60093795/build.log

Comment 2 Vitaly 2021-01-20 14:47:54 UTC
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

Comment 3 Jakub Jelinek 2021-01-20 15:01:58 UTC
Most likely that is relying on something else instantiating templates for you when that isn't guaranteed.

Comment 4 Jeff Law 2021-01-20 16:32:56 UTC
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.

Comment 5 Dan Horák 2021-01-20 17:30:36 UTC
FYI https://bugzilla.mozilla.org/show_bug.cgi?id=1556931 shows a fix for a possibly similar issue

Comment 6 Vitaly 2021-01-20 17:40:15 UTC
It builds fine with disabled LTO on all architectures, except the s390x.

Comment 7 Jeff Law 2021-01-20 17:44:57 UTC
ACK.  Both of those are strong signals that this is a template instantiation issue.

Comment 8 Jakub Jelinek 2021-01-20 17:46:27 UTC
In F33 s390x gcc has significantly different inlining heuristics default parameters from other arches, so it inlines a lot more.

Comment 9 Jonathan Wakely 2021-01-20 17:54:22 UTC
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.

Comment 10 Jonathan Wakely 2021-01-20 17:55:44 UTC
(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.


Note You need to log in before you can comment on or make changes to this bug.