Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 522130 - games-fps/ut2003-2225-r4: bad dependencies
Summary: games-fps/ut2003-2225-r4: bad dependencies
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords: QAbaddep
: 522246 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-09-04 10:00 UTC by Ulrich Müller
Modified: 2020-03-30 23:40 UTC (History)
2 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 Ulrich Müller gentoo-dev 2014-09-04 10:00:08 UTC
Dependencies look completely random for this one. According to scanelf, it links only to libSDL-1.2.so.0, but not (directly) to anything in opengl, xlibs, or compat libraries.

So AFAICS the correct dependencies are:

RDEPEND="dedicated? ( games-server/ut2003-ded )
    games-fps/ut2003-data
    || (
        >=media-libs/libsdl-1.2.15-r4[abi_x86_32(-)]
        amd64? ( emul-linux-x86-sdl[-abi_x86_32(-)] )
    )"
Comment 1 Tristan Heaven (RETIRED) gentoo-dev 2014-09-04 16:22:21 UTC
You don't think it uses opengl?
Comment 2 Ulrich Müller gentoo-dev 2014-09-04 16:57:32 UTC
(In reply to Tristan Heaven from comment #1)
> You don't think it uses opengl?

Only indirectly via libsdl, as lddtree (from pax-utils) shows.

Also, there are no undefined symbols starting with "gl" in any of the binaries.
Comment 3 Ulrich Müller gentoo-dev 2014-09-06 11:00:04 UTC
*** Bug 522246 has been marked as a duplicate of this bug. ***
Comment 4 Jan Buecken 2014-09-06 11:39:21 UTC
I think this blocks Bug 517932 and/or Bug 522218?
Comment 5 Ulrich Müller gentoo-dev 2014-09-06 12:39:38 UTC
(In reply to Jan Buecken from comment #4)
> I think this blocks Bug 517932 and/or Bug 522218?

There are too many bugs open for this issue. :) 
Using bug 466750 as tracker here. Maybe bug 517932 would have been the better choice, though.

It would be really appreciated if you could check if the media-libs/libsdl dependency in comment #0 needs additional USE dependencies (similar to bug 522150 comment #7). This cannot be tested with tools checking for link level dependencies, but requires actual running of the program.
Comment 6 Tristan Heaven (RETIRED) gentoo-dev 2014-09-07 18:07:38 UTC
We could just drop the ut2003 packages. ut2004 replaces it.
Comment 7 Jan Buecken 2014-09-07 18:16:03 UTC
(In reply to Tristan Heaven from comment #6)
> We could just drop the ut2003 packages. ut2004 replaces it.

No: They are different games!!! And ut2004 is 64 bit, ut2003 is 32 bit.
Comment 8 Jan Buecken 2014-09-07 18:24:49 UTC
I got preserved libs after removing 
emul-linux-x86-gtklibs and emul-linux-x86-baselibs
from my system.

Using the new ebuild / dependency tree, a rebuild did not help:

!!! existing preserved libs:
>>> package: app-emulation/emul-linux-x86-gtklibs-20140508-r3
 *  - /usr/lib32/libgtk-1.2.so.0
 *  - /usr/lib32/libgtk-1.2.so.0.9.1
 *      used by /opt/ut2003/updater/gtk_sh_ui.so (games-fps/ut2003-data-2107)
 *  - /usr/lib32/libgdk-1.2.so.0
 *  - /usr/lib32/libgdk-1.2.so.0.9.1
 *      used by /opt/ut2003/updater/gtk_sh_ui.so (games-fps/ut2003-data-2107)
>>> package: app-emulation/emul-linux-x86-baselibs-20140508-r14
 *  - /usr/lib32/libglib-1.2.so.0
 *  - /usr/lib32/libglib-1.2.so.0.0.10
 *      used by /opt/ut2003/updater/gtk_sh_ui.so (games-fps/ut2003-data-2107)
 *  - /usr/lib32/libgmodule-1.2.so.0
 *  - /usr/lib32/libgmodule-1.2.so.0.0.10
 *      used by /opt/ut2003/updater/gtk_sh_ui.so (games-fps/ut2003-data-2107)
Use emerge @preserved-rebuild to rebuild packages using these libraries

So you may need
>=dev-libs/glib-1.2.10-r5:1[abi_x86_32(-)]
>=x11-libs/gtk+-1.2.10-r12:1[abi_x86_32(-)]
in the dependencies (but those slots have no abi_x86_32 yet) or drop installation of the loki tools as I suggested in bug 522246.
Comment 9 Tristan Heaven (RETIRED) gentoo-dev 2014-09-07 18:31:09 UTC
Alright, they're slightly different. I only have ut2004 discs.
Comment 10 Jan Buecken 2014-09-07 18:36:25 UTC
(In reply to Ulrich Müller from comment #5)

> It would be really appreciated if you could check if the media-libs/libsdl
> dependency in comment #0 needs additional USE dependencies (similar to bug
> 522150 comment #7). This cannot be tested with tools checking for link level
> dependencies, but requires actual running of the program.

My usefalgs are "X alsa joystick opengl sound video". So I need to rebuild libsdl, drop each useflag one by one and start ut2003? e.g.


USE="-video" emerge --nodeps media-libs/libsdl[-video]
    # drop video useflag

start ut2003

USE="-sound" emerge --nodeps media-libs/libsdl[-sound] 
    # pulls in video useflag again, drop sound useflag

etc.

?

And by the way: I think this bug applies to ut2003-demo as well.

(In reply to Tristan Heaven from comment #9)
> Alright, they're slightly different. I only have ut2004 disk
Try the ut2003-demo maybe you buy the game today ;-)
Comment 11 Ulrich Müller gentoo-dev 2014-09-07 18:52:03 UTC
(In reply to Jan Buecken from comment #8)
> !!! existing preserved libs:
> >>> package: app-emulation/emul-linux-x86-gtklibs-20140508-r3
>  *  - /usr/lib32/libgtk-1.2.so.0
>  *  - /usr/lib32/libgtk-1.2.so.0.9.1
>  *      used by /opt/ut2003/updater/gtk_sh_ui.so (games-fps/ut2003-data-2107)
>  *  - /usr/lib32/libgdk-1.2.so.0
>  *  - /usr/lib32/libgdk-1.2.so.0.9.1
>  *      used by /opt/ut2003/updater/gtk_sh_ui.so (games-fps/ut2003-data-2107)
> >>> package: app-emulation/emul-linux-x86-baselibs-20140508-r14
>  *  - /usr/lib32/libglib-1.2.so.0
>  *  - /usr/lib32/libglib-1.2.so.0.0.10
>  *      used by /opt/ut2003/updater/gtk_sh_ui.so (games-fps/ut2003-data-2107)
>  *  - /usr/lib32/libgmodule-1.2.so.0
>  *  - /usr/lib32/libgmodule-1.2.so.0.0.10
>  *      used by /opt/ut2003/updater/gtk_sh_ui.so (games-fps/ut2003-data-2107)
> Use emerge @preserved-rebuild to rebuild packages using these libraries
> 
> So you may need
> >=dev-libs/glib-1.2.10-r5:1[abi_x86_32(-)]
> >=x11-libs/gtk+-1.2.10-r12:1[abi_x86_32(-)]
> in the dependencies (but those slots have no abi_x86_32 yet) or drop
> installation of the loki tools as I suggested in bug 522246.

Looks like these dependencies should rather be added to games-fps/ut2003-data then, because that's the package installing above mentioned libraries. (And that's also the reason why my scanelf didn't show them - I hadn't scanned ut2003-data.)


(In reply to Jan Buecken from comment #10)
> My usefalgs are "X alsa joystick opengl sound video". So I need to rebuild
> libsdl, drop each useflag one by one and start ut2003?

That would be best, of course. If that's too much effort, I'd suggest that you try without the ones that libsdl doesn't enable by default.
Comment 12 Jan Buecken 2014-09-07 18:53:02 UTC
By the way, to test use flags does not make sence:

ut2003 uses 
/opt/ut2003/System/libSDL-1.2.so.0
shipped with the package.
So it does not depend on 
>=media-libs/libsdl-1.2.15-r4[abi_x86_32(-)]
or any use flag for this package.

But: please read my patch 0003 in bug 522246. On my system I replaced
/opt/ut2003/System/libSDL-1.2.so.0
/opt/ut2003/System/openal.so
with a symlink to the system libs. Otherwise I have no sound. (That seems to be a common problem on modern environements)

I suggest we use USE-flags like "+system-sound" and "-loki-tools"?
If system-sound is used, the workaround above is applied automatically (Default: Do the workaround/enable the use flag)
and if loki-tools is used the loki updater files are installed (Default: do not install them/disable the use flag)

Any suggestions from your side?
Comment 13 Ulrich Müller gentoo-dev 2014-09-07 19:25:40 UTC
(In reply to Jan Buecken from comment #12)
> Any suggestions from your side?

Generally, it doesn't make sense to have USE flags that make the program fail if they're changed, or that don't add useful functionality.

So if using the system libsdl and openal is the only way to make the program work, then the ebuild should do that unconditionally. (But then again, we must find out what USE flags the system libsdl needs.)
Comment 14 Ulrich Müller gentoo-dev 2014-09-07 19:45:59 UTC
Anyway, this bug developed way beyond a bad dependency that QA could fix. So for now, I've only removed the emul-linux-x86-compat dependency. For the remaining issues, the games team needs to chime in.
Comment 15 Jan Buecken 2014-09-07 20:17:23 UTC
(In reply to Ulrich Müller from comment #13)

> So if using the system libsdl and openal is the only way to make the program
> work, then the ebuild should do that unconditionally. (But then again, we
> must find out what USE flags the system libsdl needs.)

For the system libsdl we need
X,video,opengl,joystick