Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 936323 - [guru] net-misc/megasync-5.3.0.0: segfaults on startup unless dev-qt/qtquickcontrols is installed
Summary: [guru] net-misc/megasync-5.3.0.0: segfaults on startup unless dev-qt/qtquickc...
Status: RESOLVED FIXED
Alias: None
Product: GURU
Classification: Unclassified
Component: Package issues (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Takuya Wakazono
URL: https://github.com/meganz/MEGAsync/is...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-07-20 02:19 UTC by Andrey
Modified: 2024-07-25 10:10 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey 2024-07-20 02:19:35 UTC
Megasync is apparently missing a runtime dependency on dev-qt/qtquickcontrols
and crashes without it.


Reproducible: Always

Steps to Reproduce:
1. Start with a brand new system without any traces of Qt
2. Install megasync from GURU:
   `USE="X dbus egl jpeg libinput png udev" ACCEPT_KEYWORDS=~amd64 ACCEPT_LICENSE="MEGA" emerge -v megasync`
3. Start an X server
4. Run `megasync`
Actual Results:  
A window with a crash dump or simply a segfault.


Also, the `/.local/share/data/Mega\ Limited/MEGAsync/logs/MEGAsync.log` logfile shows the following:
```
ERR  qrc:/onboard/OnboardingDialog.qml:18 Type OnboardingFlow unavailable
qrc:/onboard/OnboardingFlow.qml:3 module "QtQuick.Controls" is not installed
```

or the following:
```
ERR  qrc:/onboard/OnboardingDialog.qml:18 Type OnboardingFlow unavailable
qrc:/onboard/OnboardingFlow.qml:44 Type MainFlow unavailable
qrc:/onboard/syncs_types/MainFlow.qml:193 Type SyncsFlow unavailable
qrc:/onboard/syncs_types/syncs/SyncsFlow.qml:94 Type FullSyncPage unavailable
qrc:/onboard/syncs_types/syncs/FullSyncPage.qml:8 Type FullSyncPageForm unavailable
qrc:/onboard/syncs_types/syncs/FullSyncPageForm.ui.qml:45 Type ChooseSyncFolder unavailable
qrc:/onboard/syncs_types/syncs/ChooseSyncFolder.qml:4 module "QtQuick.Dialogs" is not installed
```

Expected Results:  
The app starts normally.

`emerge -v dev-qt/qtquickcontrols`
resolves the issue.

(`USE=widgets` is not necessary)

Also, just to be clear,
installing dev-qt/qtquickcontrols2 alone with or without USE=widgets does NOT help.
Comment 1 Takuya Wakazono 2024-07-20 08:20:30 UTC
Apparently, dev-qt/qtquickcontrols{,2} is only needed for the initial setup, so I didn't notice.
Thanks for reporting this!
Comment 2 Andreas Sturmlechner gentoo-dev 2024-07-20 16:49:01 UTC
$ eshowkw megasync
No such package "megasync"
Comment 3 Andrey 2024-07-21 02:41:12 UTC
(In reply to Takuya Wakazono from comment #1)
> Apparently, dev-qt/qtquickcontrols{,2} is only needed for the initial setup,
> so I didn't notice.


Right.

Just to double-check,
a Debian control file from upstream [1] confirms that both qtquickcontrols and qtquickcontrols2 are needed:
(the "dialogs" are seemingly a part of qtquickcontrols package in Gentoo as far as I can tell)

> Depends: ${shlibs:Depends}, libc-ares2, apt-transport-https, gpg,
>         qml-module-qtquick-dialogs,
>         qml-module-qtquick-controls,
>         qml-module-qtquick-controls2

[1] https://github.com/meganz/MEGAsync/blob/dd096449683097af1f09b201641650cad59a9cb0/build/MEGAsync/MEGAsync/debian.control#L29



> Thanks for reporting this!

No problem.

Actually, thank YOU for maintaining the great ebuild!
Comment 4 Larry the Git Cow gentoo-dev 2024-07-25 10:10:25 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=b1ad3296f03fb552fac2897ca142f8af52032326

commit b1ad3296f03fb552fac2897ca142f8af52032326
Author:     Takuya Wakazono <pastalian46@gmail.com>
AuthorDate: 2024-07-20 08:02:12 +0000
Commit:     Takuya Wakazono <pastalian46@gmail.com>
CommitDate: 2024-07-20 08:10:18 +0000

    net-misc/megasync: fix runtime dependency
    
    dev-qt/qtquickcontrols{,2} is required as a runtime dependency. If this
    is not present in an environment that has not done initial setup,
    megasync will crash. This does not occur in environment that have
    already done initial setup.
    
    Closes: https://bugs.gentoo.org/936323
    Signed-off-by: Takuya Wakazono <pastalian46@gmail.com>

 .../{megasync-5.3.0.0.ebuild => megasync-5.3.0.0-r1.ebuild}         | 6 +++++-
 net-misc/megasync/megasync-9999.ebuild                              | 6 +++++-
 2 files changed, 10 insertions(+), 2 deletions(-)