ago@stonebridge ~ $ chromium chromium-browser: symbol lookup error: chromium-browser: undefined symbol: hb_icu_get_unicode_funcs
What version of chromium? Is /usr/lib64/chromium-browser/chrome linked with libharfbuzz-icu.so.0?
(In reply to Mike Gilbert from comment #1) > What version of chromium? latest stable. > Is /usr/lib64/chromium-browser/chrome linked with libharfbuzz-icu.so.0? I don't know, since I need a functionally chrome I recompiled it. I pointed out the bug because revdep-rebuild does not catch it.
Ok, well there is nothing we can really look into without additional information about the system. If you have already rebuilt chromium and have no backup copy, then there is nothing we can do at all.
On broken system, chrome is not linked with libharfbuzz-icu.so.0, is linked with libharfbuzz.so.0 and revdep-rebuild does not complain about. (I'm using --ignore-built-slot-operator-deps y) ldd on chrome on broken system, requested by Pawel: ldd /usr/lib64/chromium-browser/chrome linux-vdso.so.1 (0x00007fff31d11000) libX11.so.6 => /usr/lib64/libX11.so.6 (0x00007fd6d018f000) libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x00007fd6cff85000) libXss.so.1 => /usr/lib64/libXss.so.1 (0x00007fd6cfd81000) libXext.so.6 => /usr/lib64/libXext.so.6 (0x00007fd6cfb6f000) librt.so.1 => /lib64/librt.so.1 (0x00007fd6cf967000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fd6cf763000) libgobject-2.0.so.0 => /usr/lib64/libgobject-2.0.so.0 (0x00007fd6cf513000) libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007fd6cf1ed000) libXtst.so.6 => /usr/lib64/libXtst.so.6 (0x00007fd6cefe7000) libgtk-x11-2.0.so.0 => /usr/lib64/libgtk-x11-2.0.so.0 (0x00007fd6ce9b9000) libgdk-x11-2.0.so.0 => /usr/lib64/libgdk-x11-2.0.so.0 (0x00007fd6ce707000) libpangocairo-1.0.so.0 => /usr/lib64/libpangocairo-1.0.so.0 (0x00007fd6ce4fa000) libatk-1.0.so.0 => /usr/lib64/libatk-1.0.so.0 (0x00007fd6ce2d7000) libcairo.so.2 => /usr/lib64/libcairo.so.2 (0x00007fd6cdfd4000) libgdk_pixbuf-2.0.so.0 => /usr/lib64/libgdk_pixbuf-2.0.so.0 (0x00007fd6cddb5000) libgio-2.0.so.0 => /usr/lib64/libgio-2.0.so.0 (0x00007fd6cda5b000) libpango-1.0.so.0 => /usr/lib64/libpango-1.0.so.0 (0x00007fd6cd810000) libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007fd6cd572000) libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x00007fd6cd337000) libXi.so.6 => /usr/lib64/libXi.so.6 (0x00007fd6cd127000) libevent-2.0.so.5 => /usr/lib64/libevent-2.0.so.5 (0x00007fd6ccee0000) libplc4.so => /usr/lib64/libplc4.so (0x00007fd6cccdb000) libnspr4.so => /usr/lib64/libnspr4.so (0x00007fd6cca9d000) libsmime3.so => /usr/lib64/libsmime3.so (0x00007fd6cc870000) libnss3.so => /usr/lib64/libnss3.so (0x00007fd6cc534000) libnssutil3.so => /usr/lib64/libnssutil3.so (0x00007fd6cc309000) libicui18n.so.51 => /usr/lib64/libicui18n.so.51 (0x00007fd6cbf09000) libicuuc.so.51 => /usr/lib64/libicuuc.so.51 (0x00007fd6cbb96000) libz.so.1 => /lib64/libz.so.1 (0x00007fd6cb980000) libprotobuf.so.7 => /usr/lib64/libprotobuf.so.7 (0x00007fd6cb686000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd6cb46a000) libpng15.so.15 => /usr/lib64/libpng15.so.15 (0x00007fd6cb240000) libjpeg.so.8 => /usr/lib64/libjpeg.so.8 (0x00007fd6cafeb000) libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x00007fd6cade5000) libXcomposite.so.1 => /usr/lib64/libXcomposite.so.1 (0x00007fd6cabe2000) libre2.so.0 => /usr/lib64/libre2.so.0 (0x00007fd6ca984000) libpci.so.3 => /usr/lib64/libpci.so.3 (0x00007fd6ca778000) libasound.so.2 => /usr/lib64/libasound.so.2 (0x00007fd6ca499000) libXdamage.so.1 => /usr/lib64/libXdamage.so.1 (0x00007fd6ca296000) libopus.so.0 => /usr/lib64/libopus.so.0 (0x00007fd6ca057000) libsnappy.so.1 => /usr/lib64/libsnappy.so.1 (0x00007fd6c9e51000) libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007fd6c9af0000) libxslt.so.1 => /usr/lib64/libxslt.so.1 (0x00007fd6c98b6000) libm.so.6 => /lib64/libm.so.6 (0x00007fd6c95be000) libharfbuzz.so.0 => /usr/lib64/libharfbuzz.so.0 (0x00007fd6c9363000) libminizip.so.1 => /usr/lib64/libminizip.so.1 (0x00007fd6c9157000) libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007fd6c8f2e000) libspeechd.so.2 => /usr/lib64/libspeechd.so.2 (0x00007fd6c8d25000) libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3 (0x00007fd6c8ae8000) libudev.so.1 => /lib64/libudev.so.1 (0x00007fd6c88d6000) libFLAC.so.8 => /usr/lib64/libFLAC.so.8 (0x00007fd6c86a0000) libspeex.so.1 => /usr/lib64/libspeex.so.1 (0x00007fd6c8487000) libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libstdc++.so.6 (0x00007fd6c8180000) libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.7.3/libgcc_s.so.1 (0x00007fd6c7f6a000) libc.so.6 => /lib64/libc.so.6 (0x00007fd6c7bc6000) libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x00007fd6c79a7000) /lib64/ld-linux-x86-64.so.2 (0x00007fd6d04c8000) libffi.so.6 => /usr/lib64/libffi.so.6 (0x00007fd6c779f000) libgmodule-2.0.so.0 => /usr/lib64/libgmodule-2.0.so.0 (0x00007fd6c759b000) libpangoft2-1.0.so.0 => /usr/lib64/libpangoft2-1.0.so.0 (0x00007fd6c736f000) libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x00007fd6c7165000) libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x00007fd6c6f5a000) libpixman-1.so.0 => /usr/lib64/libpixman-1.so.0 (0x00007fd6c6cc0000) libEGL.so.1 => /usr/lib64/libEGL.so.1 (0x00007fd6c6aa2000) libGL.so.1 => /usr/lib64/libGL.so.1 (0x00007fd6c6844000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fd6c662d000) libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fd6c641d000) libplds4.so => /usr/lib64/libplds4.so (0x00007fd6c6219000) libicudata.so.51 => /usr/lib64/libicudata.so.51 (0x00007fd6c4acd000) libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007fd6c48b0000) libltdl.so.7 => /usr/lib64/libltdl.so.7 (0x00007fd6c46a6000) libXau.so.6 => /usr/lib64/libXau.so.6 (0x00007fd6c44a2000) libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6 (0x00007fd6c429c000) libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1 (0x00007fd6c409a000) libxcb-dri2.so.0 => /usr/lib64/libxcb-dri2.so.0 (0x00007fd6c3e95000) libxcb-xfixes.so.0 => /usr/lib64/libxcb-xfixes.so.0 (0x00007fd6c3c8e000) libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007fd6c3a82000) libglapi.so.0 => /usr/lib64/libglapi.so.0 (0x00007fd6c385c000) libxcb-glx.so.0 => /usr/lib64/libxcb-glx.so.0 (0x00007fd6c3644000) libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1 (0x00007fd6c343e000) ldd /usr/lib64/libharfbuzz.so.0 linux-vdso.so.1 (0x00007fff999ff000) libglib-2.0.so.0 => /usr/lib64/libglib-2.0.so.0 (0x00007f6e5441c000) libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x00007f6e5417e000) libgraphite2.so.3 => /usr/lib64/libgraphite2.so.3 (0x00007f6e53f60000) libc.so.6 => /lib64/libc.so.6 (0x00007f6e53bbc000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f6e539a0000) librt.so.1 => /lib64/librt.so.1 (0x00007f6e53797000) libz.so.1 => /lib64/libz.so.1 (0x00007f6e53581000) libbz2.so.1 => /lib64/libbz2.so.1 (0x00007f6e53371000) /lib64/ld-linux-x86-64.so.2 (0x00007f6e549b6000)
Ok, so I'm guessing this probably broke when you upgraded from harfbuzz-0.9.12 to harfbuzz-0.9.23. The symbols you are missing got moved between libraries starting with harfbuzz-0.9.18; see bug 472416. harfbuzz should have undergone an SONAME change at that point, but the upstream failed to do so. The lack of an SONAME change means that revdep-rebuild will not detect the breakage. The harfbuzz ebuild has a subslot change, so chromium would be automatically rebuilt for most users; ignoring the slot-operator deps means that this doest not happen on your system. In summary: revdep-rebuild is working as expected; the failure here is by the harfbuzz developers upstream. I think this is a CANTFIX for us.
(In reply to Mike Gilbert from comment #5) > I think this is a CANTFIX for us. Agreed. Using --ignore-built-slot-operator-deps y has its drawbacks. :-/ By the way, feel free to file a separate bug for revdep-rebuild not detecting this. With more thorough checks (probably beyond ldd, but also checking symbols) it should catch this.