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