Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 493120 - www-client/chromium is broken after gnome-3.8 update
Summary: www-client/chromium is broken after gnome-3.8 update
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Chromium Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-12-02 10:38 UTC by Agostino Sarubbo
Modified: 2013-12-03 19:33 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Agostino Sarubbo gentoo-dev 2013-12-02 10:38:09 UTC
ago@stonebridge ~ $ chromium
chromium-browser: symbol lookup error: chromium-browser: undefined symbol: hb_icu_get_unicode_funcs
Comment 1 Mike Gilbert gentoo-dev 2013-12-02 15:56:39 UTC
What version of chromium?

Is /usr/lib64/chromium-browser/chrome linked with libharfbuzz-icu.so.0?
Comment 2 Agostino Sarubbo gentoo-dev 2013-12-02 17:14:05 UTC
(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.
Comment 3 Mike Gilbert gentoo-dev 2013-12-02 17:21:07 UTC
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.
Comment 4 Agostino Sarubbo gentoo-dev 2013-12-02 20:43:09 UTC
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)
Comment 5 Mike Gilbert gentoo-dev 2013-12-02 21:16:40 UTC
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.
Comment 6 Paweł Hajdan, Jr. (RETIRED) gentoo-dev 2013-12-03 19:33:00 UTC
(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.