ROOT 5 vs 6 on Windows: dependency on Visual Studio

ROOT Version: 5.34/36 and 6.14/06
Platform: Windows 10 Enterprise
Compiler: Visual Studio 2017 or none


On a Windows 10 machine without VS2010, ROOT 5.34 seems to work
out of the box, e.g.:

Microsoft Windows [version 10.0.16299.1146]
(c) 2017 Microsoft Corporation. Tous droits réservés.

Z:\>call C:\URANIE\PackageTests\ROOT5\root_v5.34.36.win32.vc10\root\bin\thisroot.bat

  *                                         *
  *        W E L C O M E  to  R O O T       *
  *                                         *
  *   Version   5.34/36      5 April 2016   *
  *                                         *
  *  You are welcome to visit our Web site  *
  *            *
  *                                         *

ROOT 5.34/36 (v5-34-36@v5-34-36, Apr 05 2016, 10:25:45 on win32)

CINT/ROOT C/C++ Interpreter version 5.18.00, July 2, 2010
Type ? for help. Commands must be C++ statements.
Enclose multiple statements between { }.
root [0]

Hence is the following installation note relevant?

You must download the binary built with the exact same version of Visual Studio than the one installed on your system.

(excerpt of Release 5.34/36 - 2016-04-05)

However when I launch ROOT 6.14 on a Windows 10 machine without VS2017
I get several errors, e.g.:

RegOpenKeyEx(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\$VERSION\InstallationFolder): returned 2: Le fichier spÚcifiÚ est introuvable.
RegOpenKeyEx(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Kits\Installed Roots\KitsRoot10): returned 2: Le fichier spÚcifiÚ est introuvable.
input_line_1:1:10: fatal error: 'new' file not found
#include <new>
Assertion failed: OldBuilder->DeferredDeclsToEmit.empty() && "Should have emitted all decls deferred to emit.", file c:\uranie\tools\root-6.14.06\interpreter\llvm\src\tools\clang\lib\codegen\modulebuilder.cpp, line 139

In this case your installation note seems relevant.

Of course, launching ROOT 6.14/06 in a Microsoft Visual Studio 2017 Prompt works fine, e.g.
ROOT 6.14 on Windows and EOL: LF vs CRLF.

But I would like to know why ROOT 5 and 6 dependencies on Visual Studio seem different.
Is it related to Cling?
I am interested in these questions because some colleagues may not have administrator
rights to install VS2017 on their workstation.

Can ROOT embed Visual Studio even partially so that any user can launch it?

Best regards


Yes, we are aware of this issue, and we’ll be working on a solution, but this is non trivial.

No, this is not allowed (and it’s not only Visual Studio, but also the Windows 10 SDK)

Cheers, Bertrand.

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