Skip to content

Bundle easyblock and downloading of files. #1674

@klust

Description

@klust

I ran into an issue with the Bundle EasyBlock that could either be a feature with undesirable side-effects or a bug depending on how you look at it. See the EasyConfig which I attached to this message.

It turns out that Bundle during the fetch phase throws the "source_urls" for all components into one big pool, then starts fetching the requested files not trying only the source_urls given for that bundle component, but trying all given source_urls in order. In the attached EasyConfig this goes wrong after the second bundle component (libcerf). The server serving that source_urls has the undesirable feature to not produce an error message when requesting a different .tar.gz or .tar.bz2 file than the one served (libcerf) and instead create a file with the requested name and the latest version of libcerf into it. To see this (apart from the text in the log files), go to the directory where sources are stored after the fetch step and do a tar -tf of gmp-6.1.2.tar.bz2, mpc-1.1.0.tar.gz and mpfr-4.0.2.tar.xz. The file for mpfr has the expected contents, the once for gmp and mpc do not but contains a version of libcerf.

It is not an absolute showstopper. In fact, in comments in the EasyConfig I show the workaround (by specifying the source location of libcerf in a different way), but it is very confusing while developing the bundle EasyConfig... Of course one could blame the server, but I've run in other servers already with similar undesirable behaviour when installing packages that have multiple source files (I don't remember which one), where one needed to be very careful with the order of the URLs (which again I solved by using the same trick as I did in this EasyConfig to make things more robust).

Attachement: a sample EasyConfig showing the problem.
baselibs-devel-2019a-GCCcore-8.2.0-downloadMPC.eb.txt

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions