If you guys want an ASCII graph plotter, you could rip off the code here: https://github.com/scalability-llnl/spack/blob/master/lib/spack/spack/graph. py#L31
It prints little ascii graphs of dependencies, like git log --graph. Example: o mpileaks |\ | |\ | o | callpath |/| | | |\| | |\ \ | | |\ \ | | | | o adept-utils | |_|_|/| |/| | | | o | | | | mpi / / / / | | o | dyninst | |/| | |/|/| | | | |/ | o | libdwarf |/ / o | libelf / o boost It gets more complicated with things like qt :). From: Geert Jan BEX <[email protected]> Reply-To: "[email protected]" <[email protected]> List-Post: [email protected] Date: Wednesday, March 11, 2015 at 6:44 AM To: "[email protected]" <[email protected]> Subject: Re: [easybuild] Dependency tree > Hi all, > > Being faced with similar questions (which module depends on which) I wrote a > small utility to compute dependencies from a directory of module files (hence > it is not specific to EasyBuild). Given a module name, it will recursively > list all dependencies or reverse dependencies. > > It is certainly rough around the edges, but it serves my needs. If you like > to try it, feel free: > https://github.com/gjbex/vsc-module-dependencies > > It requires Python 2.7.x. > > Best regards, -gjb- > > > On Tue, Mar 10, 2015 at 9:49 PM, Kenneth Hoste <[email protected]> wrote: >> Hi Kilian, >> >> On 10/03/15 18:32, Kilian Cavalotti wrote: >>> > On Tue, Mar 10, 2015 at 10:18 AM, Stuart Barkley <[email protected]> wrote: >>>> >> Is there a good way to see a dependency tree with easybuild (I'm now >>>> >> running 2.0.0)? I'm trying to reconcile different dependency >>>> >> requirements for my large build and am finding it difficult to >>>> >> determine what packages are requiring other packages. >>> > +1 on that. And that would be a good start to implement an "uninstall" >>> > option, as described in >>> > https://github.com/hpcugent/easybuild-framework/issues/590 >>> > BTW, this was supposed to be part of EB 2.0 (cf. #1000), but it >>> > apparently got postponed. >> >> Just to clarify: having support for uninstalling installations performed >> with EasyBuild was never part of the release plan for EasyBuild v2.0 >> (see the description in >> https://github.com/hpcugent/easybuild-framework/issues/1000), it was >> just mentioned by someone that this may be interested/useful to have it >> in there. >> >> There are a couple of issues that make support for uninstalling stuff >> difficult, or even impossible, to get right (as was discussed during the >> last hackathon, I believe): >> >> - it requires support for enabling reverse dependency tracking (not >> trivial, but doable) >> - it requires to be able to generate reverse dependency info for an >> existing install base; either the reverse deps information is complete, >> or useless (not that easy) >> - even with reverse dependency tracking in place, there's never a >> guarantee that something can be removed without damaging other >> installations that depend on what's being removed (consider software >> stacks installed in different installation prefixes, but with >> cross-dependencies) >> >> The main issue is that nobody has really picked up on this yet, so no >> work is being done on it actively. >> Unfortunately, features (and the documentation to go with them) don't >> appear out of thin air. ;-) >> >> The guys in Jülich have done some scripting related to this (see >> https://github.com/hpcugent/easybuild-framework/pull/1190), some ideas >> can be stolen from there to incorporate into the EasyBuild framework to >> add support for uninstalling stuff, but it's never going to be perfect >> (in the sense that it'll probably always need to be combined with >> --force together with getting a warning thrown at you when using >> --uninstall). >> >> >> regards, >> >> Kenneth > > > > -- > - dr. Geert Jan BEX > - HPC analyst/consultant Hasselt University & University of Leuven > - email: [email protected] > - homepage: http://alpha.uhasselt.be/~gjb/ > - PGP public key: http://alpha.uhasselt.be/~gjb/pgp.txt > ---------------------------------------------------------

