Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 927634

Summary: games-engines/openmw-0.48.0: conflicting return type specified for ‘virtual const std::string& osgMyGUI::DataManager::getDataPath(const std::string&) const’
Product: Gentoo Linux Reporter: lekto
Component: Current packagesAssignee: Alexey <alexey+gentoo>
Status: RESOLVED FIXED    
Severity: normal CC: alec-stewart, alexey+gentoo, darkbasic, games, lekto, proxy-maint
Priority: Normal Keywords: PullRequest
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://github.com/gentoo/gentoo/pull/35880
https://github.com/gentoo/gentoo/pull/36063
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge --info
build.log

Description lekto 2024-03-23 14:55:22 UTC
Created attachment 888286 [details]
emerge --info

Hi, after I updated MyGUI to 3.4.3, Portage asked me to do @preserve-rebuild, which caused OpenMW to rebuild, which ended with this error:
> FAILED: components/CMakeFiles/components.dir/resource/stats.cpp.o 
> (…)
> In file included from /var/tmp/portage/games-engines/openmw-0.48.0/work/openmw-openmw-0.48.0/components/resource/stats.cpp:17:
> /var/tmp/portage/games-engines/openmw-0.48.0/work/openmw-openmw-0.48.0/components/myguiplatform/myguidatamanager.hpp:47:24: error: conflicting return type specified for ‘virtual const std::string& osgMyGUI::DataManager::getDataPath(const std::string&) const’
>    47 |     const std::string& getDataPath(const std::string& _name) const override;
>       |                        ^~~~~~~~~~~
> In file included from /var/tmp/portage/games-engines/openmw-0.48.0/work/openmw-openmw-0.48.0/components/myguiplatform/myguidatamanager.hpp:4:
> /usr/include/MYGUI/MyGUI_DataManager.h:51:37: note: overridden function is ‘virtual std::string MyGUI::DataManager::getDataPath(const std::string&) const’
>    51 |                 virtual std::string getDataPath(const std::string& _name) const = 0;
>       |                                     ^~~~~~~~~~~
> ninja: build stopped: subcommand failed.

After I downgraded MyGUI back to 3.4.1-r1, OpenMW was built successfully.
Comment 1 lekto 2024-03-23 14:55:44 UTC
Created attachment 888287 [details]
build.log
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-03-23 14:58:35 UTC
(In reply to lekto from comment #0)
> Created attachment 888286 [details]
> emerge --info
> 
> Hi, after I updated MyGUI to 3.4.3, Portage asked me to do
> @preserve-rebuild, which caused OpenMW to rebuild, which ended with this
> error:

darthgandalf: did we forget to crank subslot, or are we missing := deps on mygui?
Comment 3 Alexey 2024-03-23 16:02:14 UTC
We are missing := indeed, oops.

However, in this case it looks like openmw-0.48 needs <mygui-3.4.3 dependency - this is source incompatibility, not the binary one
Comment 4 Larry the Git Cow gentoo-dev 2024-03-23 16:19:34 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c6529e299ee8ae45cea2234cf6096117564672a1

commit c6529e299ee8ae45cea2234cf6096117564672a1
Author:     Alexey Sokolov <alexey+gentoo@asokolov.org>
AuthorDate: 2024-03-23 16:11:28 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-03-23 16:18:24 +0000

    profiles: mask dev-games/mygui-3.4.3
    
    Bug: https://bugs.gentoo.org/927634
    Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org>
    Closes: https://github.com/gentoo/gentoo/pull/35880
    Signed-off-by: Sam James <sam@gentoo.org>

 profiles/package.mask | 5 +++++
 1 file changed, 5 insertions(+)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5bc78a99006741ae5e7d0b9dbae1d2e39d1c669

commit c5bc78a99006741ae5e7d0b9dbae1d2e39d1c669
Author:     Alexey Sokolov <alexey+gentoo@asokolov.org>
AuthorDate: 2024-03-23 16:08:10 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-03-23 16:18:23 +0000

    games-engines/openmw: update deps on mygui version
    
    Bug: https://bugs.gentoo.org/927634
    Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org>
    Signed-off-by: Sam James <sam@gentoo.org>

 games-engines/openmw/openmw-0.48.0.ebuild | 1 +
 games-engines/openmw/openmw-9999.ebuild   | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)
Comment 5 Alec Stewart 2024-03-31 14:13:03 UTC
I'll take some responsibility for not being clear about this when I opened my bug about MyGUI 3.4.3.

The newer *dev* versions of openmw (opemnw-9999 for Gentoo) required MyGUI 3.4.3, the main release does not. Any version *after* OpenMW 0.48 will require >=MyGUI 3.4.3.

openmw-9999, which follows the dev version of openmw, will not build if mygui-3.4.3 isn't available. openmw-0.48 will not build if <mygui-3.4.1 isn't available.
Comment 6 Alexey 2024-04-01 07:35:18 UTC
Alec, don't worry, you were clear enough.

But having OpenMW 0.48 (the latest release) buildable is bigger priority than having OpenMW 9999 buildable. If you want to install 9999, you can unmask MyGUI 3.4.3 locally.

At least, until we figure how to make MyGUI 3.4.3 work with OpenMW 0.48 and ensure that MyGUI 3.4.3 doesn't break any other package. This is why I'm not closing this bug yet.
Comment 7 darkbasic 2024-04-02 06:38:34 UTC
Please note that openmw dev also needs mygui built with -DMYGUI_DONT_USE_OBSOLETE=ON
Comment 8 lekto 2024-04-02 13:14:19 UTC
I don't think there are other packages:
> lekto@blaszak ~ $ grep -r mygui /usr/portage | grep \.ebuild
> grep: /usr/portage/.git/index: binary file matches
> /usr/portage/dev-games/mygui/mygui-3.4.1-r1.ebuild:HOMEPAGE="http://mygui.info"
> /usr/portage/dev-games/mygui/mygui-3.4.1-r1.ebuild:SRC_URI="https://github.com/MyGUI/mygui/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
> /usr/portage/dev-games/mygui/mygui-3.4.1-r1.ebuild:S=${WORKDIR}/mygui-${MY_P}
> /usr/portage/dev-games/mygui/mygui-3.4.1-r1.ebuild:     elog "${EROOT}/etc/MYGUI/mygui-ogre.cfg and /etc/MYGUI/mygui-Ogre.log"
> /usr/portage/dev-games/mygui/mygui-3.4.3.ebuild:HOMEPAGE="http://mygui.info"
> /usr/portage/dev-games/mygui/mygui-3.4.3.ebuild:SRC_URI="https://github.com/MyGUI/mygui/archive/${MY_P}.tar.gz -> ${P}.tar.gz"
> /usr/portage/dev-games/mygui/mygui-3.4.3.ebuild:S=${WORKDIR}/mygui-${MY_P}
> /usr/portage/dev-games/mygui/mygui-3.4.3.ebuild:        "${FILESDIR}"/mygui-3.4.1-build.patch
> /usr/portage/dev-games/mygui/mygui-3.4.3.ebuild:        "${FILESDIR}"/mygui-3.4.1-FHS.patch
> /usr/portage/dev-games/mygui/mygui-3.4.3.ebuild:        "${FILESDIR}"/mygui-3.4.3-werror.patch
> /usr/portage/dev-games/mygui/mygui-3.4.3.ebuild:        elog "${EROOT}/etc/MYGUI/mygui-ogre.cfg and /etc/MYGUI/mygui-Ogre.log"
> /usr/portage/games-engines/openmw/openmw-0.48.0.ebuild: >=dev-games/mygui-3.4.1
> /usr/portage/games-engines/openmw/openmw-0.48.0.ebuild: <dev-games/mygui-3.4.3
> /usr/portage/games-engines/openmw/openmw-9999.ebuild:   >=dev-games/mygui-3.4.3:=
Comment 9 Alexey 2024-04-02 13:36:22 UTC
Ah yeah, thanks, https://packages.gentoo.org/packages/dev-games/mygui/reverse-dependencies confirms that.

That makes it easier.

darkbasic: yes, that option is already on.
Comment 10 Larry the Git Cow gentoo-dev 2024-04-02 16:20:52 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=63bc9bfb462be158338d6431c23d0aa790105152

commit 63bc9bfb462be158338d6431c23d0aa790105152
Author:     Alexey Sokolov <alexey+gentoo@asokolov.org>
AuthorDate: 2024-04-02 14:30:59 +0000
Commit:     Ionen Wolkens <ionen@gentoo.org>
CommitDate: 2024-04-02 16:20:21 +0000

    profiles: remove dev-games/mygui mask
    
    The only revdep is games-engines/openmw, and that one already has
    correct </>= deps on specific versions of dev-games/mygui.
    
    Closes: https://bugs.gentoo.org/927634
    Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org>
    Closes: https://github.com/gentoo/gentoo/pull/36063
    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>

 profiles/package.mask | 5 -----
 1 file changed, 5 deletions(-)