i made gdeptrace, it's for analysing depends, it would trace a whole lib system and order it if given the right (nm) input.
but NOTE: depends are subjective (half human made) and aren't "real" (don't tell the whole story). next note that compiling options (for ports) can RADICALLY CHANGE depends, softening them wholey or making them a total B**tch which (ubutnut) tends to do.
libs can be static (no depends, builtin to app, Apple BSD likes these though they take more space) or linked. any user who hates "dll hell" likes static, per say.
NEXT NOTE: gnu lib system (linux - unsure about freeBSD) with ld(1) are horrific complicated. libc shares memory with all "daughter libc" (instead of using a petty 1M to have a fresh libc for each app running, and yes - there are security issues resulting of one app breaching the other's libc), it has hooks in for tracers (which can be used to root system remotely on boot), marks regions of application for sharing memory between unfriendly apps or not by "hints" even if app doesn't hint: and expected ... has bugs, while also marking for non-sharing what - in unix - used to be shared by default (all apps a particular user runs as the same login name running) (these now need special libs and hints to share, where before they didn't). but how do you know what got marked which way? it's really damn complex and you don't.
MOSTLY NOTE: the ld(1) system allows "gnu configure / make" scripts to BYPASS everything like this: replace all calls for a compile program (say printf) with a different function call (so your looking at code thinking, ok simple this codes prints to screen, when actually code after substitution can read: ET PHONE HOME here). it's done at the label/linker level, everything is "hacker friendly"
(keep in mind i was speaking of linux and am %100 correct, linux wise)
SO SLEEP WELL. forgetta bout it. libs are not simple and "knowable" like they were in the COFF days. the good news is if you use freeBSD you have the source and have a chance to know if an app is "marking regions, making linker substitutions"
the best your gonna do here is "get the right depends" which the port should have already installed. perhaps use a port who's depends isn't broken (assuming your not making a new port)