Hi Victor,

First of all: welcome to EasyBuild.

One question I like to ask to newcomers is how they learned about EasyBuild, and what they are planning to use it for.
Feel free to ignore this, up to you whether you want to share that info...

On 13/01/16 12:36, ПРОСОФТ HPC wrote:
Dear All,

I am facing a problem with installation of Clang-3.7.0-GNU-4.9.3-2.25.eb under 
Cent OS v6.6 As far as I understand, the installation fails at the stage of 
sanity-checking due to unexpected failures. More specifically, three 
Sanitizers's tests fail:

AddressSanitizer-x86_64-linux :: TestCases/Linux/nohugepage_test.cc
LeakSanitizer-AddressSanitizer :: TestCases/stale_stack_leak.cc
SanitizerCommon-Unit :: 
Sanitizer-x86_64-Test/SanitizerLinux.ThreadDescriptorSize

We have seen issues like this before, and have tried to dance around them.
Our testing (mainly on Scientific Linux 6 and CentOS 7) seemed to confirm we managed to solve these problems, but apparently not.

Thank you for reaching out with this.

The easyblock for Clang disables these sanitizer tests under certain conditions, e.g. when user limits for memory/stacksize are set to 'unlimited', see https://github.com/hpcugent/easybuild-easyblocks/blob/master/easybuild/easyblocks/c/clang.py#L170 .
Apparently, that's not enough...

Can you share the output of "ulimit -a" in your environment (we should change the Clang easyblock to collect that information such that it's included in the log)?


Enclosed please find the corresponding log file. I have also tried to install 
Clang-3.7 by means of EB under Cent OS v6.7 without success. Within Cent OS 
v6.7 problem remains the same. Now I am wondering whether the 
Clang-3.7.0-GNU-4.9.3-2.25.eb config was tested and approved under Cent OS v6.*?

The log file is showing that the installation fails during the build step, it never got to 'make install' (let alone the actual sanity check step). The tests that are failing are a part of what "make check-all" does, which is being run as a part of the build step when a bootstrap installation is performed (see https://github.com/hpcugent/easybuild-easyblocks/blob/master/easybuild/easyblocks/c/clang.py#L291).

For future bug reports: please include a debug log, i.e. collect the log while having --debug or -d enabled, it will provide some more information (but in this case, an info-level log file is good enough).

Would it be possible to force EB to complete installation and create a module 
file, regardless the result of sanity-checking?

EasyBuild has good support for only rerunning a sanity check (after fixing the sanity_check_paths, for example) and creating the module file via --module-only, cfr. http://easybuild.readthedocs.org/en/latest/Partial_installations.html#module-only . Since this problem occurs during the build step, it's not that simple here though, the install step was never executed, so there's no installation yet... The sanity check mostly checks whether some files are in place in the installation (e.g. bin/clang & co are actually there).

One thing you can try though is to make the Clang easyblock skip running "make check-all" entirely.
This does imply that you:

*) disable the 'bootstrap' install procedure (enabled by default), since during a bootstrapped install of Clang "make check-all" is run after every stage; you can do this by adding "bootstrap = False" to the Clang easyconfig file (just copy the one you find via "eb --search Clang-3.7", and pass the path to your modified copy to 'eb')

*) skipping the 'test' step, which is run after the 'build' step, and will also run "make check-all"; you can do this by adding "skipsteps = ['test']" to the Clang easyconfig file

Note that you will have to do both of the above to avoid that EasyBuild runs "make check-all".

Of course, this may not be what you want to do in the end, since you'll get a different installation of Clang this way (not bootstrapped, but just a Clang built with whatever system compiler you have).


Let us know if this helps, or if you have any further question.


regards,

Kenneth

Reply via email to