On 11/03/15 20:05, Todd Gamblin wrote:
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

As Todd and I have discussed before: joining forces would be great, rather than ripping bits and pieces out of each others tool.
But it's not clear how we could make that work in practice.

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



This certainly looks interesting, but may be too complicated? Is this a single dep graph for adept-utils?

I was thinking about just indenting dependencies as they are deeper down the dep graph, but I'm not sure if that's sufficient/doable.

It gets more complicated with things like qt :).

Can it handle QIIME? That would certainly convince me if that's still readable. ;-)
http://users.ugent.be/~kehoste/QIIME.pdf


regards,

Kenneth



From: Geert Jan BEX <[email protected] <mailto:[email protected]>> Reply-To: "[email protected] <mailto:[email protected]>" <[email protected] <mailto:[email protected]>>
Date: Wednesday, March 11, 2015 at 6:44 AM
To: "[email protected] <mailto:[email protected]>" <[email protected] <mailto:[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] <mailto:[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] 
<mailto:[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] <mailto:[email protected]>
    - homepage: http://alpha.uhasselt.be/~gjb/
    <http://alpha.uhasselt.be/%7Egjb/>
    - PGP public key: http://alpha.uhasselt.be/~gjb/pgp.txt
    <http://alpha.uhasselt.be/%7Egjb/pgp.txt>
    ---------------------------------------------------------


Reply via email to