It fails at the building of ROOT with error message:
ERROR:O2:ROOT:0: Error while executing /home/oyama/alice/sw/SPECS/slc7_x86-64/ROOT/v6-12-06-1/build.sh on `epn1.intra.elc.nias.ac.jp’.
ERROR:O2:ROOT:0: Log can be found in /home/oyama/alice/sw/BUILD/ROOT-latest/log.
ERROR:O2:ROOT:0: Please upload it to CERNBox/Dropbox if you intend to request support.
ERROR:O2:ROOT:0: Build directory is /home/oyama/alice/sw/BUILD/ROOT-latest/ROOT.
If I interpret the log correctly, cmake fails when checking for requirements in the configure stage:
FEATURES='builtin_pcre mathmore xml ssl opengl minuit2 http
pythia6 roofit soversion vdt cxx14
'
+ for FEATURE in '$FEATURES'
+ bin/root-config --has-xml
+ grep -q yes
and it seems to fail when checking for xml support. Could it be that there is a missing system library dependency not expressed/checked by the build recipe?
Yes, you were correct. xml is there but libxml was not there in the system.
Problem was solved.
It would be nicer if the error message is more explicit and tell what was problem instead of silently
stopping.
Dario, sorry, I installed libxml before seeing your comment. But I’m sure that
aliDoctor --defaults o2
didn’t tell about missing libxml. If it was there, for sure I installed at that moment.
But I was not using --debug O2 option.
The point is that you should never get to that point. The line preventing you from proceeding is in the ROOT recipe, and it’s a “safety barrier” (that worked well this time) that catches errors that should have been caught earlier.
More specifically, they should have been caught by aliDoctor, which should have told you to install libxml2, this time with a clear error message.
Strangely, aliDoctor diagnostics message for missing libxml2 is showed if and only if --defaults o2 is missing.
$ sudo yum remove libxml2-devel
(...)
$ aliDoctor O2 2>&1 | grep libxml2
WARNING: Package libxml2 cannot be picked up from the system and will be built by aliBuild.
WARNING: if [ $? -ne 0 ]; then printf "libxml2 not found.\n * On RHEL-compatible systems you probably need: libxml2 libxml2-devel\n * On Ubuntu-compatible systems you probably need: libxml2 libxml2-dev"; exit 1; fi
WARNING: libxml2: /bin/bash: xml2-config: command not found
WARNING: libxml2: libxml2 not found.
WARNING: libxml2: * On RHEL-compatible systems you probably need: libxml2 libxml2-devel
WARNING: libxml2: * On Ubuntu-compatible systems you probably need: libxml2 libxml2-dev
- libxml2
$ aliDoctor O2 --defaults o2 2>&1 | grep libxml2
$
Moreover, without --defaults o2, aliDoctor tells us libxml2 will be built by aliBuild.
$ aliDoctor O2
(...)
==> The following packages will be built by aliBuild because they couldn't be picked up from the system:
- Python-modules
- Vc
- CMake
- protobuf
- libxml2
- SWIG
- flatbuffers
- GCC-Toolchain
- msgpack
- yaml-cpp
- nanomsg
- ZeroMQ
- boost
- GSL
This is not a real issue, but it might take longer the first time you invoke aliBuild.
Look at the error messages above to get hints on what packages you need to install separately.
(...)
There’s a PR from @swenzel that addresses the aliDoctor issue here, thanks for that! Now aliDoctor’s output is finally consistent. The PR will be merged as soon as it passes the required tests.
While we are at it, let me kindly remind everyone what I said earlier:
so please always follow the golden path provided by the instructions in order to avoid incurring into blocking problems and wasting time