Print +REQUIRED_BY as tree?

Lev Serebryakov lev at FreeBSD.org
Mon Sep 12 19:58:42 UTC 2011


Hello, Doug.
You wrote 12 сентября 2011 г., 23:43:03:

> It's not as easy to represent the data in the way you describe as you
> might think. Something like gcc is going to have multiple entry points
> in a graph, which is really hard to represent in a (sort of)
> 1-dimensional structure like a tree.
  Forest will be Ok, too :) It seems, that root of gcc44 dependency is
x264, but I'm not sure, that it is ONLY root.

> I would imagine that all of the ones you compiled with it do since they
> are almost certainly linked with the libgcc that comes with gcc44.
  [many bad words skipped]. WHY, OH, WHY libgcc is not used as
static library?! It is only implementation of some intrinsics, am I right?

  And now gcc4 is DEPRECATED, so I need to rebuild ANY port,
which is depend on it (via some wired paths, whose I cannot not easily
track) to update it to gcc45?! Ouch.

 How could I determine which ports are directly lined with libgcc from
gcc44? ldd? But x264 itself (yes, it is built with GCC44 option) is
not linked to libgcc:

blob# ldd /usr/local/bin/x264
/usr/local/bin/x264:
        libgpac.so.1 => /usr/local/lib/libgpac.so.1 (0x800812000)
        libz.so.5 => /lib/libz.so.5 (0x800be3000)
        libm.so.5 => /lib/libm.so.5 (0x800cf8000)
        libthr.so.3 => /lib/libthr.so.3 (0x800e18000)
        libc.so.7 => /lib/libc.so.7 (0x800f31000)
        libssl.so.6 => /usr/lib/libssl.so.6 (0x801172000)
        libcrypto.so.6 => /lib/libcrypto.so.6 (0x8012c5000)
        libjpeg.so.11 => /usr/local/lib/libjpeg.so.11 (0x801565000)
        libpng.so.6 => /usr/local/lib/libpng.so.6 (0x80169b000)

I could check all binaries and shared libs, of course, (find, xargs,
ldd), but it is not what I call "user friendly" :(

-- 
// Black Lion AKA Lev Serebryakov <lev at FreeBSD.org>



More information about the freebsd-ports mailing list