Closed alphapapa closed 6 years ago
Nothing changed as you can see in the releases. It's probably something related to your backup.
No, I mean the binary executable created by the nheko build process is 81 MB. I only noticed because I noticed the size of my backup increased, which was due to that file.
You can do a git bisect
to find the problem.
Ok, apparently this is not a new problem, and I was mistaken about the earlier binary sizes. The earliest nheko binary I have backed up is from 2018-01-06, and it was 73 MB. I ran a bisect script to find binaries smaller than about 20 MB:
#!/bin/bash
function die {
exit 125
}
cd ~/tmp/src/nheko || die
git clean -dxf || die
export CC=clang-3.6 CXX=clang++-3.6
ni make clean || die
ni cmake -H. -Bbuild -DCMAKE_PREFIX_PATH=/opt/qt59/ || die
ni make -C build || die
size=($(du -b build/nheko)) || die
[[ ${size[0]} -lt 20000000 ]]
And it stopped when it got to commit f8505fe0bc2f8c7481067c9dca0ba597591059cf from Sun Aug 13 21:04:43 2017 +0300, which built a 22 MB nheko
executable.
Since then, features have been added, so the size increased, I guess.
But why is the binary so large? ldd
shows that it links to many libraries:
$ ldd nheko
linux-vdso.so.1 => (0x00007ffddfdf0000)
libQt5Widgets.so.5 => /opt/qt59/lib/libQt5Widgets.so.5 (0x00007fc43dfa4000)
libQt5Concurrent.so.5 => /opt/qt59/lib/libQt5Concurrent.so.5 (0x00007fc43df9c000)
liblmdb.so.0 => /usr/lib/x86_64-linux-gnu/liblmdb.so.0 (0x00007fc43dd54000)
libQt5Multimedia.so.5 => /opt/qt59/lib/libQt5Multimedia.so.5 (0x00007fc43dc44000)
libQt5Network.so.5 => /opt/qt59/lib/libQt5Network.so.5 (0x00007fc43dabd000)
libQt5Gui.so.5 => /opt/qt59/lib/libQt5Gui.so.5 (0x00007fc43d554000)
libQt5Core.so.5 => /opt/qt59/lib/libQt5Core.so.5 (0x00007fc43d01b000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fc43cd08000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fc43ca01000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fc43c7ea000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fc43c421000)
/lib64/ld-linux-x86-64.so.2 (0x00005628f602c000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fc43c202000)
libpulse.so.0 => /usr/lib/x86_64-linux-gnu/libpulse.so.0 (0x00007fc43bfb9000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fc43bd9f000)
libGL.so.1 => /usr/lib/fglrx/libGL.so.1 (0x00007fc43bba2000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007fc43b97c000)
libicui18n.so.52 => /usr/lib/x86_64-linux-gnu/libicui18n.so.52 (0x00007fc43b574000)
libicuuc.so.52 => /usr/lib/x86_64-linux-gnu/libicuuc.so.52 (0x00007fc43b1fb000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fc43aff7000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fc43acee000)
libjson-c.so.2 => /lib/x86_64-linux-gnu/libjson-c.so.2 (0x00007fc43aae3000)
libpulsecommon-4.0.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-4.0.so (0x00007fc43a87b000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007fc43a636000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fc43a424000)
libicudata.so.52 => /usr/lib/x86_64-linux-gnu/libicudata.so.52 (0x00007fc438bb6000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fc438978000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fc438758000)
libwrap.so.0 => /lib/x86_64-linux-gnu/libwrap.so.0 (0x00007fc43854e000)
libsndfile.so.1 => /usr/lib/x86_64-linux-gnu/libsndfile.so.1 (0x00007fc4382e6000)
libasyncns.so.0 => /usr/lib/x86_64-linux-gnu/libasyncns.so.0 (0x00007fc4380df000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fc437ed7000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fc437ba2000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fc43799d000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fc437797000)
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007fc43757d000)
libFLAC.so.8 => /usr/lib/x86_64-linux-gnu/libFLAC.so.8 (0x00007fc43734b000)
libvorbisenc.so.2 => /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2 (0x00007fc436e7c000)
libvorbis.so.0 => /usr/lib/x86_64-linux-gnu/libvorbis.so.0 (0x00007fc436c4f000)
libogg.so.0 => /usr/lib/x86_64-linux-gnu/libogg.so.0 (0x00007fc436a45000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007fc43682a000)
So what is causing the binary to be so large? 81 MB is just crazy big.
That's odd. The AppImage is only 50MB (check releases) and has everything copied over (not dynamically linked). Please add some info about your system, compiler and build type.
e.g In my system (Arch linux) a RelWithDebInfo
build is 6.9MB. On macOs a Debug
build is 16MB.
Just to be sure. Try make clean
and make release
and post binary's size.
Well, now I can't build it anymore:
$ make clean; cmake -H. -Bbuild -DCMAKE_PREFIX_PATH=/opt/qt59/; ni make -C build
rm -rf build
-- The C compiler identification is Clang 3.6.0
-- The CXX compiler identification is Clang 3.6.0
-- Check for working C compiler: /usr/bin/clang-3.6
-- Check for working C compiler: /usr/bin/clang-3.6 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/clang++-3.6
-- Check for working CXX compiler: /usr/bin/clang++-3.6 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found LMDB: /usr/include
Setting build type to 'Debug'
-- Version: 0.1.0-c4fa8c8
-- Found Doxygen: /usr/local/bin/doxygen (found version "1.8.9.1")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/me/tmp/src/nheko/build
make: Entering directory `/home/me/tmp/src/nheko/build'
make[1]: Entering directory `/home/me/tmp/src/nheko/build'
make[2]: Entering directory `/home/me/tmp/src/nheko/build'
make[2]: Entering directory `/home/me/tmp/src/nheko/build'
Scanning dependencies of target LANG_QRC
Scanning dependencies of target matrix_structs
make[2]: Leaving directory `/home/me/tmp/src/nheko/build'
make[2]: Entering directory `/home/me/tmp/src/nheko/build'
[ 0%] [ 1%] [ 1%] Generating nheko_de.qm
Generating nheko_el.qm
Updating '/home/me/tmp/src/nheko/build/nheko_el.qm'...
Generated 34 translation(s) (34 finished and 0 unfinished)
Generating nheko_nl.qm
make[2]: Leaving directory `/home/me/tmp/src/nheko/build'
Updating '/home/me/tmp/src/nheko/build/nheko_nl.qm'...
Generated 34 translation(s) (33 finished and 1 unfinished)
make[2]: Entering directory `/home/me/tmp/src/nheko/build'
[ 1%] Updating '/home/me/tmp/src/nheko/build/nheko_de.qm'...
Generated 34 translation(s) (34 finished and 0 unfinished)
[ 2%] Generating nheko_en.qm
[ 2%] Updating '/home/me/tmp/src/nheko/build/nheko_en.qm'...
Generated 34 translation(s) (34 finished and 0 unfinished)
[ 3%] make[2]: Leaving directory `/home/me/tmp/src/nheko/build'
Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events.cpp.o
Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/requests.cpp.o
Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/aliases.cpp.o
[ 3%] Built target LANG_QRC
[ 3%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/avatar.cpp.o
[ 4%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/canonical_alias.cpp.o
[ 4%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/common.cpp.o
[ 4%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/create.cpp.o
[ 5%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/guest_access.cpp.o
[ 5%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/history_visibility.cpp.o
[ 6%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/join_rules.cpp.o
[ 6%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/member.cpp.o
[ 7%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/name.cpp.o
[ 7%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/pinned_events.cpp.o
[ 8%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/power_levels.cpp.o
[ 8%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/redaction.cpp.o
[ 8%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/topic.cpp.o
[ 9%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/messages/audio.cpp.o
[ 9%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/messages/emote.cpp.o
[ 10%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/messages/file.cpp.o
[ 10%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/messages/image.cpp.o
[ 11%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/messages/notice.cpp.o
[ 11%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/messages/text.cpp.o
[ 12%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/messages/video.cpp.o
[ 12%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/responses/common.cpp.o
[ 12%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/responses/login.cpp.o
[ 13%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/responses/messages.cpp.o
[ 13%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/responses/profile.cpp.o
[ 14%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/responses/sync.cpp.o
[ 14%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/responses/version.cpp.o
Linking CXX static library libmatrix_structs.a
make[2]: Leaving directory `/home/me/tmp/src/nheko/build'
[ 14%] Built target matrix_structs
make[2]: Entering directory `/home/me/tmp/src/nheko/build'
[ 15%] [ 16%] [ 16%] [ 16%] Generating include/dialogs/moc_CreateRoom.cpp
Generating include/dialogs/moc_InviteUsers.cpp
Generating include/dialogs/moc_PreviewImageOverlay.cpp
Generating include/dialogs/moc_ImageOverlay.cpp
[ 16%] [ 17%] [ 17%] [ 18%] Generating include/dialogs/moc_JoinRoom.cpp
Generating include/dialogs/moc_Logout.cpp
Generating include/dialogs/moc_LeaveRoom.cpp
Generating include/dialogs/moc_ReadReceipts.cpp
[ 18%] [ 19%] [ 20%] [ 20%] Generating include/emoji/moc_Category.cpp
Generating include/emoji/moc_ItemDelegate.cpp
Generating include/emoji/moc_Panel.cpp
Generating include/emoji/moc_PickButton.cpp
[ 20%] [ 21%] [ 21%] Generating include/timeline/moc_TimelineItem.cpp
[ 21%] Generating include/timeline/moc_TimelineViewManager.cpp
Generating include/timeline/moc_TimelineView.cpp
Generating include/timeline/widgets/moc_AudioItem.cpp
[ 22%] [ 22%] [ 23%] Generating include/timeline/widgets/moc_FileItem.cpp
Generating include/timeline/widgets/moc_ImageItem.cpp
Generating include/timeline/widgets/moc_VideoItem.cpp
[ 23%] [ 24%] [ 24%] Generating include/ui/moc_Avatar.cpp
[ 25%] Generating include/ui/moc_Badge.cpp
Generating include/ui/moc_FlatButton.cpp
Generating include/ui/moc_LoadingIndicator.cpp
[ 25%] [ 25%] [ 25%] [ 26%] Generating include/ui/moc_Label.cpp
Generating include/ui/moc_ScrollBar.cpp
Generating include/ui/moc_OverlayWidget.cpp
Generating include/ui/moc_FloatingButton.cpp
[ 27%] [ 27%] [ 28%] [ 28%] Generating include/ui/moc_SnackBar.cpp
Generating include/ui/moc_RaisedButton.cpp
Generating include/ui/moc_RippleOverlay.cpp
Generating include/ui/moc_Ripple.cpp
[ 29%] [ 29%] [ 29%] Generating include/ui/moc_TextField.cpp
[ 30%] Generating include/ui/moc_Theme.cpp
Generating include/ui/moc_ToggleButton.cpp
Generating include/ui/moc_ThemeManager.cpp
[ 30%] [ 31%] [ 31%] Generating include/moc_AvatarProvider.cpp
[ 32%] Generating include/moc_CommunitiesList.cpp
Generating include/moc_CommunitiesListItem.cpp
Generating include/moc_ChatPage.cpp
[ 32%] Generating include/moc_Community.cpp
[ 33%] [ 33%] [ 33%] Generating include/moc_LoginPage.cpp
[ 34%] Generating include/moc_MainWindow.cpp
Generating include/moc_InviteeItem.cpp
Generating include/moc_MatrixClient.cpp
[ 34%] [ 35%] [ 35%] [ 36%] Generating include/moc_QuickSwitcher.cpp
Generating include/moc_RegisterPage.cpp
Generating include/moc_RoomInfoListItem.cpp
Generating include/moc_RoomList.cpp
[ 36%] [ 37%] [ 37%] Generating include/moc_SideBarActions.cpp
[ 37%] Generating include/moc_Splitter.cpp
Generating include/moc_TopRoomBar.cpp
Generating include/moc_TextInputWidget.cpp
[ 38%] [ 38%] [ 39%] Generating include/moc_TrayIcon.cpp
[ 39%] Generating include/moc_TypingDisplay.cpp
Generating include/moc_UserInfoWidget.cpp
Generating include/moc_UserSettingsPage.cpp
[ 40%] [ 40%] [ 41%] Generating include/moc_WelcomePage.cpp
Generating qrc_res.cpp
Generating qrc_translations.cpp
Scanning dependencies of target nheko
make[2]: Leaving directory `/home/me/tmp/src/nheko/build'
make[2]: Entering directory `/home/me/tmp/src/nheko/build'
[ 42%] [ 42%] [ 42%] [ 43%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/CreateRoom.cc.o
Building CXX object CMakeFiles/nheko.dir/src/dialogs/InviteUsers.cc.o
Building CXX object CMakeFiles/nheko.dir/src/dialogs/ImageOverlay.cc.o
Building CXX object CMakeFiles/nheko.dir/src/dialogs/PreviewImageOverlay.cc.o
[ 44%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/JoinRoom.cc.o
[ 44%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/LeaveRoom.cc.o
[ 44%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/Logout.cc.o
[ 45%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/ReadReceipts.cc.o
[ 45%] Building CXX object CMakeFiles/nheko.dir/src/emoji/Category.cc.o
[ 46%] Building CXX object CMakeFiles/nheko.dir/src/emoji/ItemDelegate.cc.o
[ 46%] Building CXX object CMakeFiles/nheko.dir/src/emoji/Panel.cc.o
[ 47%] Building CXX object CMakeFiles/nheko.dir/src/emoji/PickButton.cc.o
[ 47%] Building CXX object CMakeFiles/nheko.dir/src/emoji/Provider.cc.o
[ 48%] Building CXX object CMakeFiles/nheko.dir/src/timeline/TimelineViewManager.cc.o
[ 48%] Building CXX object CMakeFiles/nheko.dir/src/timeline/TimelineItem.cc.o
[ 49%] Building CXX object CMakeFiles/nheko.dir/src/timeline/TimelineView.cc.o
[ 49%] Building CXX object CMakeFiles/nheko.dir/src/timeline/widgets/AudioItem.cc.o
[ 49%] Building CXX object CMakeFiles/nheko.dir/src/timeline/widgets/FileItem.cc.o
[ 50%] Building CXX object CMakeFiles/nheko.dir/src/timeline/widgets/ImageItem.cc.o
[ 50%] Building CXX object CMakeFiles/nheko.dir/src/timeline/widgets/VideoItem.cc.o
[ 51%] Building CXX object CMakeFiles/nheko.dir/src/ui/Avatar.cc.o
[ 51%] Building CXX object CMakeFiles/nheko.dir/src/ui/Badge.cc.o
[ 52%] Building CXX object CMakeFiles/nheko.dir/src/ui/LoadingIndicator.cc.o
[ 52%] Building CXX object CMakeFiles/nheko.dir/src/ui/FlatButton.cc.o
[ 53%] Building CXX object CMakeFiles/nheko.dir/src/ui/FloatingButton.cc.o
[ 53%] Building CXX object CMakeFiles/nheko.dir/src/ui/Label.cc.o
[ 53%] Building CXX object CMakeFiles/nheko.dir/src/ui/OverlayModal.cc.o
[ 54%] Building CXX object CMakeFiles/nheko.dir/src/ui/ScrollBar.cc.o
[ 54%] Building CXX object CMakeFiles/nheko.dir/src/ui/SnackBar.cc.o
[ 55%] Building CXX object CMakeFiles/nheko.dir/src/ui/RaisedButton.cc.o
[ 55%] Building CXX object CMakeFiles/nheko.dir/src/ui/Ripple.cc.o
[ 56%] Building CXX object CMakeFiles/nheko.dir/src/ui/RippleOverlay.cc.o
[ 56%] Building CXX object CMakeFiles/nheko.dir/src/ui/OverlayWidget.cc.o
[ 57%] Building CXX object CMakeFiles/nheko.dir/src/ui/TextField.cc.o
[ 57%] Building CXX object CMakeFiles/nheko.dir/src/ui/ToggleButton.cc.o
[ 57%] Building CXX object CMakeFiles/nheko.dir/src/ui/Theme.cc.o
[ 58%] Building CXX object CMakeFiles/nheko.dir/src/ui/ThemeManager.cc.o
[ 58%] Building CXX object CMakeFiles/nheko.dir/src/AvatarProvider.cc.o
[ 59%] Building CXX object CMakeFiles/nheko.dir/src/Cache.cc.o
[ 59%] Building CXX object CMakeFiles/nheko.dir/src/ChatPage.cc.o
[ 60%] Building CXX object CMakeFiles/nheko.dir/src/CommunitiesListItem.cc.o
[ 60%] Building CXX object CMakeFiles/nheko.dir/src/CommunitiesList.cc.o
[ 61%] Building CXX object CMakeFiles/nheko.dir/src/Community.cc.o
[ 61%] Building CXX object CMakeFiles/nheko.dir/src/Deserializable.cc.o
[ 61%] Building CXX object CMakeFiles/nheko.dir/src/InviteeItem.cc.o
[ 62%] Building CXX object CMakeFiles/nheko.dir/src/InputValidator.cc.o
[ 62%] Building CXX object CMakeFiles/nheko.dir/src/Login.cc.o
[ 63%] Building CXX object CMakeFiles/nheko.dir/src/LoginPage.cc.o
[ 63%] Building CXX object CMakeFiles/nheko.dir/src/MainWindow.cc.o
[ 64%] Building CXX object CMakeFiles/nheko.dir/src/MatrixClient.cc.o
[ 64%] Building CXX object CMakeFiles/nheko.dir/src/QuickSwitcher.cc.o
[ 65%] Building CXX object CMakeFiles/nheko.dir/src/Register.cc.o
[ 65%] Building CXX object CMakeFiles/nheko.dir/src/RegisterPage.cc.o
[ 65%] Building CXX object CMakeFiles/nheko.dir/src/RoomInfoListItem.cc.o
[ 66%] Building CXX object CMakeFiles/nheko.dir/src/RoomList.cc.o
/home/me/tmp/src/nheko/src/RoomInfoListItem.cc:62:18: error: no viable conversion from 'typename
std::remove_reference<InvitedRoom &>::type' (aka 'mtx::responses::InvitedRoom') to
'std::vector<events::collections::StrippedEvents>'
, invitedRoom_{std::move(room)}
^~~~~~~~~~~~~~~
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h:320:7: note: candidate
constructor not viable: no known conversion from 'typename std::remove_reference<InvitedRoom &>::type'
(aka 'mtx::responses::InvitedRoom') to 'const
std::vector<mpark::variant<mtx::events::StrippedEvent<mtx::events::state::Aliases>,
mtx::events::StrippedEvent<mtx::events::state::Avatar>,
mtx::events::StrippedEvent<mtx::events::state::CanonicalAlias>,
mtx::events::StrippedEvent<mtx::events::state::Create>,
mtx::events::StrippedEvent<mtx::events::state::GuestAccess>,
mtx::events::StrippedEvent<mtx::events::state::HistoryVisibility>,
mtx::events::StrippedEvent<mtx::events::state::JoinRules>, mtx::events::StrippedEvent<mtx::events::state::Member>,
mtx::events::StrippedEvent<mtx::events::state::Name>,
mtx::events::StrippedEvent<mtx::events::state::PinnedEvents>,
mtx::events::StrippedEvent<mtx::events::state::PowerLevels>, mtx::events::StrippedEvent<mtx::events::state::Topic>
>, std::allocator<mpark::variant<mtx::events::StrippedEvent<mtx::events::state::Aliases>,
mtx::events::StrippedEvent<mtx::events::state::Avatar>,
mtx::events::StrippedEvent<mtx::events::state::CanonicalAlias>,
mtx::events::StrippedEvent<mtx::events::state::Create>,
mtx::events::StrippedEvent<mtx::events::state::GuestAccess>,
mtx::events::StrippedEvent<mtx::events::state::HistoryVisibility>,
mtx::events::StrippedEvent<mtx::events::state::JoinRules>, mtx::events::StrippedEvent<mtx::events::state::Member>,
mtx::events::StrippedEvent<mtx::events::state::Name>,
mtx::events::StrippedEvent<mtx::events::state::PinnedEvents>,
mtx::events::StrippedEvent<mtx::events::state::PowerLevels>, mtx::events::StrippedEvent<mtx::events::state::Topic>
> > > &' for 1st argument
vector(const vector& __x)
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h:337:7: note: candidate
constructor not viable: no known conversion from 'typename std::remove_reference<InvitedRoom &>::type'
(aka 'mtx::responses::InvitedRoom') to
'std::vector<mpark::variant<mtx::events::StrippedEvent<mtx::events::state::Aliases>,
mtx::events::StrippedEvent<mtx::events::state::Avatar>,
mtx::events::StrippedEvent<mtx::events::state::CanonicalAlias>,
mtx::events::StrippedEvent<mtx::events::state::Create>,
mtx::events::StrippedEvent<mtx::events::state::GuestAccess>,
mtx::events::StrippedEvent<mtx::events::state::HistoryVisibility>,
mtx::events::StrippedEvent<mtx::events::state::JoinRules>, mtx::events::StrippedEvent<mtx::events::state::Member>,
mtx::events::StrippedEvent<mtx::events::state::Name>,
mtx::events::StrippedEvent<mtx::events::state::PinnedEvents>,
mtx::events::StrippedEvent<mtx::events::state::PowerLevels>, mtx::events::StrippedEvent<mtx::events::state::Topic>
>, std::allocator<mpark::variant<mtx::events::StrippedEvent<mtx::events::state::Aliases>,
mtx::events::StrippedEvent<mtx::events::state::Avatar>,
mtx::events::StrippedEvent<mtx::events::state::CanonicalAlias>,
mtx::events::StrippedEvent<mtx::events::state::Create>,
mtx::events::StrippedEvent<mtx::events::state::GuestAccess>,
mtx::events::StrippedEvent<mtx::events::state::HistoryVisibility>,
mtx::events::StrippedEvent<mtx::events::state::JoinRules>, mtx::events::StrippedEvent<mtx::events::state::Member>,
mtx::events::StrippedEvent<mtx::events::state::Name>,
mtx::events::StrippedEvent<mtx::events::state::PinnedEvents>,
mtx::events::StrippedEvent<mtx::events::state::PowerLevels>, mtx::events::StrippedEvent<mtx::events::state::Topic>
> > > &&' for 1st argument
vector(vector&& __x) noexcept
^
/usr/bin/../lib/gcc/x86_64-linux-gnu/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h:375:7: note: candidate
constructor not viable: no known conversion from 'typename std::remove_reference<InvitedRoom &>::type'
(aka 'mtx::responses::InvitedRoom') to 'initializer_list<value_type>' for 1st argument
vector(initializer_list<value_type> __l,
^
1 error generated.
make[2]: *** [CMakeFiles/nheko.dir/src/RoomInfoListItem.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory `/home/me/tmp/src/nheko/build'
make[1]: *** [CMakeFiles/nheko.dir/all] Error 2
make[1]: Leaving directory `/home/me/tmp/src/nheko/build'
make: *** [all] Error 2
I have no idea why. It worked fine before I ran the bisect script, i.e. an hour ago. Nothing else has changed on my computer. git clean -dfx
doesn't find anything to delete other than build/
.
Ubuntu Trusty 14.04, Qt 5.9 installed in /opt/qt59
.
Argh. So here's what happened:
make clean
.make clean
ran git clean -dfx
, which deleted my make.sh
script I used to build everything correctly, with Clang 3.8.Okay, I built it again, and now it's bigger.
$ export CC=clang-3.8 CXX=clang++-3.8; git submodule update --init --recursive; make clean; cmake -H. -Bbuild -DCMAKE_PREFIX_PATH=/opt/qt59/; ni make release; ls -l build/nheko
rm -rf build
-- The C compiler identification is Clang 3.8.0
-- The CXX compiler identification is Clang 3.8.0
-- Check for working C compiler: /usr/bin/clang-3.8
-- Check for working C compiler: /usr/bin/clang-3.8 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/clang++-3.8
-- Check for working CXX compiler: /usr/bin/clang++-3.8 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found LMDB: /usr/include
Setting build type to 'Debug'
-- Version: 0.1.0-af5663b
-- Found Doxygen: /usr/local/bin/doxygen (found version "1.8.9.1")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/me/tmp/src/nheko/build
Build type set to 'RelWithDebInfo'
-- Version: 0.1.0-af5663b
-- Configuring done
-- Generating done
-- Build files have been written to: /home/me/tmp/src/nheko/build
make[1]: Entering directory `/home/me/tmp/src/nheko/build'
make[1]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
make[2]: Entering directory `/home/me/tmp/src/nheko/build'
make[3]: Entering directory `/home/me/tmp/src/nheko/build'
Scanning dependencies of target LANG_QRC
make[3]: Leaving directory `/home/me/tmp/src/nheko/build'
make[3]: Entering directory `/home/me/tmp/src/nheko/build'
[ 0%] Generating nheko_el.qm
Updating '/home/me/tmp/src/nheko/build/nheko_el.qm'...
Generated 34 translation(s) (34 finished and 0 unfinished)
[ 0%] Generating nheko_de.qm
Updating '/home/me/tmp/src/nheko/build/nheko_de.qm'...
Generated 34 translation(s) (34 finished and 0 unfinished)
[ 1%] Generating nheko_nl.qm
Updating '/home/me/tmp/src/nheko/build/nheko_nl.qm'...
Generated 34 translation(s) (33 finished and 1 unfinished)
[ 1%] Generating nheko_en.qm
Updating '/home/me/tmp/src/nheko/build/nheko_en.qm'...
Generated 34 translation(s) (34 finished and 0 unfinished)
make[3]: Leaving directory `/home/me/tmp/src/nheko/build'
[ 1%] Built target LANG_QRC
make[3]: Entering directory `/home/me/tmp/src/nheko/build'
Scanning dependencies of target matrix_structs
make[3]: Leaving directory `/home/me/tmp/src/nheko/build'
make[3]: Entering directory `/home/me/tmp/src/nheko/build'
[ 2%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events.cpp.o
[ 2%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/requests.cpp.o
[ 3%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/aliases.cpp.o
[ 3%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/avatar.cpp.o
[ 4%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/canonical_alias.cpp.o
[ 4%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/common.cpp.o
[ 4%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/create.cpp.o
[ 5%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/guest_access.cpp.o
[ 5%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/history_visibility.cpp.o
[ 6%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/join_rules.cpp.o
[ 6%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/member.cpp.o
[ 7%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/name.cpp.o
[ 7%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/pinned_events.cpp.o
[ 8%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/power_levels.cpp.o
[ 8%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/redaction.cpp.o
[ 8%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/topic.cpp.o
[ 9%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/messages/audio.cpp.o
[ 9%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/messages/emote.cpp.o
[ 10%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/messages/file.cpp.o
[ 10%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/messages/image.cpp.o
[ 11%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/messages/notice.cpp.o
[ 11%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/messages/text.cpp.o
[ 12%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/events/messages/video.cpp.o
[ 12%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/responses/common.cpp.o
[ 12%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/responses/login.cpp.o
[ 13%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/responses/messages.cpp.o
[ 13%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/responses/profile.cpp.o
[ 14%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/responses/sync.cpp.o
[ 14%] Building CXX object libs/matrix-structs/CMakeFiles/matrix_structs.dir/src/responses/version.cpp.o
Linking CXX static library libmatrix_structs.a
make[3]: Leaving directory `/home/me/tmp/src/nheko/build'
[ 14%] Built target matrix_structs
make[3]: Entering directory `/home/me/tmp/src/nheko/build'
[ 15%] Generating include/dialogs/moc_CreateRoom.cpp
[ 15%] Generating include/dialogs/moc_ImageOverlay.cpp
[ 16%] Generating include/dialogs/moc_PreviewImageOverlay.cpp
[ 16%] Generating include/dialogs/moc_InviteUsers.cpp
[ 16%] Generating include/dialogs/moc_JoinRoom.cpp
[ 17%] Generating include/dialogs/moc_LeaveRoom.cpp
[ 17%] Generating include/dialogs/moc_Logout.cpp
[ 18%] Generating include/dialogs/moc_ReadReceipts.cpp
[ 18%] Generating include/emoji/moc_Category.cpp
[ 19%] Generating include/emoji/moc_ItemDelegate.cpp
[ 19%] Generating include/emoji/moc_Panel.cpp
[ 20%] Generating include/emoji/moc_PickButton.cpp
[ 20%] Generating include/timeline/moc_TimelineItem.cpp
[ 20%] Generating include/timeline/moc_TimelineView.cpp
[ 21%] Generating include/timeline/moc_TimelineViewManager.cpp
[ 21%] Generating include/timeline/widgets/moc_AudioItem.cpp
[ 22%] Generating include/timeline/widgets/moc_FileItem.cpp
[ 22%] Generating include/timeline/widgets/moc_ImageItem.cpp
[ 23%] Generating include/timeline/widgets/moc_VideoItem.cpp
[ 23%] Generating include/ui/moc_Avatar.cpp
[ 24%] Generating include/ui/moc_Badge.cpp
[ 24%] Generating include/ui/moc_LoadingIndicator.cpp
[ 25%] Generating include/ui/moc_FlatButton.cpp
[ 25%] Generating include/ui/moc_Label.cpp
[ 25%] Generating include/ui/moc_FloatingButton.cpp
[ 26%] Generating include/ui/moc_OverlayWidget.cpp
[ 26%] Generating include/ui/moc_ScrollBar.cpp
[ 27%] Generating include/ui/moc_SnackBar.cpp
[ 27%] Generating include/ui/moc_RaisedButton.cpp
[ 28%] Generating include/ui/moc_Ripple.cpp
[ 28%] Generating include/ui/moc_RippleOverlay.cpp
[ 29%] Generating include/ui/moc_TextField.cpp
[ 29%] Generating include/ui/moc_ToggleButton.cpp
[ 29%] Generating include/ui/moc_Theme.cpp
[ 30%] Generating include/ui/moc_ThemeManager.cpp
[ 30%] Generating include/moc_AvatarProvider.cpp
[ 31%] Generating include/moc_ChatPage.cpp
[ 31%] Generating include/moc_CommunitiesListItem.cpp
[ 32%] Generating include/moc_CommunitiesList.cpp
[ 32%] Generating include/moc_Community.cpp
[ 33%] Generating include/moc_LoginPage.cpp
[ 33%] Generating include/moc_MainWindow.cpp
[ 33%] Generating include/moc_InviteeItem.cpp
[ 34%] Generating include/moc_MatrixClient.cpp
[ 34%] Generating include/moc_QuickSwitcher.cpp
[ 35%] Generating include/moc_RegisterPage.cpp
[ 35%] Generating include/moc_RoomInfoListItem.cpp
[ 36%] Generating include/moc_RoomList.cpp
[ 36%] Generating include/moc_SideBarActions.cpp
[ 37%] Generating include/moc_Splitter.cpp
[ 37%] Generating include/moc_TextInputWidget.cpp
[ 37%] Generating include/moc_TopRoomBar.cpp
[ 38%] Generating include/moc_TrayIcon.cpp
[ 38%] Generating include/moc_TypingDisplay.cpp
[ 39%] Generating include/moc_UserInfoWidget.cpp
[ 39%] Generating include/moc_UserSettingsPage.cpp
[ 40%] Generating include/moc_WelcomePage.cpp
[ 40%] Generating qrc_res.cpp
[ 41%] Generating qrc_translations.cpp
Scanning dependencies of target nheko
make[3]: Leaving directory `/home/me/tmp/src/nheko/build'
make[3]: Entering directory `/home/me/tmp/src/nheko/build'
[ 42%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/CreateRoom.cc.o
[ 42%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/ImageOverlay.cc.o
[ 43%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/PreviewImageOverlay.cc.o
[ 43%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/InviteUsers.cc.o
[ 44%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/JoinRoom.cc.o
[ 44%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/LeaveRoom.cc.o
[ 44%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/Logout.cc.o
[ 45%] Building CXX object CMakeFiles/nheko.dir/src/dialogs/ReadReceipts.cc.o
[ 45%] Building CXX object CMakeFiles/nheko.dir/src/emoji/Category.cc.o
[ 46%] Building CXX object CMakeFiles/nheko.dir/src/emoji/ItemDelegate.cc.o
[ 46%] Building CXX object CMakeFiles/nheko.dir/src/emoji/Panel.cc.o
[ 47%] Building CXX object CMakeFiles/nheko.dir/src/emoji/PickButton.cc.o
[ 47%] Building CXX object CMakeFiles/nheko.dir/src/emoji/Provider.cc.o
[ 48%] Building CXX object CMakeFiles/nheko.dir/src/timeline/TimelineViewManager.cc.o
[ 48%] Building CXX object CMakeFiles/nheko.dir/src/timeline/TimelineItem.cc.o
[ 49%] Building CXX object CMakeFiles/nheko.dir/src/timeline/TimelineView.cc.o
[ 49%] Building CXX object CMakeFiles/nheko.dir/src/timeline/widgets/AudioItem.cc.o
[ 49%] Building CXX object CMakeFiles/nheko.dir/src/timeline/widgets/FileItem.cc.o
[ 50%] Building CXX object CMakeFiles/nheko.dir/src/timeline/widgets/ImageItem.cc.o
[ 50%] Building CXX object CMakeFiles/nheko.dir/src/timeline/widgets/VideoItem.cc.o
[ 51%] Building CXX object CMakeFiles/nheko.dir/src/ui/Avatar.cc.o
[ 51%] Building CXX object CMakeFiles/nheko.dir/src/ui/Badge.cc.o
[ 52%] Building CXX object CMakeFiles/nheko.dir/src/ui/LoadingIndicator.cc.o
[ 52%] Building CXX object CMakeFiles/nheko.dir/src/ui/FlatButton.cc.o
[ 53%] Building CXX object CMakeFiles/nheko.dir/src/ui/FloatingButton.cc.o
[ 53%] Building CXX object CMakeFiles/nheko.dir/src/ui/Label.cc.o
[ 53%] Building CXX object CMakeFiles/nheko.dir/src/ui/OverlayModal.cc.o
[ 54%] Building CXX object CMakeFiles/nheko.dir/src/ui/ScrollBar.cc.o
[ 54%] Building CXX object CMakeFiles/nheko.dir/src/ui/SnackBar.cc.o
[ 55%] Building CXX object CMakeFiles/nheko.dir/src/ui/RaisedButton.cc.o
[ 55%] Building CXX object CMakeFiles/nheko.dir/src/ui/Ripple.cc.o
[ 56%] Building CXX object CMakeFiles/nheko.dir/src/ui/RippleOverlay.cc.o
[ 56%] Building CXX object CMakeFiles/nheko.dir/src/ui/OverlayWidget.cc.o
[ 57%] Building CXX object CMakeFiles/nheko.dir/src/ui/TextField.cc.o
[ 57%] Building CXX object CMakeFiles/nheko.dir/src/ui/ToggleButton.cc.o
[ 57%] Building CXX object CMakeFiles/nheko.dir/src/ui/Theme.cc.o
[ 58%] Building CXX object CMakeFiles/nheko.dir/src/ui/ThemeManager.cc.o
[ 58%] Building CXX object CMakeFiles/nheko.dir/src/AvatarProvider.cc.o
[ 59%] Building CXX object CMakeFiles/nheko.dir/src/Cache.cc.o
[ 59%] Building CXX object CMakeFiles/nheko.dir/src/ChatPage.cc.o
[ 60%] Building CXX object CMakeFiles/nheko.dir/src/CommunitiesListItem.cc.o
[ 60%] Building CXX object CMakeFiles/nheko.dir/src/CommunitiesList.cc.o
[ 61%] Building CXX object CMakeFiles/nheko.dir/src/Community.cc.o
[ 61%] Building CXX object CMakeFiles/nheko.dir/src/Deserializable.cc.o
[ 61%] Building CXX object CMakeFiles/nheko.dir/src/InviteeItem.cc.o
[ 62%] Building CXX object CMakeFiles/nheko.dir/src/InputValidator.cc.o
[ 62%] Building CXX object CMakeFiles/nheko.dir/src/Login.cc.o
[ 63%] Building CXX object CMakeFiles/nheko.dir/src/LoginPage.cc.o
[ 63%] Building CXX object CMakeFiles/nheko.dir/src/MainWindow.cc.o
[ 64%] Building CXX object CMakeFiles/nheko.dir/src/MatrixClient.cc.o
[ 64%] Building CXX object CMakeFiles/nheko.dir/src/QuickSwitcher.cc.o
[ 65%] Building CXX object CMakeFiles/nheko.dir/src/Register.cc.o
[ 65%] Building CXX object CMakeFiles/nheko.dir/src/RegisterPage.cc.o
[ 65%] Building CXX object CMakeFiles/nheko.dir/src/RoomInfoListItem.cc.o
[ 66%] Building CXX object CMakeFiles/nheko.dir/src/RoomList.cc.o
[ 66%] Building CXX object CMakeFiles/nheko.dir/src/RoomMessages.cc.o
[ 67%] Building CXX object CMakeFiles/nheko.dir/src/RoomState.cc.o
[ 67%] Building CXX object CMakeFiles/nheko.dir/src/RunGuard.cc.o
[ 68%] Building CXX object CMakeFiles/nheko.dir/src/SideBarActions.cc.o
[ 68%] Building CXX object CMakeFiles/nheko.dir/src/Splitter.cc.o
[ 69%] Building CXX object CMakeFiles/nheko.dir/src/TextInputWidget.cc.o
[ 69%] Building CXX object CMakeFiles/nheko.dir/src/TopRoomBar.cc.o
[ 69%] Building CXX object CMakeFiles/nheko.dir/src/TrayIcon.cc.o
[ 70%] Building CXX object CMakeFiles/nheko.dir/src/TypingDisplay.cc.o
[ 70%] Building CXX object CMakeFiles/nheko.dir/src/Utils.cc.o
[ 71%] Building CXX object CMakeFiles/nheko.dir/src/UserInfoWidget.cc.o
[ 71%] Building CXX object CMakeFiles/nheko.dir/src/UserSettingsPage.cc.o
[ 72%] Building CXX object CMakeFiles/nheko.dir/src/WelcomePage.cc.o
[ 72%] Building CXX object CMakeFiles/nheko.dir/src/main.cc.o
[ 73%] Building CXX object CMakeFiles/nheko.dir/include/dialogs/moc_CreateRoom.cpp.o
[ 73%] Building CXX object CMakeFiles/nheko.dir/include/dialogs/moc_ImageOverlay.cpp.o
[ 74%] Building CXX object CMakeFiles/nheko.dir/include/dialogs/moc_PreviewImageOverlay.cpp.o
[ 74%] Building CXX object CMakeFiles/nheko.dir/include/dialogs/moc_InviteUsers.cpp.o
[ 74%] Building CXX object CMakeFiles/nheko.dir/include/dialogs/moc_JoinRoom.cpp.o
[ 75%] Building CXX object CMakeFiles/nheko.dir/include/dialogs/moc_LeaveRoom.cpp.o
[ 75%] Building CXX object CMakeFiles/nheko.dir/include/dialogs/moc_Logout.cpp.o
[ 76%] Building CXX object CMakeFiles/nheko.dir/include/dialogs/moc_ReadReceipts.cpp.o
[ 76%] Building CXX object CMakeFiles/nheko.dir/include/emoji/moc_Category.cpp.o
[ 77%] Building CXX object CMakeFiles/nheko.dir/include/emoji/moc_ItemDelegate.cpp.o
[ 77%] Building CXX object CMakeFiles/nheko.dir/include/emoji/moc_Panel.cpp.o
[ 78%] Building CXX object CMakeFiles/nheko.dir/include/emoji/moc_PickButton.cpp.o
[ 78%] Building CXX object CMakeFiles/nheko.dir/include/timeline/moc_TimelineItem.cpp.o
[ 78%] Building CXX object CMakeFiles/nheko.dir/include/timeline/moc_TimelineView.cpp.o
[ 79%] Building CXX object CMakeFiles/nheko.dir/include/timeline/moc_TimelineViewManager.cpp.o
[ 79%] Building CXX object CMakeFiles/nheko.dir/include/timeline/widgets/moc_AudioItem.cpp.o
[ 80%] Building CXX object CMakeFiles/nheko.dir/include/timeline/widgets/moc_FileItem.cpp.o
[ 80%] Building CXX object CMakeFiles/nheko.dir/include/timeline/widgets/moc_ImageItem.cpp.o
[ 81%] Building CXX object CMakeFiles/nheko.dir/include/timeline/widgets/moc_VideoItem.cpp.o
[ 81%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_Avatar.cpp.o
[ 82%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_Badge.cpp.o
[ 82%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_LoadingIndicator.cpp.o
[ 82%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_FlatButton.cpp.o
[ 83%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_Label.cpp.o
[ 83%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_FloatingButton.cpp.o
[ 84%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_OverlayWidget.cpp.o
[ 84%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_ScrollBar.cpp.o
[ 85%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_SnackBar.cpp.o
[ 85%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_RaisedButton.cpp.o
[ 86%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_Ripple.cpp.o
[ 86%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_RippleOverlay.cpp.o
[ 86%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_TextField.cpp.o
[ 87%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_ToggleButton.cpp.o
[ 87%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_Theme.cpp.o
[ 88%] Building CXX object CMakeFiles/nheko.dir/include/ui/moc_ThemeManager.cpp.o
[ 88%] Building CXX object CMakeFiles/nheko.dir/include/moc_AvatarProvider.cpp.o
[ 89%] Building CXX object CMakeFiles/nheko.dir/include/moc_ChatPage.cpp.o
[ 89%] Building CXX object CMakeFiles/nheko.dir/include/moc_CommunitiesListItem.cpp.o
[ 90%] Building CXX object CMakeFiles/nheko.dir/include/moc_CommunitiesList.cpp.o
[ 90%] Building CXX object CMakeFiles/nheko.dir/include/moc_Community.cpp.o
[ 90%] Building CXX object CMakeFiles/nheko.dir/include/moc_LoginPage.cpp.o
[ 91%] Building CXX object CMakeFiles/nheko.dir/include/moc_MainWindow.cpp.o
[ 91%] Building CXX object CMakeFiles/nheko.dir/include/moc_InviteeItem.cpp.o
[ 92%] Building CXX object CMakeFiles/nheko.dir/include/moc_MatrixClient.cpp.o
[ 92%] Building CXX object CMakeFiles/nheko.dir/include/moc_QuickSwitcher.cpp.o
[ 93%] Building CXX object CMakeFiles/nheko.dir/include/moc_RegisterPage.cpp.o
[ 93%] Building CXX object CMakeFiles/nheko.dir/include/moc_RoomInfoListItem.cpp.o
[ 94%] Building CXX object CMakeFiles/nheko.dir/include/moc_RoomList.cpp.o
[ 94%] Building CXX object CMakeFiles/nheko.dir/include/moc_SideBarActions.cpp.o
[ 94%] Building CXX object CMakeFiles/nheko.dir/include/moc_Splitter.cpp.o
[ 95%] Building CXX object CMakeFiles/nheko.dir/include/moc_TextInputWidget.cpp.o
[ 95%] Building CXX object CMakeFiles/nheko.dir/include/moc_TopRoomBar.cpp.o
[ 96%] Building CXX object CMakeFiles/nheko.dir/include/moc_TrayIcon.cpp.o
[ 96%] Building CXX object CMakeFiles/nheko.dir/include/moc_TypingDisplay.cpp.o
[ 97%] Building CXX object CMakeFiles/nheko.dir/include/moc_UserInfoWidget.cpp.o
[ 97%] Building CXX object CMakeFiles/nheko.dir/include/moc_UserSettingsPage.cpp.o
[ 98%] Building CXX object CMakeFiles/nheko.dir/include/moc_WelcomePage.cpp.o
[ 98%] Building CXX object CMakeFiles/nheko.dir/qrc_res.cpp.o
[ 99%] Building CXX object CMakeFiles/nheko.dir/qrc_translations.cpp.o
Linking CXX executable nheko
make[3]: Leaving directory `/home/me/tmp/src/nheko/build'
[100%] Built target nheko
make[2]: Leaving directory `/home/me/tmp/src/nheko/build'
make[1]: Leaving directory `/home/me/tmp/src/nheko/build'
-rwxrwxr-x 1 me me 99M Jan 16 08:03 build/nheko*
That's current master
.
Could you try running strip build/nheko
and see if the size changed?
Indeed:
$ strip build/nheko; ll build/nheko
-rwxrwxr-x 1 me me 7.1M Jan 16 08:21 build/nheko*
And the binary seems to work correctly afterward.
I just tested the build (RelWithDebInfo
) produced by docker and it has the same size (104 MB). So apparently the extra space is for the debug symbols. Switching to a Release
builds (i.e without debug symbols) fixes the issue.
Does Makefile
need to be updated then? It uses RelWithDebInfo
for make release
: https://github.com/mujx/nheko/blob/master/Makefile#L11
No, the debug symbols are needed to produce human friendly backtraces.
Sorry, I don't understand. Shouldn't the debug symbols be in a debug build? Shouldn't make release
make a Release
build?
The point is to help the user extract a useful backtrace if the app crashes, without the need to build anything.
If you want a release build, just use cmake with -DCMAKE_BUILD_TYPE=Release
. On my system the nheko binary is 6.9MB because of it.
@PureTryOut Thanks, but that doesn't seem to work for me. I ran this:
export CC=clang-3.8 CXX=clang++-3.8
git submodule update --init --recursive
make clean
cmake -H. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/opt/qt59/
make release
But the resulting binary was still 81 MB, and I had to run strip
manually.
I noticed my latest backup with Restic increased in size by an unusually large amount. Upon closer investigation, I see that the
nheko
binary is 81 MB. This was not the case before; previously I think it was around 5 MB or less.What happened? D: