Trying to emerge xmame 0.79-1 fails with the following message: ... Compiling src/drivers/ladyfrog.c ... Compiling src/drivers/rabbit.c ... Compiling src/drivers/malzak.c ... Compiling src/vidhrdw/malzak.c ... Compiling src/drivers/supertnk.c ... Compiling src/drivers/crospang.c ... Compiling src/vidhrdw/crospang.c ... Compiling src/drivers/funybubl.c ... Compiling src/vidhrdw/funybubl.c ... Archiving xmame.obj/other.a ... Compiling src/machine/neogeo.c ... Compiling src/machine/pd4990a.c ... Compiling src/machine/neocrypt.c ... Compiling src/vidhrdw/neogeo.c ... Compiling src/drivers/neogeo.c ... Archiving xmame.obj/neogeo.a ... Compiling src/vidhrdw/vector.c ... Linking xmame.SDL ... /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.2/../../../../i686-pc-linux-gnu/bin/ld: w arning: libdirectfb-0.9.so.19, needed by /usr/lib/libSDL.so, not found (try usin g -rpath or -rpath-link) /usr/lib/libSDL.so: undefined reference to `DirectFBCreate' /usr/lib/libSDL.so: undefined reference to `DirectFBErrorString' /usr/lib/libSDL.so: undefined reference to `DirectFBError' /usr/lib/libSDL.so: undefined reference to `DirectFBInit' collect2: ld returned 1 exit status make: *** [xmame.SDL] Error 1 !!! ERROR: games-emulation/xmame-0.79.1 failed. !!! Function src_compile, Line 169, Exitcode 2 !!! emake failed (SDL) Seems like trying to link against libdirectfb-0.9.so.19 meanwhile directfb-0.9.20 is installed in the system. I don't know if this is directfb's problem or xmame's, since I do not have enough knowledge on how linking affects libraries in linux; would it be enough to symlink libdirectfb-0.9.so.20 to libdirectfb-0.9.so.19? Reproducible: Always Steps to Reproduce: 1.emerge -v xmame 2. 3.
no, if you have a broken library link like that, never symlink libraries unless you know exactly what you're doing in this case, re-emerge libsdl
....now I know, since I didn't have the chance to see what the update of directfb said after emerging it (especially when you emerge -u world).... I guess that something should be done with emerge in order to see at the effective end of emerging many packages such related info: * Each DirectFB update in the 0.9.xx series * breaks DirectFB related applications. * Please run `revdep-rebuild` which can be * found by emerging the package 'gentoolkit'. Oh, by the way, it was DirectFB to re-emerge, and not libsdl, right? either way, I emerged both, no problems so far. I guess I'll have to enable portage logging and take a look at the log from now on :) Thank you!
you only needed to rebuild libsdl ;) Bug 11359 deals with handling of post-emerge output but yeah, generally things linked against DirectFB need to be rebuilt everytime it's upgraded (since they havent stabilized the API yet, the binaries probably wouldnt be compatible)