Dear Marcelo,

On 26/11/2019 06:55, Marcelo Carignano wrote:
Hello Pablo, Kenneth
thank you both for your answers.
I will go now for the foos version to see if I can minimize problems and succeed in one compilation. Regarding the environmental variables, I understood that I should define them as Ken suggested

but still I observed something that I could not figure out.
All is fine if I export the variables after login in.
However, if I add these values to my bashrc, they do look as correctly defined, but eb still fails to recognize them.

To be clear I will post the example:
With .bashrc:

*EASYBUILD_PREFIX=$HOME/.local/easybuild
MODULEPATH=$MODULEPATH:$EASYBUILD_PREFIX/modules/all
EASYBUILD_MODULES_TOOL=EnvironmentModulesC
EASYBUILD_MODULE_SYNTAX=Tcl*

after login in:

*cari@xc50-2:~> echo $EASYBUILD_MODULES_TOOL
EnvironmentModulesC
cari@xc50-2:~> echo $EASYBUILD_MODULE_SYNTAX
Tcl
cari@xc50-2:~> *

but:

*cari@xc50-2:~> eb -S CP2K
ERROR: Lmod modules tool can not be used, 'lmod' command is not available; use --modules-tool to specify a different modules tool to use (EnvironmentModulesC, EnvironmentModulesTcl, EnvironmentModules, Lmod)*

I still need to add --module-tool and --module-syntax for eb to work, or do the explicit export.

No big deal, but it is strange.

The 'eb' command is a short bash script that figures out the Python command to use to run the main EasyBuild script (easybuild/main.py).

To make sure the $EASYBUILD_* environment variables are visible to EasyBuild, you must export them (otherwise they are not actually set in the subshell in which easybuild/main.py is run).

So, use this in your .bashrc:

export EASYBUILD_MODULES_TOOL=EnvironmentModulesC
export EASYBUILD_MODULE_SYNTAX=Tcl


regards,

Kenneth



Thank you again.
I keep my tests and ties now, and exploring the information related to Cray/CSCS...

Marcelo.



On Mon, Nov 25, 2019 at 9:45 PM Pablo Escobar Lopez <[email protected] <mailto:[email protected]>> wrote:



    On Mon, Nov 25, 2019 at 7:08 PM Marcelo Carignano
    <[email protected] <mailto:[email protected]>> wrote:

        Hello there,
        today I installed EasyBuild on a Cray XC50, installation went ok.
        Then I tried to install CP2K by doing:

        > eb  CP2K-6.1-intel-2018a.eb  --modules-tool EnvironmentModulesC 
--module-syntax Tcl --robot


        and eb started fetching and installing all the pieces.


        I understand this is a complex process and I am not trying to
        understand everything in a couple of days, but there are things
        I cannot figure out and it will make my day to just have an idea
        of what  is going on.


        First thing is related to --modules-tool EnvironmentModulesC
        --module-syntax Tcl


        I couldn't figure out how to define the corresponding env
        variables to avoid the need of using --modules-tool and
        --module-syntax. Is there a way to define these var in .bashrc?

        My .bashrc has the following lines:


    you can configure easybuild using cli arguments, env vars or a
    config file
    
https://easybuild.readthedocs.io/en/latest/Configuration.html#supported-configuration-types

    a possible approach is to create an example config file and adapt it
    to your needs
    
https://easybuild.readthedocs.io/en/latest/Configuration.html#generating-a-template-configuration-file

    no matter if you use cli arguments, env var or config file it's
    always good practice to review what config is being applied
    
https://easybuild.readthedocs.io/en/latest/Configuration.html#overview-of-current-configuration-show-config-show-full-config


        EASYBUILD_PREFIX=$HOME/.local/easybuild

        MODULEPATH=$MODULEPATH:$EASYBUILD_PREFIX/modules/all


        The second point is about icc/2018.1.163-GCC-6.4.0-2.28, which
        is in the dependency list of the CP2K eb file I started with.
        How is it that eb can download the sources from intel? Are they
        really open? I have the feeling that the process has stopped
        since it has been trying to fetch the files for a long time..
        Please let me know if I am missing something here. When I try to
        access the intel address from the icc.eb file, I get the request
        for an email and serial number... which I can't believe eb knows
        to be able to pass it on...

        Again, I am a bit confused. Any help is welcome.


    You are right, easybuild cannot download the intel tarballs. If you
    want to install intel you should download the required files
    yourself (check the easyconfigs or the failed build logs to find out
    the proper tarball names that easybuild expects) and you have to
    manually copy those tarballs to the folder where easybuild will look
    for them.
    https://easybuild.readthedocs.io/en/latest/Configuration.html#sourcepath

    If you are starting to learn how easybuild works I would recommend
    you to start using a foss toolchain instead of intel toolchain. foss
    toolchains are easier for the first try because all the tarballs can
    be automatically donwloaded. Once you get the feeling on how
    easybuild works with foss toolchains you can move forward to intel
    toolchains. e.g. I would start by trying
    "eb CP2K-6.1-foss-2019a.eb --modules-tool EnvironmentModulesC
    --module-syntax Tcl --robot"

    regards,
    Pablo.


        Thank you very much,


        Marcelo Carignano.






-- Pablo Escobar López
    Linux/HPC systems engineer
    sciCORE, University of Basel
    SIB Swiss Institute of Bioinformatics

Reply via email to