"Alan O'Cais" <[email protected]> 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 <[email protected]> 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" <[email protected]> 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

Reply via email to