Created attachment 505064 [details]
rygel fails to update for me:
../../src/librygel-server/.libs/librygel-server-2.6.so: undefined reference to `media_art_plugin_init'
It does have a point:
$ grep plugin_init /usr/include/libmediaart-2.0/libmediaart/*.h
/usr/include/libmediaart-2.0/libmediaart/extractgeneric.h:void media_art_plugin_init (gint max_width);
$ objdump -T /usr/lib64/libmediaart-2.0.so.0 | grep plugin
# shows nothing
So apparently there is some method declared in a header but not defined in the libmediaart library.
Created attachment 505068 [details]
libmediaart build log
My libmediaart is configured USE="qt5 -gtk -vala". The extract implementation thus comes from extractqt.cpp which does not include extractgeneric.h and thus does not have the _LIBMEDIAART_EXTERN macro in front of the function declaration. This makes the whole symbol non-external, and via the -fvisibility=hidden linker flag hidden. objdump -t does show the symbol in the build directory, but the stripped version in the install directory no longer has it.
Created attachment 505236 [details, diff]
Patch libmediaart adding #include "extractgeneric.h" to extractqt.cpp
With this patch in place, the symbol becomes public, and rygel can link. I placed this in /etc/portage/patches/media-libs/libmediaart-1.9.4/ to let user patches pick it up.