On 2/26/19 11:24 AM, Kenneth Hoste wrote:
On 22/02/2019 14:40, Ole Holm Nielsen wrote:
On 2/22/19 1:24 PM, Lars Viklund wrote:
A system C and C++ compiler is documented as a required dependency of
EasyBuild
if you are to install toolchains with it:
https://easybuild.readthedocs.io/en/latest/Installation.html#required-dependencies
As such, I would argue that it's not worth declaring it up-front in
osdependencies
in all software that needs a system compiler, particularly as the
package
will be named differently on different distros.
Thanks for pointing this out! I agree with you.
It's all too easy to miss the general EB prerequisites/dependencies
when installing a new node. I've added the CentOS 7 specifics to my
EB Wiki page:
https://wiki.fysik.dtu.dk/niflheim/EasyBuild_modules#easybuild-prerequisites
One easy thing we could do is make the binutils easyblock check whether
both 'gcc' and 'g++' are present, and emit a clear warning if they're
missing?
That would help significantly, since pinpointing the underlying problem
is clearly not trivial.
Not sure we should make that a hard failure though, as there may be
situation where not having gcc/g++ is actually fine (e.g. when 'cc' and
'c++' compilers are available, and can be used to compile binutils).
One other option could be to detect that the build failed because g++ is
not there (by recognizing the pattern in the configure output or in
config.log).
Same applies for GCC(core), where you also need a system C++ compiler
with sufficiently recent versions...
I'm definitely voting for such a check!! This would have saved me a lot
of time when binutils refused to build (due to my own error, as it
turned out). I don't know the best solution, I'll leave that to the EB
experts.
Thanks,
Ole