From: Dieter Notz
To: Root Team, CERN
Date: 13. 4. 2006
Concerns: ROOT 5.08; 5.10 on win32 with cygwin, Vc7 compiler
msvcr70.dll, msvcr71.dll
Dear ROOT team,
I work under Windows XP with cygwin and with the MS .NET Vc7 compiler Version 7.0.9514.
I got the following problems:
With the binary ROOT version _v5.08.00.win32gdk.debug and the DESY ZEUS event display program “zevis” the program crashed after the 2. event.
I think the reason is that ROOT uses msvcr71.dll while my routines use msvcr70.dll:
Debugger:> msvcr70.dll!free(void * pBlock=0x09279c90).
In order to use the same compiler for ROOT and “zevis” I tried to compile the ROOT source code _v5.08.00b.source.tar.gz. The compiler does not accept 0xffffffffffffULL and it died with more than 100 compiler errors in
include\Math\SMatrix.icc(73) : error C2988: etc.
I gave up.
I tried to compile the ROOT source code _v5.10.00.source.tar.gz and got:
a. Error C1076 compiler’s internal heap limit reached: I added /Zm200 to CXXFLAGS.
b. Error C2143 etc. in base\src\G__Base3.cxx. The code was generated wrongly.
I gave up.
I went back to point 2. and removed splot and smatrix from the Makefile. The compilation worked and now zewis works with ROOT. But when I start ROOT I get
Error in TCint::LoadLibraryMap: library map empty, no system.rootmap file
found. ROOT not properly installed (run “make install”).
I’m not shure if ROOT still support VC 7.0. If not, your statement is really interesting :
“I have a compiler which you do not support, so your programm is not robust”.
I do not know any program, which has a plan to be less robust in future.
PS If you do not have VC 7.1, you can get VC 2003 free toolkit .
PPS Internal compiler heap size can be simply increased, compiler even said you - HOW.
[quote=“notz”]1. With the binary ROOT version _v5.08.00.win32gdk.debug and the DESY ZEUS event display program “zevis” the program crashed after the 2. event.
I think the reason is that ROOT uses msvcr71.dll while my routines use msvcr70.dll:
Debugger:> msvcr70.dll!free(void * pBlock=0x09279c90).
[/quote]Yes, this is because of the CERN and your compilers mismatch
[quote=“notz”]2. In order to use the same compiler for ROOT and “zevis” I tried to compile the ROOT source code _v5.08.00b.source.tar.gz. The compiler does not accept 0xffffffffffffULL
[/quote]Yes, use 0xffffffffffffUL instead.
[quote=“notz”]it died with more than 100 compiler errors in
include\Math\SMatrix.icc(73) : error C2988: etc.
[/quote] Yes, one can not compile the brand new smatrix and splot with VC++ 7.0 and no way to disable these packages is provided either. One has to patch the makefile to remove smtarix and splot.[quote=“notz”]3. I tried to compile the ROOT source code _v5.10.00.source.tar.gz and got:
a. Error C1076 compiler’s internal heap limit reached: I added /Zm200 to CXXFLAGS.
b. Error C2143 etc. in base\src\G__Base3.cxx. The code was generated wrongly.[/quote]Yes, You should change makefile to do what that error message suggested, namely, add /Zm200 option
[quote=“notz”]4. I went back to point 2. and removed splot and smatrix from the Makefile. [/quote] Correct step.[quote=“notz”]But when I start ROOT I get
Error in TCint::LoadLibraryMap: library map empty, no system.rootmap file found. ROOT not properly installed (run “make install”).
[/quote] make cintdlls
make install are mandatory steps to complete the ROOT installation from the scratch’
You can download the ROOT 5.10 binary compiled with VC++7.0 from root.bnl.gov.