This is my first root (and not newbie) post, so I hope its on the correct category. I migrated from root 5.32.36 to the production version root 6.14.06 in windows 10 unsung MSVS 2017 and rebuilding root from scratch. Now, reading through past posts on the forum I managed to find a setup of versions for visual studio and cmake that would allow to do the configuration and compilation of root without errors (in spite of around 300 warnings). Here are the details of the setup that worked:
Microsoft Visual Studio Community 2017 15.7.6
CMake 3.7.2
FFTW 3.3.5
and the cmake commands for configuration and compilation:
Please note than this is the only setup I managed to get working (previous MSVS 2017 would not compile and previous or later cmake version would not configure).
Anyway, trying to compile now same code that was running perfectly in root 5 I get the following error:
C:\WINDOWS\System32\KERNEL32.DLL : fatal error LNK1107: fichier non valide ou endommagé : impossible de lire à 0x2E0
Error in <ACLiC>: Compilation failed!
Went a bit rough the Microsoft knowledge base and this seems to be related to the linker trying to get the dll file instead of the lib file, or more specifically someone having specified the extension for the linker instead of just KERNEL32. That been said, I do not know where exactly I need to correct that, especially since I did not make my code as a visual studio project.
Any input would be great!!!
Thanks a lot,
Vagelis
_ROOT Version: 6.14.06
_Platform: Windows 10
_Compiler: VC++ 15
Hi and thanks for the quick response!
I guess you want the output of the root built. I am attaching the cmake error and output log files (converted the extensions to txt since the forum does not allow log files to be uploaded). Let me know if this is not what you meant.
Well, you said the compilation of ROOT was successful, right? Then I need the complete output of the compilation of the code that was running perfectly in root 5
Yes, I figured there would be a misunderstanding there, i guess it probably my fault. I am compiling on run time through a stearing macro using ACLIC passing these commands:
Info in <TWinNTSystem::ACLiC>: creating shared library C:/Users/Luminociter/Desktop/HGTDUtils/Root/HGTDUtils_cxx.dll
HGTDUtils_cxx_ACLiC_dict.cxx
Création de la bibliothèque C:/Users/Luminociter/Desktop/HGTDUtils/Root\HGTDUtils_cxx.lib et de l'objet C:/Users/Luminociter/Desktop/HGTDUtils/Root\HGTDUtils_cxx.exp
C:\WINDOWS\System32\KERNEL32.DLL : fatal error LNK1107: fichier non valide ou endommagé : impossible de lire à 0x2E0
Error in <ACLiC>: Compilation failed!
I can nevertheless attach the intermediate objects ACLIC is generating if they are of any help.
Thanks!
Same issue, no difference. Even more peculiar, if I write all the commands in a small steering macro that i made to compile my code while developing, it seems to ignore everything above line 13. Is it proof reading before executing at root 6?
(I attach the macroRun.C (2.0 KB)
)
I cannot reproduce the error when compiling a macro with gInterpreter->LoadMacro. Can you try with another macro (e.g. one from the tutorials) to see if the error is always there?
I tried with the FFT.C macro from the tutorials/fft folder and the issue persists. I guess this is a setup issue and not a root 5 to root 6 specific issue. Is there a way to back trace if there was an issue with the build?
Thanks,
Vagelis
Well, you can try to set the gDebug variable to something greater than zero to see if you have some useful printout, but I don’t think it will be useful if the issue is coming from your environment… Do you run from a x86 Native Tools Command Prompt for VS 2017?
The only reference of a kernel32.dll in root source files is at TWinNTSystem.cxx line 1512, if this is of any help…
Ah, there is also a reference at RWMutex.inc at \interpreter\llvm\src\lib\Support\Windows\ line 50, and this is only in root 6, none of the previous version i checked…
OK just some later news after a bit of hassling around…
I re-compiled root 6 from scratch with the latest CMake distribution and VS 2017 but the same problem remains. Then I uninstalled everything and tried one of the compiled binaries for windows from the webpage, and I still experience the same issue.
Then i reinstalled root 5 (with VS2017 I might add) which works without any problem!
This is specific to root 6, so there is an issue somewhere and is probably not related to my system. The only reason i need root 6 is because i need fftw and root 5 will not compile from source with my configuration correctly no matter how many different versions of cmake and vs studio i try.