Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 927634 - games-engines/openmw-0.48.0: conflicting return type specified for ‘virtual const std::string& osgMyGUI::DataManager::getDataPath(const std::string&) const’
Summary: games-engines/openmw-0.48.0: conflicting return type specified for ‘virtual c...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Alexey
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2024-03-23 14:55 UTC by lekto
Modified: 2024-04-02 16:20 UTC (History)
6 users (show)

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


Attachments
emerge --info (emerge.info,6.08 KB, text/plain)
2024-03-23 14:55 UTC, lekto
Details
build.log (build.log,62.19 KB, text/x-log)
2024-03-23 14:55 UTC, lekto
Details

Note You need to log in before you can comment on or make changes to this bug.
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(-)