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

Reply via email to