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