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
> ---------------------------------------------------------


Reply via email to