[OpenSPIM] laser questions, About the OpenSPIM/Fiji package, Getting the code back on track

Luke Stuyvenberg stuyvenberg at wisc.edu
Mon May 20 16:55:14 CDT 2013


Hey Johannes (and Wade and Edgar -- hang on to the end of this e-mail, I have an aside for you two),

We believe we have a solution for the "Error: Failed to open libMMCoreJ_wrap.jnilibmmcorej:MMCoreJJNI.swig_module_init()V" bug.


First, a reply to Johannes' e-mail:


Regarding the things we have to ship:
- Obviously the old runtime and manifest are already included.
- The new runtime has been uploaded: msvcr100.dll, msvcp100.dll.
However, MMCoreJ_wrap.dll has the manifest (identical to the intermediate manifest, which, I believe, is why it is called 'intermediate') embedded; this is per Microsoft's wishes that DLLs have the manifest embedded (otherwise it won't be read by LoadLibrary calls).


Based on certain sources, it seems Microsoft does not want us to load the runtime libraries as side-by-side assemblies. With that in mind:
- The recompile you made works -- the last part of the search path for DLLs is the PATH environment variable, so including mm/Win32 will find the runtime DLLs.
- Removing the runtime DLLs does break it again. They have to be present.
- As I said above, I think intermediate is so-called because it is later embedded into the DLL (you can open it with a text editor and search for 'manifest' if you like).
You mentioned on IRC that you would upload the new launcher version to the ImageJ update site, so...


Now, the promised aside to Edgar and Wade:


The main problem is that we forgot to include the new Microsoft Visual C Runtime libraries. Thanks to Johannes' effort, this should be rectified -- all you need to do now is launch Fiji and update it!


You should get a few things:
- A new ImageJ-win32.exe that will find the right files.
- Newer, slimmer versions of the OpenSPIM DLLs: MMCoreJ_wrap.dll as well as several mmgr_dal_*.dll files.
- msvcr100.dll and msvcp100.dll, the new runtime.


After updating, please try launching Micro-Manager again!


Thank you,
Luke Stuyvenberg


On 05/20/13, Johannes Schindelin  wrote:
> Hi Luke,
> 
> thank you for taking on the task to address the UnsatisfiedLlinkErrors. I
> will summarize a few points to keep everybody interested in the loop:
> 
> - since Microsoft does not allow redistribution of the debug libraries, we
> had to recompile everything in release mode
> 
> - there was a bug that would prevent release mode from working correctly:
> it still included debug information
> 
> - the old redistributable libraries (i.e. Visual Studio 2008's) required a
> manifest to be loaded (a small .xml file)
> 
> - some setting in Micro-Manager enforces compatibility with the old
> runtime libraries (as can be seen in
> MMCoreJ_wrap.dll.intermediate.manifest)
> 
> - we therefore need to ship
> 
> - the old runtime libraries
> - the old runtime manifest
> - the new runtime
> - the manifest for MMCoreJ_wrap.dll
> 
> Now, in my tests on the VM (you have credentials to log in), I could start
> Micro-Manager again, without getting thos unsatisfied links.
> 
> May I ask you to check a couple of things, still?
> 
> - I recompiled a debug.exe that also adds mm/win32/ to the PATH. Could you
> retry with ImageJ-win32.exe? I think the change was not actually needed.
> 
> - Could you try without 2010 runtime libraries in mm/Win32/? I think they
> are needed, but it would be nice to know.
> 
> - The name "intermediate" suggests that Micro-Manager's build process does
> something funny to that manifest. Could you please check that? "git grep
> intermediate" should tell
> 
> Thank you!
> Dscho




More information about the OpenSPIM mailing list