The vdpau_r600 target of media-libs/mesa-9.2.x needs c++ linking. However, it is only linked against libstdc++ if llvm is used. Reproducible: Always Steps to Reproduce: 1. Emerge mesa with USE=-llvm 2. run ldd -r /usr/lib64/vdpau/libvdpau_r600.so Actual Results: $ ldd -r /usr/lib64/vdpau/libvdpau_r600.so linux-vdso.so.1 (0x0000033616145000) libm.so.6 => /lib64/libm.so.6 (0x0000033615767000) librt.so.1 => /lib64/librt.so.1 (0x000003361555e000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000033615340000) libdl.so.2 => /lib64/libdl.so.2 (0x000003361513c000) libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x0000033614f3a000) libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0 (0x0000033614d33000) libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x0000033614b0a000) libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00000336148fb000) libdrm_radeon.so.1 => /usr/lib64/libdrm_radeon.so.1 (0x00000336146eb000) libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libgcc_s.so.1 (0x00000336144d4000) libc.so.6 => /lib64/libc.so.6 (0x0000033614128000) /lib64/ld-linux-x86-64.so.2 (0x0000033616146000) libXau.so.6 => /usr/lib64/libXau.so.6 (0x0000033613f23000) libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x0000033613d1c000) undefined symbol: _ZTVN10__cxxabiv120__si_class_type_infoE (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: __cxa_pure_virtual (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZTVN10__cxxabiv117__class_type_infoE (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZTVN10__cxxabiv121__vmi_class_type_infoE (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZNSs4_Rep20_S_empty_rep_storageE (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: __gxx_personality_v0 (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZdlPv (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZSt18_Rb_tree_decrementPSt18_Rb_tree_node_base (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: __cxa_end_catch (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZSt18_Rb_tree_incrementPKSt18_Rb_tree_node_base (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZNSsC1ERKSs (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZNSs6appendEPKcm (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZSt20__throw_out_of_rangePKc (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZNSsC1EmcRKSaIcE (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZNSs9_M_mutateEmmm (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZNSs6appendERKSs (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZNSsD1Ev (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZNSt8__detail15_List_node_base9_M_unhookEv (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZSt28_Rb_tree_rebalance_for_erasePSt18_Rb_tree_node_baseRS_ (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: __cxa_begin_catch (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZNSsC1EPKcRKSaIcE (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: __cxa_rethrow (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZNSs4_Rep10_M_destroyERKSaIcE (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _Znwm (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZNSt8__detail15_List_node_base11_M_transferEPS0_S1_ (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZSt18_Rb_tree_decrementPKSt18_Rb_tree_node_base (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZNSs6assignERKSs (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZNSt8__detail15_List_node_base7_M_hookEPS0_ (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZSt20__throw_length_errorPKc (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZSt29_Rb_tree_insert_and_rebalancebPSt18_Rb_tree_node_baseS0_RS_ (/usr/lib64/vdpau/libvdpau_r600.so) undefined symbol: _ZSt17__throw_bad_allocv (/usr/lib64/vdpau/libvdpau_r600.so) Expected Results: $ ldd -r /usr/lib64/vdpau/libvdpau_r600.so linux-vdso.so.1 (0x0000028aebb6e000) librt.so.1 => /lib64/librt.so.1 (0x0000028aeb283000) libpthread.so.0 => /lib64/libpthread.so.0 (0x0000028aeb066000) libdl.so.2 => /lib64/libdl.so.2 (0x0000028aeae61000) libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x0000028aeac5f000) libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0 (0x0000028aeaa59000) libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x0000028aea82f000) libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x0000028aea620000) libdrm_radeon.so.1 => /usr/lib64/libdrm_radeon.so.1 (0x0000028aea411000) libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libstdc++.so.6 (0x0000028aea0ec000) libm.so.6 => /lib64/libm.so.6 (0x0000028ae9df0000) libc.so.6 => /lib64/libc.so.6 (0x0000028ae9a44000) libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libgcc_s.so.1 (0x0000028ae982c000) /lib64/ld-linux-x86-64.so.2 (0x0000028aebb6f000) libXau.so.6 => /usr/lib64/libXau.so.6 (0x0000028ae9628000) libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x0000028ae9421000) E.g. mplayer will fail to show video if -vo vdpau is used.
Created attachment 365836 [details, diff] Patch Makefile.am to always link against libstdc++
Please also open a bug report about this upstream at https://bugs.freedesktop.org/ if no report already exists.
(In reply to Chí-Thanh Christopher Nguyễn from comment #2) > Please also open a bug report about this upstream at > https://bugs.freedesktop.org/ if no report already exists. My guess is that it's already fixed upstream, and that there's just a patch that needs to be cherry-picked, but I don't think any more 9.2.x releases are planned. I'll take a look.
Fixed in 9.2.5-r1