"Alan O'Cais" <alan.oc...@cecam.org> writes:

> EasyBuild recognises modules only, if the module name is available then it is 
> installed. In your case you have the path to the original module tree in
> MODULEPATH so it is able to load the exact module. Try
> unset MODULEPATH
> and add the --missing option to see what would get installed (the default 
> location is added by EasyBuild to MODULEPATH, so it can be completely unset
> when you call the command).

Thanks Alan and Markus.  I was staring at the EasyBuild configuration and
forgetting about the Lmod configuration.

Now I can get my sword out ... (https://xkcd.com/303/)

Cheers,

Loris

> On Fri, 2 Dec 2022 at 11:58, Loris Bennett <loris.benn...@fu-berlin.de> wrote:
>
>  "Alan O'Cais" <alan.oc...@cecam.org> writes:
>
>  > Ever configuartion setting can be done in multiple ways, see 
> https://easybuilders.github.io/easybuild-tutorial/2022-isc22/configuration/ 
> for a
>  good
>  > overview.
>  >
>  > The easiest way to do arch support is to have use .../easybuild/<arch> as 
> the --prefix for each node type. The only stuff you should really worry
>  about
>  > have multiple copies of are the sources, so you can set --sourcepath to 
> .../easybuild/sources to avoid that duplication. For each node then you
>  > configure the profile so that it detects the right path(s) for `module use 
> /path/to/<arch>/modules/all` 
>
>  OK
>
>  > On Fri, 2 Dec 2022 at 11:01, Loris Bennett <loris.benn...@fu-berlin.de> 
> wrote:
>  >
>  >  I was basing my approach on the first answer given here:
>  >
>  >    
> https://www.reddit.com/r/HPC/comments/y1gdch/how_to_manage_easybuild_on_hpc_with_multiple_cpu/
>  >
>  >  But I see now that the problem being solved there is slightly different
>  >  to mine, as two existing clusters were being merged, so the software for
>  >  the two different architectures had already been built.
>  >
>  >  "Alan O'Cais" <alan.oc...@cecam.org> writes:
>  >
>  >  > Sorry, wrong name: --installpath-modules
>  >
>  >  OK, thanks.  Is there no corresponding environment variable?
>  >
>  >  > If you are not using this explicitly in your config, then you are 
> relying on EASYBUILD_PREFIX to set the default, see
>  >  > 
> https://docs.easybuild.io/en/latest/Configuration.html#mandatory-configuration-settings
>  for details. By setting _just_ EASYBUILD_INSTALLPATH,
>  you
>  >  are
>  >  > only changing where software gets installed, everything else is 
> remaining the same (and EasyBuild relies only on the module files to know if
>  >  something
>  >  > is installed or not).
>
>  Something seems to be wrong with my set-up.  I have defined my own variable
>
>    [build@a001 ~]$ echo $EASYBUILD_INSTALLPATH_MODULES 
>    /trinity/shared/easybuild/arch/amd/zen3/modules
>
>  which in fact EasyBuild seems to recognise:
>
>    [build@a001 ~]$ eb --show-config
>    #
>    # Current EasyBuild configuration
>    # (C: command line argument, D: default value, E: environment variable, F: 
> configuration file)
>    #
>    buildpath           (F) = /trinity/shared/easybuild/build
>    containerpath       (F) = /trinity/shared/easybuild/containers
>    hooks               (F) = /trinity/home/build/hooks/hpc_hooks.py
>    installpath         (E) = /trinity/shared/easybuild/arch/amd/zen3/software
>    installpath-modules (E) = /trinity/shared/easybuild/arch/amd/zen3/modules
>    packagepath         (F) = /trinity/shared/easybuild/packages
>    prefix              (E) = /trinity/shared/easybuild
>    repositorypath      (F) = /trinity/shared/easybuild/ebfiles_repo
>    robot-paths         (D) = 
> /trinity/shared/easybuild/software/EasyBuild/4.6.2/easybuild/easyconfigs
>    sourcepath          (F) = /trinity/shared/easybuild/sources
>
>  However, EasyBuild still doesn't want to build the dependency: 
>
>  [build@a001 ~]$ eb Bison-3.8.2.eb 
> --installpath-modules=$EASYBUILD_INSTALLPATH_MODULES --robot --dry-run --force
>  == Temporary log file in case of crash 
> /tmp/eb-aqpm3paq/easybuild-vqgytl2y.log
>  == found valid index for 
> /trinity/shared/easybuild/software/EasyBuild/4.6.2/easybuild/easyconfigs, so 
> using it...
>  == found valid index for 
> /trinity/shared/easybuild/software/EasyBuild/4.6.2/easybuild/easyconfigs, so 
> using it...
>  Dry run: printing build status of easyconfigs and dependencies
>   * [x] 
> /trinity/shared/easybuild/software/EasyBuild/4.6.2/easybuild/easyconfigs/m/M4/M4-1.4.19.eb
>  (module: M4/1.4.19)
>   * [F] 
> /trinity/shared/easybuild/software/EasyBuild/4.6.2/easybuild/easyconfigs/b/Bison/Bison-3.8.2.eb
>  (module: Bison/3.8.2)
>  == Temporary log file(s) /tmp/eb-aqpm3paq/easybuild-vqgytl2y.log* have been 
> removed.
>  == Temporary directory /tmp/eb-aqpm3paq has been removed.
>
>  What am I doing wrong?
>
>  Cheers,
>
>  Loris
>
>  [snip (116 lines)]
>
>  -- 
>  Dr. Loris Bennett (Herr/Mr)
>  ZEDAT, Freie Universität Berlin
>
-- 
Dr. Loris Bennett (Herr/Mr)
ZEDAT, Freie Universität Berlin

Reply via email to