Dear Niek,

Sorry that you're hitting these issues, let's try and get them sorted...

On 18/11/2019 20:00, Niek de Klein wrote:
Hi all,

I am trying to have my own installation of EasyBuild, but I have 3 problems:

1. When I try to run bootstrap.py it gives an error that md5sums are missing, but I'm not sure where to add them as I thought that should then have been included in the EasyBuild-4.0.1.eb file:

    easybuild.tools.build_log.EasyBuildError: "Build of /tmp/tmpfcUSAH/EasyBuild-4.0.1.eb failed (err: 'build failed (first 300 chars): Missing checksum for easybuild-framework-4.0.1.tar.gz')"

Sorry for not responding to the GitHub issue [1] you opened on this (will do so now with the answer below).

We still need to clean up the bootstrap script a bit after the EasyBuild v4.0 release, it's still doing a bunch of stuff it shouldn't anymore, and it's not compatible yet with Python 3 (see also https://github.com/easybuilders/easybuild-framework/pull/3028).


Your active EasyBuild configuration has --enforce-checksums enabled (via $EASYBUILD_ENFORCE_CHECKSUMS), which explains the problem you're seeing.

The bootstrap script auto-generates an easyconfig file, but it doesn't include checksums (it could I guess, with a bit more work).

You can dance around this though, by temporarily disabling the checksums requirement, only for the bootstrap:

EASYBUILD_DISABLE_ENFORCE_CHECKSUMS=1 python bootstrap <path>


If you want to, you can bootstrap EasyBuild to a temporary location (for example /tmp/$USER), and then use that installation to pull in an easyconfig file for EasyBuild v4.0.1 that does have checksums, using "eb --from-pr 9149 --installpath <final_path>" (which pulls in the easyconfig from https://github.com/easybuilders/easybuild-easyconfigs/pull/9149/files) for the actual installation you intend to use.



2. I changed the robo and installation path to be different, but I keep getting "Failed to determine minimal toolchain for dep ..." errors. The eb --show-config output is at the end of this e-mail, and shows that my robot-paths is /groups/umcg-biogen/tmp01/apps/easybuild-easyconfigs/easybuild/easyconfigs/, which is where I cloned the easyconfigs repository.

What happens if you use "eb --search" with this setup, can 'eb' find easyconfig files?

Try something like "eb --search tensorflow-1.14" for example.



3. Even if the robo path wasn't working, tools that are already in my module avail are not being picked up. For example, EasyBuild that is not working uses "toolchain = {'name': 'foss', 'version': '2018b'}" and has as one of the dependencies "('ncurses', '6.0'),". When I try to install it I get

ERROR: Failed to process easyconfig /groups/umcg-biogen/tmp01/tools/brain_eQTL/EasyBuild/easyconfigs/SAMtools-1.5-foss-2018b.eb: Failed to determine minimal toolchain for dep ncurses 6.0

but when I do ml avail ncur I get:

------------------------------------------------------ /groups/umcg-biogen/tmp01/apps/modules/devel -------------------------------------------------------
    ncurses/6.0-foss-2018b

------------------------------------------------------------------- /apps/modules/devel -------------------------------------------------------------------
    ncurses/6.0    ncurses/6.1-foss-2018b    ncurses/6.1-GCCcore-7.3.0 (D)

So the ncurses module is already available


Am I missing something in my configuration?

This is a consequence of having --minimal-toolchains enabled, which requires that EasyBuild is able to find the easyconfig file for the toolchain (foss-2018b.eb in this case).

It needs to figure out what the (versions of) the subtoolchains are for foss/2018b, so it can check for ncurses installed with GCCcore first, before gompi, before foss.

So this is basically the same issue as with problem 2, I bet "eb --search ^foss-2018b.eb" doesn't give you any result?


Are you 100% sure the path you specified for --robot-paths is correct?

Note that you can also prepend or append to the robot search path (rather than override the default), see https://easybuild.readthedocs.io/en/latest/Using_the_EasyBuild_command_line.html#controlling-robot-search-path .

I hope this helps...


regards,

Kenneth


[1] https://github.com/easybuilders/easybuild-framework/issues/3079


Thanks for your help!
Niek de Klein


#
# Current EasyBuild configuration
# (C: command line argument, D: default value, E: environment variable, F: configuration file)
#
buildpath                   (E) = /groups/umcg-biogen/tmp01/apps//.tmp/easybuild/builds/ containerpath               (D) = /home/umcg-ndeklein/.local/easybuild/containers
enforce-checksums           (E) = True
installpath                 (E) = /groups/umcg-biogen/tmp01/apps/
minimal-toolchains          (E) = True
repositorypath              (D) = /home/umcg-ndeklein/.local/easybuild/ebfiles_repo robot-paths                 (E) = /groups/umcg-biogen/tmp01/apps/easybuild-easyconfigs/easybuild/easyconfigs/
set-gid-bit                 (E) = True
sourcepath                  (E) = /groups/umcg-biogen/tmp01/apps//sources/
umask                       (E) = 002
verify-easyconfig-filenames (E) = True


Reply via email to