Home | News | Documentation | Download

Root build problem

Hello,

I am trying to build root v6.16.00 from source in a Ubuntu 16.04 docker container (that I need for bunch of other software), linking to conda install of python that (again so other SW can use that)

I am getting this Error:
[ 77%] Building CXX object io/xml/CMakeFiles/XMLIO.dir/src/TKeyXML.cxx.o
In file included from /opt/conda/include/libxml2/libxml/parser.h:810:0,
from /opt/conda/include/libxml2/libxml/globals.h:18,
from /opt/conda/include/libxml2/libxml/threads.h:35,
from /opt/conda/include/libxml2/libxml/xmlmemory.h:218,
from /opt/conda/include/libxml2/libxml/tree.h:1307,
from /workspace/root-6.16.00/io/xmlparser/src/TDOMParser.cxx:28:
/opt/conda/include/libxml2/libxml/encoding.h:31:26: fatal error: unicode/ucnv.h: No such file or directory
compilation terminated.
io/xmlparser/CMakeFiles/XMLParser.dir/build.make:100: recipe for target ‘io/xmlparser/CMakeFiles/XMLParser.dir/src/TDOMParser.cxx.o’ failed
make[2]: *** [io/xmlparser/CMakeFiles/XMLParser.dir/src/TDOMParser.cxx.o] Error 1
CMakeFiles/Makefile2:22828: recipe for target ‘io/xmlparser/CMakeFiles/XMLParser.dir/all’ failed
make[1]: *** [io/xmlparser/CMakeFiles/XMLParser.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs…


_ROOT Version: v6.16.00
_Platform: Ubuntu 16.04
_Compiler:# g++ --version
g++ (Ubuntu 5.4.0-6ubuntu1~16.04.11) 5.4.0 20160609


Any help appreciated…

Does

apt-get install libicu-dev

help?

It seems that conda’s libxml2 headers depend on other headers that are not installed in your Ubuntu docker container neither in conda itself. In particular, as @dwielane pointed out, the unicode/ucnv.h header is part of the libicu-dev package. However, I strongly recommend you not to mix conda software with system software. The libraries of each system are not guaranteed to be compatible, especially C++ libraries compiled with GCC 4.x vs newer GCC versions (probably the case of conda). If possible, just install ROOT from conda as well, by using the conda-forge channel. You can also use one of conda’s own docker container images. There’s even a Dockerfile for building an image with ROOT using conda here that you can use to get started. Cheers,

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.