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

Reply via email to