ROOT 6.18/04 will not compile - vdt dependency error


ROOT Version: 6.18/04
Platform: linux
Compiler: gcc (GCC) 9.2.1


I just pulled ROOT 6.18/04 from the git repository and tried building using CMAKE, but it will not install due to the following error:

gmake[2]: *** No rule to make target '/opt/root/include/vdt/asin.h', needed by 'math/vecops/G__ROOTVecOps.cxx'.  Stop.
gmake[1]: *** [CMakeFiles/Makefile2:21387: math/vecops/CMakeFiles/ROOTVecOps.dir/all] Error 2
gmake: *** [Makefile:152: all] Error 2

I had a similar problem when installing v6.18/02 and following the advice in ROOT production release v6.14/00 is out! used then and tried here to build the VDT dependency first using:

cmake --build . --target VDT -- -j4
cmake --build . -- -j4

But now I can not even build VDT (I could in the older ROOT version):

cmake --build . --target VDT -- -j4
gmake: *** No rule to make target 'VDT'.  Stop.

Is the only way to build now by users hand editing the cmake files? This seems like a long standing bug that hasn’t been fixed (since at least v 6.14).

I figured out that I need to explicitly configure root to make vdt first. I don’t think the vdt build option’s default setting was OFF previously, but it seems that it is now.

Here is how I got it to build:

# explicitly configure VDT build option, for me that results in it using builtin_vdt
cmake -Dminuit2=ON -Dvdt=ON -DCMAKE_INSTALL_PREFIX=/opt/root ../root
# build VDT first, not sure if this step is still needed but it worked
cmake --build . --target VDT -- -j4
# build ROOT
cmake --build . -- -j4
# install
sudo cmake --build . --target install

Hi, was this in a clean (previously empty) build directory? Or was it an incremental build in a build directory used for a previous ROOT version?

This was all done in a clean build directory.

Please post a recipe to reproduce the problem. I will investigate what’s going on.

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