You are changing the EASYBUILD_INSTALLPATH, but not
changing EASYBUILD_MODULEPATH. This means you are overwriting the existing
module tree. You don't want this, instead you build a new module tree
somewhere else. Since the tree will be empty, EasyBuild will also install
all the deps.

On Fri, 2 Dec 2022 at 09:27, Loris Bennett <[email protected]>
wrote:

> Hi Ole,
>
> Ole Holm Nielsen <[email protected]> writes:
>
> > Hi Loris,
> >
> > On 12/2/22 08:27, Loris Bennett wrote:
> >> How do I force a total rebuild of, say, a foss toolchain for a different
> >> CPU architecture?
> >> Up to now I had a homogeneous cluster with Intel Xeon CPUs, now we
> >> have
> >> acquired some nodes with AMD Epyc CPUs for which I need to build
> >> software.
> >> I have modified EASYBUILD_INSTALLPATH to point to directory for the
> >> new
> >> architecture and prepended a corresponding directory for the modules to
> >> MODULEPATH.  However, running EasyBuild with the option --force just
> >> rebuilds the package specified, not the dependencies.
> >> What is the correct way to go about this?
> >
> > Probably there are multiple ways to set up modules for multiple
> > architectures :-)  My choice was to create completely different module
> > trees for each type of hardware (we have 4 generations of Intel Xeon).
> > My notes are in this Wiki page:
> >
> https://wiki.fysik.dtu.dk/Niflheim_system/EasyBuild_modules/#automounting-the-cpu-architecture-dependent-modules-directory
> >
> > IHTH /Ole
>
> Thanks for the link.  That looks like an good way of dealing with
> switching between different architectures.
>
> However, I am not yet quite that far.  My question was more to do with
> how to actually rebuild the software in a second branch.  If I change
> EASYBUILD_INSTALLPATH and MODULEPATH as described abouve and then run
> EasyBuild with force I get, say, the following:
>
>   [build@a001 ~]$ eb Bison-3.8.2.eb --robot --force --dry-run
>   == Temporary log file in case of crash
> /tmp/eb-akrn565i/easybuild-0vsmv95q.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)
>
> How to I get EasyBuild to build M4 automatically as well?
>
> Cheers,
>
> Loris
>
> --
> Dr. Loris Bennett (Herr/Mr)
> ZEDAT, Freie Universität Berlin
>

Reply via email to