Dear Chris,
On 30/10/2019 22:01, Chris Tracy wrote:
Hello,
I'm still relatively new to EasyBuild and not sure how to go about
dealing with the issue we've run into here.
The short version is that while trying to build a requested
software package (LAMMPS) we've run into a (known) bug[1] in gcc-7.3.0
(the compiler used in fosscuda-2018b, the toolchain used to build the
bulk of our environment). I'm trying to figure out how best to push out
the fixed version (gcc-7.3.1) ideally in a way that doesn't require
rebuilding all the underlying dependencies we already have built with
fosscuda-2018b. (Under the assumption that staying on gcc-7.3.x leaves
the ABI consistent, so it should be possible to upgrade but keep using
the previously compiled packages)
Can I simply modify the 'fosscuda-2018b' easyconfig locally to pull
in 7.3.1, rebuild it and have things just work? Or is that going to
cause issues and I might as well look at migrating to fosscuda-2019b?
For what it's worth, I'm running EasyBuild 3.9.2 from OpenHPC
1.3.8.1, but I don't think that matters as even in EasyBuild's git repo
fosscuda still references gcc-7.3.0. (So it doesn't seem as easy as
just grabbing an already fixed easyconfig)
The easiest way is probably to reinstall the GCCcore/7.3.0 module with
the sources of GCC 7.3.1. As you mention, it should be safe to use 7.3.1
as a drop-in replacement for 7.3.0 due to ABI compatibility.
That's a bit "dirty" though, since it won't actually be 7.3.0...
Since GCC is way down in the compiler toolchain, it's difficult to tweak
the fosscuda/2018b definition to use a different GCC version without
running into a bunch of fallout: you would also have to rebuild
everything that was built with a GCC or GCCcore toolchain with the new
version, to avoid running into version conflicts.
Note that we never version of dependencies in existing easyconfig files
(with some rare exceptions), so fosscuda/2018b will not be tweaked to
pick up a newer GCC version.
Do let us know if something needs clarifying...
regards,
Kenneth
Thanks,
Chris
1. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70725