Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 522150 - games-action/spacetripper-demo-1: missing USE flag deps on libsdl
Summary: games-action/spacetripper-demo-1: missing USE flag deps on libsdl
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Games (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords: QAbaddep, QAcanfix
Depends on:
Blocks: 466750
  Show dependency tree
 
Reported: 2014-09-04 14:09 UTC by Ulrich Müller
Modified: 2014-09-07 08:38 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 14:09:53 UTC
According to scanelf, this links only against opengl and libsdl, but not (directly) against anything in xlibs, soundlibs, or compat libraries.

So AFAICS the correct dependencies are:

RDEPEND="
    || (
        >=virtual/opengl-7.0-r1[abi_x86_32(-)]
        >=media-libs/libsdl-1.2.15-r4[abi_x86_32(-)]
        amd64? (
            app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)]
            app-emulation/emul-linux-x86-sdl[-abi_x86_32(-)]
        )
    )"
Comment 1 Julian Ospald 2014-09-04 15:43:01 UTC
I'm not sure what's with the series of these bug reports. ldd clearly shows linkage to these libs. The NEEDED entries you are probably querying with scanelf are nonsensical for binary packages since we have no idea how these were compiled and they will just fail to start, even if supposedly unneccessary deps (which were wrongly linked in) are not on the system.

Please try removing xlibs or pulseaudio from your system and start the game.

There are rather deps MISSING. For example dev-libs/json-c.
Comment 2 Ulrich Müller gentoo-dev 2014-09-04 16:02:41 UTC
(In reply to Julian Ospald (hasufell) from comment #1)
> I'm not sure what's with the series of these bug reports. ldd clearly shows
> linkage to these libs.

That's not surprising, because ldd will resolve the complete dependency tree, therefore including indirect dependencies.

If you doubt the output of scanelf, here's what objdump says:

$ objdump -p spacetripper-bin | grep NEEDED
  NEEDED               libSDL-1.2.so.0
  NEEDED               libpthread.so.0
  NEEDED               libGL.so.1
  NEEDED               libGLU.so.1
  NEEDED               libc.so.6

Again, there's only libc, libsdl, and opengl.
Comment 3 Julian Ospald 2014-09-04 16:25:55 UTC
(In reply to Ulrich Müller from comment #2)
> (In reply to Julian Ospald (hasufell) from comment #1)
> > I'm not sure what's with the series of these bug reports. ldd clearly shows
> > linkage to these libs.
> 
> That's not surprising, because ldd will resolve the complete dependency
> tree, therefore including indirect dependencies.
> 
> If you doubt the output of scanelf, here's what objdump says:
> 
> $ objdump -p spacetripper-bin | grep NEEDED
>   NEEDED               libSDL-1.2.so.0
>   NEEDED               libpthread.so.0
>   NEEDED               libGL.so.1
>   NEEDED               libGLU.so.1
>   NEEDED               libc.so.6
> 
> Again, there's only libc, libsdl, and opengl.

That doesn't matter. The package is currently broken for users who don't have pulseaudio installed, no matter if they actually use it or not.
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2014-09-04 16:28:28 UTC
Could you please paste the output of lddtree, then? Or a similar tool that shows exactly what links to pulseaudio.
Comment 5 Mike Gilbert gentoo-dev 2014-09-04 16:50:20 UTC
On pulseaudio, I wonder if maybe you have SDL_AUDIODRIVER=pulse in your environment? I imagine that would cause SDL to fail when pulse is not installed.

The xlibs "dependency" is probably indirect through SDL as well.
Comment 6 Mike Gilbert gentoo-dev 2014-09-04 16:52:26 UTC
Or maybe it is just because your SDL is linked against libpulse and you didn't rebuild it.

As mgorny suggests, lddtree output would be helpful.
Comment 7 Julian Ospald 2014-09-04 16:58:51 UTC
Yes, pulseaudio is indeed not needed. The correct dep however is

>=media-libs/libsdl-1.2.15-r4[abi_x86_32(-),X,video,joystick,opengl,sound]

You cannot figure that out with tools and the source code is not available.
Comment 8 Mike Gilbert gentoo-dev 2014-09-04 17:03:01 UTC
(In reply to Julian Ospald (hasufell) from comment #7)
> You cannot figure that out with tools and the source code is not available.

Right. libSDL dlopens quite a few libraries. So that does make it more difficult to figure that out.