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