Windows install issue with v6.14/00

I completely uninstalled both versions and downloaded the 6.14 version again. Now it just says path too long.
What do I do?

Debajyoti Sengupta

On continuing with the installation and typing root in cmd results in this.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegQueryValueEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegQueryValueEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegQueryValueEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegQueryValueEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

input_line_1:1:10: fatal error: ‘new’ file not found

#include

^~~~~

Assertion failed: OldBuilder->DeferredDeclsToEmit.empty() && “Should have emitted all decls deferred to emit.”, file C:\build\release\BUILDTYPE\Release\sources\root-6.14.00\interpreter\llvm\src\tools\clang\lib\CodeGen\ModuleBuilder.cpp, line 139

Strangely, after I uninstalled root 6.14 (no root on my system rn) on typing root in cmd does this:

Error: cannot open file “iostream” (tmpfile)(2)

*** Interpreter error recovered ***

The first error input_line_1:1:10: fatal error: ‘new’ file not found means you need to install MS Visual Studio 2017.

The second error Error: cannot open file “iostream” (tmpfile)(2) means that ROOT 5.34 cannot find its directory; likely because ROOTSYS is not pointing to the ROOT 5.34 install directory anymore. You can edit the system environment variables and fix the ROOTSYS entry.

Where did you install it, which directory? Can you post the exact error message? When do you see it - when starting up ROOT?

Can we do one step after the other instead of three things at once - there is no way that we can converge like this. Unless you want to try things out and don’t really need my help, that’s fine, too!

HI Alex,

I am currently using the 5.34 build. Turns out it was an issue with Visual Studio. I had to reinstall minGW as well. For now 5.34 seems to be working.

I will install VS and try to install 6.14 again (after uninstalling 5.34) and hopefully that would work.

All my root installations are in C:\

Hello Alex,

I installed VS 2017 and uninstalled root 5.34.

I then installed root 6.14 at C:\

the installer still gave me the error that the path is too long, but I ignored it and added the the bin to the system variables on my own.

I can open root 6.14 now but it throws a lot of error messages before it opens up.

The error code is pasted below:

C:\Users\Debajyoti Sengupta>root

RegQueryValueEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegQueryValueEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegQueryValueEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegQueryValueEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

RegQueryValueEx: returned 2: The system cannot find the file specified.

RegOpenKeyEx: returned 2: The system cannot find the file specified.

In file included from input_line_3:39:

In file included from C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include\cassert:4:

In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\assert.h:12:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\corecrt.h:131:12: error: redefinition of '_CrtEnableIf<true, _Ty>'

struct _CrtEnableIf<true, _Ty>

^~~~~~~~~~~~~~~~~~~~~~~

C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\ucrt\corecrt.h:131:12: note: previous definition is here

struct _CrtEnableIf<true, _Ty>

^

In file included from input_line_3:39:

In file included from C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include\cassert:4:

In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\assert.h:12:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\corecrt.h:488:16: error: redefinition of '__crt_locale_data_public'

typedef struct __crt_locale_data_public

^

C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\ucrt\corecrt.h:488:16: note: previous definition is here

typedef struct __crt_locale_data_public

^

In file included from input_line_3:39:

In file included from C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include\cassert:4:

In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\assert.h:12:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\corecrt.h:495:16: error: redefinition of '__crt_locale_pointers'

typedef struct __crt_locale_pointers

^

C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\ucrt\corecrt.h:495:16: note: previous definition is here

typedef struct __crt_locale_pointers

^

In file included from input_line_3:39:

In file included from C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include\cassert:4:

In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\assert.h:12:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\corecrt.h:503:16: error: redefinition of '_Mbstatet'

typedef struct _Mbstatet

^

C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\ucrt\corecrt.h:503:16: note: previous definition is here

typedef struct _Mbstatet

^

Hi,

Looks like you have two “Windows Kits” installed. Maybe get rid of the 10.0.16299.0 version?

Cheers, Axel.

Hi Axel,
Hello ROOT Team,
First of all, thank you very much

I just install it on my machine and I have about the same error. I have just checked if I have two versions of “Windows Kits” and I only have one (10.0.17134.0). So, I guess it has nothing to do with the client installation but the discrepancy is between the “windows Kits” of the computer it was compiled and the client computer.

Just a quick question will this version have C++14/c++17 activated?

Cheers,
Richard

$ root.exe
RegQueryValueEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegQueryValueEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegQueryValueEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegQueryValueEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
In file included from input_line_3:39:
In file included from C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include\cassert:4:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\assert.h:12:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\corecrt.h:131:12: error: redefinition of '_CrtEnableIf<true, _Ty>'
    struct _CrtEnableIf<true, _Ty>
           ^~~~~~~~~~~~~~~~~~~~~~~
C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\ucrt\corecrt.h:131:12: note: previous definition is here
    struct _CrtEnableIf<true, _Ty>
           ^
In file included from input_line_3:39:
In file included from C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include\cassert:4:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\assert.h:12:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\corecrt.h:488:16: error: redefinition of '__crt_locale_data_public'
typedef struct __crt_locale_data_public
               ^
C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\ucrt\corecrt.h:488:16: note: previous definition is here
typedef struct __crt_locale_data_public
               ^
In file included from input_line_3:39:
In file included from C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include\cassert:4:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\assert.h:12:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\corecrt.h:495:16: error: redefinition of '__crt_locale_pointers'
typedef struct __crt_locale_pointers
               ^
C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\ucrt\corecrt.h:495:16: note: previous definition is here
typedef struct __crt_locale_pointers
               ^
In file included from input_line_3:39:
In file included from C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\include\cassert:4:
In file included from C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\assert.h:12:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\ucrt\corecrt.h:503:16: error: redefinition of '_Mbstatet'
typedef struct _Mbstatet
               ^
C:\Program Files (x86)\Windows Kits\10\Include\10.0.16299.0\ucrt\corecrt.h:503:16: note: previous definition is here
typedef struct _Mbstatet
               ^

Ha, interesting! That’s bad - and we’ll need @bellenot to take a look. He should be back on about one week.

Until then, could you try to build ROOT yourself? Should be as simple as

  • download CMake
  • download the ROOT sources
  • open cmake-gui and point it to the relevant directories, click “Configure”, click “Generate”
  • the build, either with msbuild or the visual studio.

(If you need more details on the build process we might again need to wait for Bertrand; I hope this is enough info to allow you to try!)

Cheers, Axel.

Regarding C++14/17: MSVC has a subset of language features available. It’s not even complete C++11, let alone 14 or 17. And AFAIK you cannot select / swap; it’s whatever MSVC gives you.

Hello Axel,

Thanks for your responds.

I just compiled root (it worked) I had some issues with not having the right python version (no x86 version) but besides this it worked.

One common Error that always occurred during compilation was:

382>RegOpenKeyEx: returned 2: The system cannot find the file specified.
382>RegQueryValueEx: returned 2: The system cannot find the file specified.
382>RegOpenKeyEx: returned 2: The system cannot find the file specified.
382>RegQueryValueEx: returned 2: The system cannot find the file specified.
382>RegOpenKeyEx: returned 2: The system cannot find the file specified.
382>RegOpenKeyEx: returned 2: The system cannot find the file specified.
382>RegOpenKeyEx: returned 2: The system cannot find the file specified.
382>RegOpenKeyEx: returned 2: The system cannot find the file specified.
382>RegOpenKeyEx: returned 2: The system cannot find the file specified.
382>RegOpenKeyEx: returned 2: The system cannot find the file specified.
382>RegOpenKeyEx: returned 2: The system cannot find the file specified.
382>RegQueryValueEx: returned 2: The system cannot find the file specified.
382>RegOpenKeyEx: returned 2: The system cannot find the file specified.
384>Building Custom Rule C:/root_6.14.00_src/graf3d/gviz3d/CMakeLists.txt

It looks like it is looking for some registry key which is not set.

After starting root it gives the following message:

RegQueryValueEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegQueryValueEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegQueryValueEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegQueryValueEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
   ------------------------------------------------------------
  | Welcome to ROOT 6.14/00                http://root.cern.ch |
  |                               (c) 1995-2018, The ROOT Team |
  | Built for win32                                            |
  | From tag v6-14-00, 13 June 2018                            |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
   ------------------------------------------------------------

Besides this it runs. The error about the two different windows kits disappeared. I tested it with the .demo example which all run nicely except for “Browser” (second entry) which leads to a crash of the root session.

About the c++14/c++17 features. I know that not all features are supported but there are certain features that are very important for me like having auto returntype without having to define a trailing return type. Also variadic lambdas is a feature which I use rather frequently. Will I be able to make this work?

Again thanks a lot.

Cheers,
Richard

Hi Richard,

Congrats, good to hear that you managed!

I had already created Loading... for the warnings. Bertrand will look at it when he’s back.

About the c++14/c++17 features. I know that not all features are supported but there are certain features that are very important for me like having auto returntype without having to define a trailing return type. Also variadic lambdas is a feature which I use rather frequently. Will I be able to make this work?

cling definitely supports it if MSVC supports it. It’s not a question to ask to ROOT but the Microsoft compiler / standard library people, we cannot fix their code :wink: So please just try and report back!

Cheers, Axel.

I can navigate to the 17134 version, but the 16299 version apparently doesn’t exist on my disk. When I type in the address copied from cmd the file explorer says no such address exists

Debajyoti Sengupta

Hi Axel,

I managed to uninstall one sdk that I had, after that it was only a problem of a missing header file which I downloaded and it fixed it.
It still has few reg errors, which I now see is a common problem.

RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegQueryValueEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegQueryValueEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegQueryValueEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegQueryValueEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.
RegQueryValueEx: returned 2: The system cannot find the file specified.
RegOpenKeyEx: returned 2: The system cannot find the file specified.

Thanks,
Debajyoti

You can ignore these reg errors for now; we’ll fix them in 6.14/02!

Hello Axel,

I have tried some examples and most of them work. I have noticed that the library is not using c++17 features such as std::apply. This is basically due to not being configured for c++17. For example “_HAS_CXX17” has a value of 0; I guess this can be solved by including somewhere in the build process the flag (/std:c++latest).

I tried for example:

root [10] if(int i =1; i == 1 ){std::cout << "Hello World"<<std::endl;}
ROOT_prompt_10:1:4: warning: 'if' initialization statements are a C++17 extension [-Wc++17-extensions]
if(int i =1; i == 1 ){std::cout << "Hello World"<<std::endl;}
   ^
Hello World
root [11]

And from the answer it really seams like it just a configuration that does not allow the compiler to use c++17 (as far as supported).

C++ 14 features seem to be working fine (as far as supported by the compiler)

Thanks a lot,
Richard

Thanks Richard, I hope @bellenot can have a look once he’s back in about a week!

2 posts were split to a new topic: V6.14/00 binaries for Ubuntu: C++14/17?

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