Hi, I tried to compile root 3.00/06 under Win 2000, MSVC++ 6.0, cygwin. The compilation ("./configure win32;gmake") works fine (i.e. no errors), but Root doesn't work after the compilation. From what I can see the problem is connected to loading a dll and extracting the classes' dictionary entries defined in the dll. When starting root it crashes in the following call stack TApplication::TApplication(const char*, int*, char**, void*, int) TRint::TRint(const char*, int*, char**, void*, int, unsigned char) main(int, char**) as CInt is unable to extract the class TGWin32 from libWin32. The call stack for loading TGWin32 looks like this: ... G__loadsystemfile(char*) TSystem::Load(const char*, const char*, unsigned int) TWinNTSystem::Load(const char*, const char*, unsigned int) TROOT::LoadClass("TGWin32", "Win32") TApplication::LoadGraphicsLibs() Everything returns without error, but in TApplication::TApplication() the gROOT->ProcessLineFast("new TWin32") following the LoadGraphicsLibs() fails with Error: No symbol TGWin32 in current scope FILE: LINE:0 Error: type TGWin32 not defined FILE: LINE:0 *** Interpreter error recovered ***. So I tried to replace the libWin32.dll I compiled with the one in the root binary distribution. Now root starts up, but RootInteractive doesn't know any classes except for TGeometry (what a strange choice...). What I don't understand is that a TClassTable::PrintTable() right before the ProcessLineFast("new TWin32") shows TGWin32 as known to the dictionary (and also a TClassTable::GetDict("TWin32") returns !=NULL). Are there two different dictionaries, one for the root TApplication and one for the interactive part of it, and for some reason CInt's dictionary doesn't get updated properly when loading a dll on the TApplication level? I had a look at the dictionaries generated by rootcint during the compilation, they look okay, and as I said, the LoadClass does update "TApplication's" dictionary. Best regards, Axel. PS: How is the root binary distribution generated? With the exact same setup of VC6 and cygwin? Why did this error never show up then?
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:45 MET