Summary: | sys-devel/gettext-0.18.3.1-r1 with dev-libs/libxml2[lzma,icu]: automagic dependency on dev-libs/icu? | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | David Kredba <kredba> |
Component: | [OLD] Core system | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | RESOLVED INVALID | ||
Severity: | normal | CC: | alex_y_xu |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
config.log
build.log |
Description
David Kredba
2014-01-17 18:03:14 UTC
Created attachment 368026 [details]
config.log
Created attachment 368028 [details]
build.log
/usr/bin/gettext is OK: linux-vdso.so.1 (0x00007fffa228d000) libc.so.6 => /lib64/libc.so.6 (0x00007f4e83028000) libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f4e8359c000) /lib64/ld-linux-x86-64.so.2 (0x00007f4e833da000) /usr/bin/msgattrib is not OK: linux-vdso.so.1 (0x00007fff4a126000) libc.so.6 => /lib64/libc.so.6 (0x00007f856e056000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f856de3a000) libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f856e5c9000) libgettextsrc-0.18.3.so => /usr/lib64/libgettextsrc-0.18.3.so (0x00007f856dbf7000) libgettextlib-0.18.3.so => /usr/lib64/libgettextlib-0.18.3.so (0x00007f856d928000) /lib64/ld-linux-x86-64.so.2 (0x00007f856e408000) libacl.so.1 => /lib64/libacl.so.1 (0x00007f856d720000) libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f856d3bb000) libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f856d164000) libattr.so.1 => /lib64/libattr.so.1 (0x00007f856cf5f000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f856cd5b000) libicuuc.so.52 => /usr/lib64/libicuuc.so.52 (0x00007f856c9e7000) libz.so.1 => /lib64/libz.so.1 (0x00007f856c7d0000) liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f856c5ad000) libm.so.6 => /lib64/libm.so.6 (0x00007f856c2ac000) libicudata.so.52 => /usr/lib64/libicudata.so.52 (0x00007f856aa3f000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f856e4ad000) Can it be libxml2 built with USE=icu? It is. ldd /usr/bin/msgfmt linux-vdso.so.1 (0x00007fff423a7000) libgettextsrc-0.18.3.so => /usr/lib64/libgettextsrc-0.18.3.so (0x00007f3377ac6000) libgettextlib-0.18.3.so => /usr/lib64/libgettextlib-0.18.3.so (0x00007f33777f8000) libc.so.6 => /lib64/libc.so.6 (0x00007f3377446000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f337722a000) libacl.so.1 => /lib64/libacl.so.1 (0x00007f3377022000) libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f3376cc1000) libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f3376a6a000) /lib64/ld-linux-x86-64.so.2 (0x00007f3377d09000) libattr.so.1 => /lib64/libattr.so.1 (0x00007f3376865000) libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f3377ec8000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f3376661000) libz.so.1 => /lib64/libz.so.1 (0x00007f337644a000) libm.so.6 => /lib64/libm.so.6 (0x00007f3376149000) Lesson learned. Could you please think about to inform people in ebuild that libxml2[lzma,icu] will make big parts of gettext binaries depend on icu and lzma libraries? It's an indirect dependency and ldd isn't designed to show you that, only the entire batch of libraries it links to at run time. Try lddtree for a better picture. Or `scanelf -n' to get a list of only its directly linked libraries. gettext links directly against libxml2, so it indirectly uses whatever libxml2 is using. Hello, here it is. lddtree without [icu,lzma on libxml2]: /usr/bin/msgfmt (interpreter => /lib64/ld-linux-x86-64.so.2) libgettextsrc-0.18.3.so => /usr/lib64/libgettextsrc-0.18.3.so libacl.so.1 => /lib64/libacl.so.1 libattr.so.1 => /lib64/libattr.so.1 libxml2.so.2 => /usr/lib64/libxml2.so.2 libdl.so.2 => /lib64/libdl.so.2 libz.so.1 => /lib64/libz.so.1 libm.so.6 => /lib64/libm.so.6 libncurses.so.5 => /lib64/libncurses.so.5 libgettextlib-0.18.3.so => /usr/lib64/libgettextlib-0.18.3.so libc.so.6 => /lib64/libc.so.6 libpthread.so.0 => /lib64/libpthread.so.0 lddtree with [icu,lzma on libxml2]: /usr/bin/msgfmt (interpreter => /lib64/ld-linux-x86-64.so.2) libgettextsrc-0.18.3.so => /usr/lib64/libgettextsrc-0.18.3.so libacl.so.1 => /lib64/libacl.so.1 libattr.so.1 => /lib64/libattr.so.1 libxml2.so.2 => /usr/lib64/libxml2.so.2 libdl.so.2 => /lib64/libdl.so.2 libicuuc.so.52 => /usr/lib64/libicuuc.so.52 libicudata.so.52 => /usr/lib64/libicudata.so.52 libstdc++.so.6 => /usr/lib64/libstdc++.so.6 libgcc_s.so.1 => /uET_EXEC libgettextsrc- scanelf -n /usr/bin/msgfmt TYPE NEEDED FILE 0.18.3.so,libgettextlib-0.18.3.so,libc.so.6,libpthread.so.0 /usr/bin/msgfmtsr/lib64/libgcc_s.so.1 libz.so.1 => /lib64/libz.so.1 liblzma.so.5 => /lib64/liblzma.so.5 libm.so.6 => /lib64/libm.so.6 libncurses.so.5 => /lib64/libncurses.so.5 libgettextlib-0.18.3.so => /usr/lib64/libgettextlib-0.18.3.so libc.so.6 => /lib64/libc.so.6 libpthread.so.0 => /lib64/libpthread.so.0 Hmm, am I broken? ( :-) ). I use trunk binutils. ldd keeps reporting this: ldd /usr/bin/msgfmt linux-vdso.so.1 (0x00007fff4a6a4000) libgettextsrc-0.18.3.so => /usr/lib64/libgettextsrc-0.18.3.so (0x00007f89ad32a000) libgettextlib-0.18.3.so => /usr/lib64/libgettextlib-0.18.3.so (0x00007f89ad05d000) libc.so.6 => /lib64/libc.so.6 (0x00007f89accab000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f89aca8f000) libacl.so.1 => /lib64/libacl.so.1 (0x00007f89ac887000) libxml2.so.2 => /usr/lib64/libxml2.so.2 (0x00007f89ac528000) libncurses.so.5 => /lib64/libncurses.so.5 (0x00007f89ac2d2000) /lib64/ld-linux-x86-64.so.2 (0x00007f89ad56c000) libattr.so.1 => /lib64/libattr.so.1 (0x00007f89ac0ce000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f89abeca000) libicuuc.so.52 => /usr/lib64/libicuuc.so.52 (0x00007f89abb55000) libz.so.1 => /lib64/libz.so.1 (0x00007f89ab940000) liblzma.so.5 => /lib64/liblzma.so.5 (0x00007f89ab71e000) libm.so.6 => /lib64/libm.so.6 (0x00007f89ab41d000) libicudata.so.52 => /usr/lib64/libicudata.so.52 (0x00007f89a9bb1000) libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007f89ad60a000) libgcc_s.so.1 => /usr/lib64/libgcc_s.so.1 (0x00007f89ad5f3000) And at runtime it killed older gcc bootsrap from a newer gcc but when I ran the failing command by hand it succeeded. (In reply to David Kredba from comment #6) all that shows is that gettext links against libxml2, and libxml2 links against libicu. gettext itself is not linking against libicu. the gettext ebuild depends on libxml2, and libxml2 depends on icu. not a bug. |