Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 949894 - [guru] games-emulation/mupen64plus-qt-1.17: Crashes other Qt programs
Summary: [guru] games-emulation/mupen64plus-qt-1.17: Crashes other Qt programs
Status: UNCONFIRMED
Alias: None
Product: GURU
Classification: Unclassified
Component: Package issues (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Samuel Bauer
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-18 07:02 UTC by Khumba
Modified: 2025-02-27 22:05 UTC (History)
1 user (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 Khumba 2025-02-18 07:02:22 UTC
Hello!  The updated mupen64plus-qt-1.17 with its new CMake build system installs some files in global locations incorrectly:

1) /usr/bin/qt.conf needs to be removed, because by virtue of being in the same directory as most other executables on the system that use Qt, this file affects those programs too; see https://doc.qt.io/qt-6/qt-conf.html.

The file's contents is this:

    [Paths]
    Prefix = ..
    Libraries = lib64

This breaks keepassxc and tagainijisho, and presumably others (but not all, e.g. not featherpad or pavucontrol-qt):

    $ keepassxc
    qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

    Aborted (core dumped)

2) It looks like the files installed in the below directories are duplicates of Qt files and can be removed too?

 * QA Notice: The ebuild is installing to one or more unexpected directories:
 *
 *   /usr/plugins
 *   /usr/translations
 *
 * Please fix the ebuild to use correct FHS/Gentoo policy paths.

Thanks!
Comment 1 Samuel Bauer 2025-02-23 22:27:37 UTC
(In reply to Khumba from comment #0)
 
> 1) /usr/bin/qt.conf needs to be removed, because by virtue of being in the
> same directory as most other executables on the system that use Qt, this
> file affects those programs too; see https://doc.qt.io/qt-6/qt-conf.html.

Fixed in live ebuild, but forgot to sync 1.17. I pushed to dev while writing this message.

> This breaks keepassxc and tagainijisho, and presumably others (but not all,
> e.g. not featherpad or pavucontrol-qt):
> 
>     $ keepassxc
>     qt.qpa.plugin: Could not find the Qt platform plugin "xcb" in ""
>     This application failed to start because no Qt platform plugin could be
> initialized. Reinstalling the application may fix this problem.

Using qt6ct to use wider fonts skipped this issue here, I use keepassx too, I use live ebuild but had the error with it too in first place.

> 2) It looks like the files installed in the below directories are duplicates
> of Qt files and can be removed too?
> 
>  * QA Notice: The ebuild is installing to one or more unexpected directories:
>  *
>  *   /usr/plugins

Fixed until here in dev.

>  *   /usr/translations
>  *
>  * Please fix the ebuild to use correct FHS/Gentoo policy paths.

Unfortunately this one may take longer to fix /usr/translations as I didn't get the cmake underlaying logic.
I think it comes from https://github.com/dh4/mupen64plus-qt/blob/9338fce5ced997d3c33216bb4964730e772e887b/CMakeLists.txt#L98 function, but I may be wrong. If I'm not wrong, then the bad behavior should be fixed in other place than this ebuild: upstream qt/cmake integration team, or gentoo qt team. A temporary workaround would be cool though. 

I already battleaxed ${D} to remove a lot of conflicting files, as system libraries were copied under it and conflicting in qmerge. Seems a workaround to me rather than a proper way to handle the ebuild. (i'm cheap sorry)

I saw the QA notices, and asked a bit about qt_generate_deploy_app_script over guru irc, it may take time to invest about this. (but I don't want to be cheap :)

> Thanks!
Comment 2 Samuel Bauer 2025-02-27 22:05:18 UTC
Workaround for translations in pushed to dev

Asked about qt_generate_deploy_app_script on #qt-cmake