Failure to load DLL

I am using Visual Studio VC++ Express 2010 and Root VC++ 10 Version 5.34 (MSI). OS: Windows 7, 64x. I’ve tried a few tutorials. Some of them worked fine and others don’t. The tutorial always is aborted with: Failure loading dependent DLL and I don’t know why. The folder where root searches is the right one, the DLL exists. The errors occur when I want to open the object browser, too (see attachment).

I don’t know why a few tutorials work perfectly and a few tutorials don’t. In my enviroment variables the folders …/bin and Rootsys = C:/root are included.

Thanks! :slight_smile:


This is probably because the 5.34.18 binaries have been build with OpenSSL support, and you don’t have the OpenSSL DLLs on your system…
Could you try with those DLLS: libeay32.dll and ssleay32.dll and let me know?
(just copy them in $ROOTSYS/bin)
And FYI, the next releases of ROOT will not contain OpenSSL at all…

Cheers, Bertrand.

Hi Bertrand,
thank you for your post. I copied both files into the folder, but the errors are still there…

OK, and what if you manually load those DLLs using for example gSystem->Load(“libNet”)? Does it work?

Cheers, Bertrand.

I loaded libNet manually. First time the same error occured (failed to load dll) and root gave me back: (int)(-1). After that, I loaded libNet second time. Root returned (int)1. It is the same when I load libGuiHtml. After loading both DLLs twice TBrowser started without any error message.

Very weird, I have no idea what could be the issue… I’ll try to understand and I’ll let you know.
BTW, you only have one version of ROOT on your system, right?
And could you try to do the same from a path without spaces (i.e. NOT from c:\program files (x86)\microsoft visual studio 10.0\vc\bin)?

Cheers, Bertrand.

Yes, I only have one version of root on my system. Today I’ll install VS 2013 Express and root VC++ 11 after deleting it completely. I will let you know…
The starting-path doesn’t matter, it is always the same.

Thank you!

[quote=“router”]Today I’ll install VS 2013 Express and root VC++ 11 after deleting it completely.[/quote]Well, first, Visual Studio 2013 has a bug and then this is not sure it will be fully compatible with ROOT compiled with VS2012… So good luck!

I re-installed all software a bunch of times…Nothing happened. Despairingly I installed Root VC++ 9 and it works, I don’t get it…


Which version did you install exactly (i.e. which msi file)?

Cheers, Bertrand.

VC++ 9 MSI (65.9 MB), root 5.34.18 and VC++ 2010 Express

OK, then it is 5.34.14 (root_v5.34.14.win32.vc90.msi) since we don’t produce binaries for this old compiler anymore. You cannot mix binaries. If you have Visual Studio 10.0, you have to download the vc++10 binaries.

Cheers, Bertrand.


I have the same issue as router. I installed Visual Studio C++ 2010 Express along with ROOT VC++ 10 5.34.18 (root_v5.34.18.win32.vc10.tar.gz). My OS is Windows 7 64-bit. Certain tutorials worked and others did not. Those that didn’t failed with the same “failure to load” message even though the DLL existed in the correct location. However, when I use the previous version ROOT VC++ 5.32.04 (root_v5.32.04.win32.vc10.tar.gz), the issue seems to resolve itself.

Any insight would be greatly appreciated. Thank you.


A list of failing macros would be useful (or at least the failing DLLs)…

Cheers, Bertrand.

When I attempt to run one of the tree tutorials, it says it fails to load libNet.dll and libTree.dll. I checked the paths, and the files are there. If I run a graph tutorial, everything works fine.