Log in

View Full Version : LSMASH Module Not Found


thecoreyburton
12th September 2016, 02:49
I got a new rig recently and have begun the long and arduous process of setting it up, reinstalling all my software and configuring it the way I like. I've had the old one for about five years and upgraded through various versions of Windows, so it's been a while since I've had to install some of the more basic stuff.

I did a fresh installation of Avisynth 2.6.0 into the default directory and downloaded the latest LSMASHSource plugin only to encounter an error. I did a quick search and it usually means one of the dependencies is missing (in particular, files from Microsoft's Visual C++ Runtime). I installed the one linked in the archive LSMASH was in, and still encountered the error. Now, it's about two hours later, I'm frustrated and I've installed every Visual C++ Runtime I could find from 2005 to 2015 and am still encountering the same error.

My best guess is that because I'm using a clean installation of Windows 10, a dependency I haven't though of is missing or perhaps some sort of Windows environment variables aren't set correctly. Either that or it's something stupid I'm overlooking. I'm not too sure, and that's why I'm posting here. I'm hoping someone here can help!

Thanks in advance!

LoadPlugin: unable to load "C:\Program Files (x86)\Avisynth\Plugins\LSMASHSource.dll", Module not found. Install missing library?

captaiŋadamo
12th September 2016, 03:11
Use dependency walker. http://www.dependencywalker.com

thecoreyburton
12th September 2016, 03:48
Alright, I think I worked my way around dependency walker (unless you have a specific set of steps I should follow and perhaps I did it wrong) and turns out the dependencies it couldn't load are the ones that came in the archive alongside it (avformat-57.dll, swscale-4.dll, etc). They're in the same folder as LSMASHSource.dll but for whatever reason, they're not loading (which I find unusual considering the plugin auto-loads from the same directory). At least I know I have them, now it's just a matter of working out why they're not loading.

Edit: Found Groucho's AVSMeter and used that to check the dependencies and came to the same conclusion. AVSMeter states that those dlls were dependencies that couldn't be loaded. Interestingly enough, if I remove the dlls that won't load from the folder, AVISynth tells me there's no function known as "LWLibAVVideoSource" but AVSMeter returns the same message stating those particular dependencies could not be loaded.

thecoreyburton
12th September 2016, 04:33
Negated the issue by copying those particular files into system32. Still curious as to why I didn't have to do this on my other computer, but at least the problem is solved.

qyot27
12th September 2016, 04:38
Negated the issue by copying those particular files into system32. Still curious as to why I didn't have to do this on my other computer, but at least the problem is solved.
The av* dlls have to be on the %PATH%. system32 (and syswow64, which is where 32-bit dlls should go on 64-bit systems) is guaranteed to be there, but any given directory would work if it's in that variable. The other computer probably has the plugins folder on the %PATH%.

Groucho2004
15th September 2016, 03:07
Interestingly enough, if I remove the dlls that won't load from the folder, AVISynth tells me there's no function known as "LWLibAVVideoSource" but AVSMeter returns the same message stating those particular dependencies could not be loaded.That's because Avisynth does not check the dependencies of the plugins. The plugin check in AVSMeter goes as follows (apart from the usual error and exception handling):
- Enumerate all auto-load plugins
- Load each plugin by invoking "LoadPlugin()"
- If that fails, enumerate all dependencies for the failing plugin
- Try to load each dependency with "LoadLibrary()"
- If that fails, report the dependency