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