Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 61592 - circular dependency of libSDL and DirectFB.
Summary: circular dependency of libSDL and DirectFB.
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: SpanKY
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-08-24 19:16 UTC by Anton Starikov
Modified: 2004-09-19 18:00 UTC (History)
0 users

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 Anton Starikov 2004-08-24 19:16:13 UTC
Ok, I've found stupid problem during recompilation of my system (emerge -e world, USE="... directfb..." )
It seems that DirectFB depend on libSDL. Not in ebuild, but if you have already merged libsdl, then DirectFB make libdirectfb_sdl.so, which depend on libsdl. But libSDL can depend on DirectFB via "directfb" USE flag.

So, in the situation, when libSDL broken (I just unmerge ggi and remove it from my USE before recompiling system, libSDL originaly was linked against libggi), for example, when you try to remerge both of them, portage choose to merge DirectFB first, because it known for portage, that libSDL depend on DirectFB...but...if you have already libSDL in the system, DirectFB trying to make libdirectfb_sdl.so and fail, if libSDL broken.

Some kind of non-trivial cycling dependency. It need to be resolved somehow, I guess. But I really don't have ideas how exactly.

BTW, it seems, if you build system from scratch and want both of them, and want from each support for another, you just can't :) libSDL will use DirectFB, but DirectFB will not use libSDL. One more merging of DirectFB will change situation.

Very easy to reproduce. Just temporary remove some library, against of which is linked libSDL.so and try to emerge DirectFB. Or both of them, for pure experiment, with setted USE="directfb". It will fail.
Comment 1 Anton Starikov 2004-08-24 19:21:19 UTC
Theoreticaly, ebuild of DirectFB should check for "sdl" in USE flags.
But when you have swithed both flags, "sdl" and "directfb", you are coming to really funny problem, when build you system from scratch. 
Comment 2 SpanKY gentoo-dev 2004-09-09 19:35:13 UTC
added code to DirectFB to disable SDL if libSDL.so is broken

i'll update libsdl in a bit
Comment 3 SpanKY gentoo-dev 2004-09-19 18:00:31 UTC
added code for sdl now too