Hi Caspar,
On 07/06/2018 12:07, Caspar van Leeuwen wrote:
Ah, to answer my own question, I think I know where the difference comes
from. With eb -S I find:
* $CFGS2/l/LibTIFF/LibTIFF-4.0.9-GCCcore-6.4.0.eb
* $CFGS2/l/LibTIFF/LibTIFF-4.0.9-foss-2017b.eb
but the only version for libpng is
* $CFGS1/l/libpng/libpng-1.6.32-GCCcore-6.4.0.eb
I guess that means that EasyBuild looks at which EasyConfigs are
available (and not which modules are actually installed), and thén goes
for the 'maximal-toolchain' unless you specify --minimal-toolchain.
Indeed, and that's actually considered a bug, see
https://github.com/easybuilders/easybuild-framework/issues/2375 .
regards,
Kenneth
I'm doubting whether I should simply set --minimal-toolchain (=True) as
default on the system. Any people who do that? Any reasons why I shouldn't?
Cheers,
Caspar
------------------------------------------------------------------------
*From: *"Caspar van Leeuwen" <[email protected]>
*To: *"easybuild" <[email protected]>
*Sent: *Thursday, 7 June, 2018 11:42:37
*Subject: *[easybuild] Dependency resolution for dependencies build with
subtoolchains
Hi all,
I keep being puzzled by the dependency resolution step in EasyBuild. I'm
trying to install GDAL-2.2.3-foss-2017b-Python-2.7.14.eb. Among many
others, it has dependencies on libpng and LibTIFF:
dependencies = [
....
('libpng', '1.6.32'),
('LibTIFF', '4.0.9'),
....
]
On the system, I have
libpng/1.6.32-GCCcore-6.4.0
LibTIFF/4.0.9-GCCcore-6.4.0
installed. EasyBuild happily finds that the libpng dependency is
resolved, since GCCcore-6.4.0 is a subtoolchain of foss-2017b. However,
for LibTIFF, it doesn't: it explicitely looks for a foss-2017b build,
and fails to find one.
* [x] .../easyconfigs/l/libpng/libpng-1.6.32-GCCcore-6.4.0.eb (module:
libpng/1.6.32-GCCcore-6.4.0)
* [ ] .../easyconfigs/l/LibTIFF/LibTIFF-4.0.9-foss-2017b.eb (module:
LibTIFF/4.0.9-foss-2017b)
When passing the --minimal-toolchain option, it does find the
LibTIFF/4.0.9-GCCcore-6.4.0. However, for reproducibility, I prefer to
avoid command line options. Furthermore, I think (?) the
minimal-toolchain option is intended for when a dependency could be
resolved by both the full, and a subtoolchain (e.g. when
LibTIFF/4.0.9-GCCcore-6.4.0 and LibTIFF/4.0.9-foss-2017b would both be
available) and in those cases I generally don't want to use the
minimal-toolchain.
Moreover, I would really like to understand why libpng and LibTIFF are
being resolved differently here. Could it be that one of the other
dependencies of GDAL in turn also has a dependency on libpng or LibTIFF,
and that this somehow changes the behavior? And is that difference in
behavior intentional, or is this a 'bug'?
Regards,
Caspar van Leeuwen
SURFsara