‘libiomp5md.dll' in EvoluteTools cause Rhino to crash

I have both EvoluteTools PRO v3.0 and Karamba3D for Rhino 6 and Rhino 7 installed on Win10.
Both have ‘libiomp5md.dll’ in the installatioin folder,
as for EvoluteTools, it’s in ‘C:\Program Files (x86)\Evolute\EvoluteTools PRO Panelisation for Rhino 6\’
as for Karamba3D, it’s in 'C:\Program Files\Rhino 7\Plug-ins\Karamba'

Everytime when loading any grasshopper file wirh Karamba3D ‘Analysize’ component, the Rhino will crash.
If I rename the ‘libiomp5md.dll’ in the ‘C:\Program Files (x86)\Evolute\EvoluteTools PRO Panelisation for Rhino 6’ to ‘libiomp5md.dll.bak’, the issue is gone.

I believe this is caused by a dll clash, the two applications use different versions of libiomp5md.dll.

Rhino/Grasshopper will load the dlls in the installation folder, and the nature of dll is that windows only loads one of the libraries into memory so that the methods can be shared by different consuming applications. So if grasshopper is loading Evolute before karamba then karamba will try to use the libiomp5md.dll version that ships with Evolute.

Some other programs may also set their installation folder in system PATH (or copy their dlls to C:/Windows/), which will load the dlls into memory before Rhino/Grasshopper get a chance to load anything. This is the case for Anaconda (python) for instance. So those dlls will take precedence over any plugins dlls. Which can cause trouble for plugin developers as they are not in control of what other applications has done to your machine.

This is my guess, I’m not 100% sure this is correct - but maybe this reply will help others trying to debug why Rhino crashes in relation to applications using libiomp5md.dll.

1 Like

Dear @netsonicyxf,
the recommended procedure is to install the Intel Redistributable Libraries from here and remove all occurrences of libiomp5md.dll from your harddrive (or rename them to e.g. libiomp5md.dll.backup).
– Clemens

1 Like