Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 148906 - dev-libs/DirectFB and media-libs/libsdl circular dependency
Summary: dev-libs/DirectFB and media-libs/libsdl circular dependency
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Games
Depends on:
Reported: 2006-09-24 04:22 UTC by Mykhaylo Kopytonenko
Modified: 2007-02-08 20:55 UTC (History)
3 users (show)

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


Note You need to log in before you can comment on or make changes to this bug.
Description Mykhaylo Kopytonenko 2006-09-24 04:22:07 UTC
There is a circular dependency between DirectFB and libsdl, if directfb and sdl USE-flags enabled.
Compilation of DirectFB fails with error:
sdlinput.c:36:17: error: SDL.h: No such file or directory.
Compilation of libsdl fails with error:
SDL_DirectFB_events.c:32:22: error: directfb.h: No such file or directory

How to reproduce:
1. Make sure both DirectFB and libsdl are not installed
2. Enable both directfb and libsdl USE-flags in /etc/make.conf
3. Try to emerge either DirectFB or libsdl.

A possible workaround is to disable directfb USE-flag, then libsdl compiles OK.

My output of emerge --info:

Portage 2.1.1 (default-linux/x86/2006.1/desktop, gcc-4.1.1, glibc-2.4-r3, 2.6.17-gentoo-r8 i686)
System uname: 2.6.17-gentoo-r8 i686 AMD Athlon(tm) XP 2700+
Gentoo Base System version 1.12.5
Last Sync: Sat, 23 Sep 2006 11:00:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
app-admin/eselect-compiler: [Not Present]
dev-java/java-config: [Not Present]
dev-lang/python:     2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.6.3, 1.7.9-r1, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.17-r1
CFLAGS="-O2 -g0 -march=athlon-xp -pipe -fomit-frame-pointer"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -g0 -march=athlon-xp -pipe -fomit-frame-pointer"
FEATURES="autoconfig distlocks fixpackages metadata-transfer parallel-fetch sandbox sfperms strict"
LINGUAS="en ru"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
USE="x86 3dnow 3dnowext X a52 aac alsa berkdb bidi bitmap-fonts bluetooth boundschecking cairo caps cddb cdio cdr chroot cli crypt css dbus dga directfb divx divx4linux dlloader dri dts dvb dvd dvdr dvdread elibc_glibc emboss encode esd exif fam fbcon ffmpgeg firefox flac font-server fortran freetype ftp gdbm gif glitz gpm gs gtk gtk2 gtkhtml hal icq imlib input_devices_keyboard input_devices_mouse isdnlog jpeg kde kdeenablefinal kdepim kdexdeltas kernel_linux linguas_en linguas_ru live lm_sensors mad matroska mikmod mmx mmxext mozilla mp3 mpeg mplayer ncurses network nls noamazon nptl nptlonly nsplugin nvidia ogg openal opengl pam pcre pdf perl plotutils png ppds pppd qt3 qt4 quicktime readline real reflection reiser4 reiserfs rtc sdl session silverxp spell spl sse ssl stream svg svga tcltk tcpd tetex truetype truetype-fonts type1-fonts udev unicode usb userland_GNU vchroot video_cards_fbdev video_cards_nv video_cards_nvidia video_cards_v4l video_cards_vesa vlm vorbis win32codecs wma wmf wxgtk1 wxwindows xcomposite xml xorg xosd xscreensaver xv xvid zlib"
Comment 1 SpanKY gentoo-dev 2006-09-24 04:36:27 UTC
both libsdl and the directfb packages check for the circular issue

you didnt say what versions of directfb or libsdl you're using ... also, post full build logs rather than just snippets
Comment 2 Mykhaylo Kopytonenko 2006-09-24 09:52:10 UTC
This bug was noticed with the following versions of the packages:

Now I have rersync'ed the portage database, and both packages compile. However, there is a warning that the support for the other library will be disabled. The initial bug cannot be reproduced anymore.

Examples of the warnings:

1) Emerging libsdl:

emerge -av libsdl
[ebuild  N    ] dev-libs/DirectFB-0.9.24  USE="fbcon gif jpeg mmx mpeg png sdl sse truetype zlib -debug -fusion -static -sysfs" 0 kB
[ebuild  N    ] media-libs/libsdl-1.2.11  USE="X alsa dga directfb fbcon opengl svga xv -aalib -arts -esd -ggi -libcaca -nas -noaudio -noflagstrip -nojoystick -novideo -oss -xinerama" 0 kB

>>> Emerging (1 of 2) dev-libs/DirectFB-0.9.24 to /
>>> Compiling source in /var/tmp/portage/DirectFB-0.9.24/work/DirectFB-0.9.24 ...
 * Disabling SDL since is broken
 * econf: updating DirectFB-0.9.24/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating DirectFB-0.9.24/config.sub with /usr/share/gnuconfig/config.sub
./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --enable-fbdev --enable-mmx --enable-sse --enable-libmpeg3 --enable-jpeg --enable-png --enable-gif --enable-freetype --disable-multi --disable-debug --disable-static --disable-sysfs --enable-zlib --disable-sdl --with-gfxdrivers=nvidia --with-inputdrivers=keyboard --disable-vnc --build=i686-pc-linux-gnu

2) Emerging DirectFB:

emerge -av DirectFB
[ebuild  N    ] media-libs/libsdl-1.2.11  USE="X alsa dga directfb fbcon opengl svga xv -aalib -arts -esd -ggi -libcaca -nas -noaudio -noflagstrip -nojoystick -novideo -oss -xinerama" 0 kB
[ebuild  N    ] dev-libs/DirectFB-0.9.24  USE="fbcon gif jpeg mmx mpeg png sdl sse truetype zlib -debug -fusion -static -sysfs" 0 kB

>>> Emerging (1 of 2) media-libs/libsdl-1.2.11 to /
>>> Compiling source in /var/tmp/portage/libsdl-1.2.11/work/SDL-1.2.11 ...
 * Disabling DirectFB since is broken
 * econf: updating SDL-1.2.11/build-scripts/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating SDL-1.2.11/build-scripts/config.sub with /usr/share/gnuconfig/config.sub
./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --disable-dependency-tracking --disable-rpath --enable-events --enable-cdrom --enable-threads --enable-timers --enable-endian --enable-file --enable-cpuinfo --disable-oss --enable-alsa --disable-esd --disable-arts --disable-nas --enable-video-x11 --enable-dga --enable-video-x11-xv --disable-video-x11-xinerama --enable-video-x11-xrandr --enable-video-dga --enable-video-fbcon --disable-video-ggi --enable-video-svga --disable-video-aalib --disable-video-caca --enable-video-opengl --with-x --disable-video-x11-xme --enable-nasm --enable-video-dummy --disable-video-directfb --build=i686-pc-linux-gnu

The workaround is to recompile the library that was emerged first (with the disabling warning) in order to enable support for the second library.
For example, compiling libsdl, DirectFB and again libsdl gives no warnings in the end:

>>> Compiling source in /var/tmp/portage/libsdl-1.2.11/work/SDL-1.2.11 ...
 * econf: updating SDL-1.2.11/build-scripts/config.guess with
 * /usr/share/gnuconfig/config.guess
  * econf: updating SDL-1.2.11/build-scripts/config.sub with
  * /usr/share/gnuconfig/config.sub

  ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man
  --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
  --localstatedir=/var/lib --disable-dependency-tracking --disable-rpath
  --enable-events --enable-cdrom --enable-threads --enable-timers
  --enable-endian --enable-file --enable-cpuinfo --disable-oss --enable-alsa
  --disable-esd --disable-arts --disable-nas --enable-video-x11 --enable-dga
  --enable-video-x11-xv --disable-video-x11-xinerama --enable-video-x11-xrandr
  --enable-video-dga --enable-video-fbcon --disable-video-ggi
  --enable-video-svga --disable-video-aalib --disable-video-caca
  --enable-video-opengl --with-x --disable-video-x11-xme --enable-nasm
  --enable-video-dummy --enable-video-directfb --build=i686-pc-linux-gnu
Comment 3 SpanKY gentoo-dev 2006-09-24 14:26:14 UTC
ok ...
Comment 4 SpanKY gentoo-dev 2006-09-24 14:26:52 UTC
we'll assume your tree is out of date

the warning is what you should get as there isnt anything we can really do about this
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2006-10-22 13:13:55 UTC
*** Bug 152405 has been marked as a duplicate of this bug. ***
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2006-10-22 13:19:36 UTC
Well, if there's no better solution, mark this CANTFIX, but it really is not invalid.

# USE="-* directfb sdl" emerge -pv libsdl

These are the packages that would be merged, in order:

Calculating dependencies... done!
!!! Error: circular dependencies:

ebuild / media-libs/libsdl-1.2.11 merge depends on
   ebuild / dev-libs/DirectFB- merge (hard)
ebuild / dev-libs/DirectFB- merge depends on
   ebuild / media-libs/libsdl-1.2.11 merge (hard)
Comment 7 SpanKY gentoo-dev 2006-10-23 15:17:09 UTC
it was INVALID as the portage stuff you speak of did not exist at the time and the bug reported here is unrelated to your output
Comment 8 DEMAINE Benoît-Pierre, aka DoubleHP 2007-02-08 20:55:09 UTC
Isn't this bug in fact dup of bug #152405 ?