Hi Valerie, I don't have a .rootrc, other than the one that comes with the ROOT v. 2.23.11 distribution (i.e. the one in the tutorials subdirectory). I don't know if root is reading this file or not, but I tried moving it out of the way temporarily (I renamed it to xxx.rootrc), and I got exactly the same error messages (i.e. the message "dll does not exist or wrong file extension (.dll)"). Are you able to successfully run ROOT v. 2.23.11 on Win98, or have you only tested it under WinNT? It would be nice if someone else on the list could confirm the same behavior I am seeing. I honestly believe that I have a virgin install of ROOT v. 2.23.11 on my Win98 system - the laptop is brand new (i.e. so it couldn't have any previous versions of ROOT laying around, nor any stray .rootrc files, etc.), I downloaded ftp://root.cern.ch/root/root_v2.23.x86.Windows_NT.tar.gz, unpacked it with WinZip, set ROOTSYS and PATH as I already mentioned, and typed "root" at the MSDOS prompt. Given this information, it would seem that the Win32 build of ROOT v. 2.23.11 may be broken in some way, at least under Win98. Any other insights would be appreciated. Thanks for your help Valeri ----- Original Message ----- From: "Valeri Fine (Faine)" <fine@bnl.gov> To: "Matthew D. Langston" <langston@SLAC.Stanford.EDU>; "roottalk" <roottalk@pcroot.cern.ch> Sent: Saturday, January 15, 2000 6:47 PM Subject: Re: ROOT 2.23.11 + Win98: dll error on root startup > Hello, > > > ROOT v 2.23.11 outputs the following error messages when root is started > > under win98. I have set ROOTSYS properly, added %ROOTSYS%\bin to my > > PATH, and started root from the MSDOS prompt by simply typing "root". > > Is there anything else I am doing wrong to get ROOT 2.23.11 to work > > properly under Win98? > > > . . . > > Error in <TWinNTSystem::DynamicPathName>: dll does not exist or wrong > > file extension (.dll) > > . . . > > The message you got came from ROOT rather from the operating system itself. > Before trying to load DLL ROOT does check whether file with DLL is available and apply its own > "share library path" provided by ".rootrc file. > > This is supplied by: > > const char *TWinNTSystem::GetDynamicPath() > { static const char *dynpath = 0; > if (dynpath == 0) { > dynpath = gEnv->GetValue("Root.DynamicPath", (char*)0); > if (dynpath == 0) > dynpath = StrDup(Form("%s;%s/bin;%s,", gProgPath,gRootDir,gSystem->Getenv("PATH"))); > } > return dynpath; > } > > This means ROOT doesn't use the system provided "PATH" if ".rootrc" file contains a defintion > of "Root.DynamicPath". > > If that symbol is not defined then ROOT uses the "regular" approach, namely it looks up "PATH" . > I'd like to mention that makes sense for the first DLL only. If the loaded DLL has a reference to another > DLL the "PATH" variable is used anyway. This is because Windows ("bt default") tries to load ALL DLL > one needs while the UNIX loads the share library ordered ("by default") > > > - Could you check your ".rootrc" file ? > > Valery > > >
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:17 MET