I’m building a python application from some source code I’ve found Here
I’ve managed to compile and fix some problems by searching the web, but I’m stuck at this point:
When running the application this message appears.
alt text http://img511.imageshack.us/img511/4481/loadfr0.png
This python app, usues swig to link to c/c++ code.
I have VC++2005 express edition which I used to compile along with scons and Python 2.5 ( and tried 2.4 too )
The dlls that are attempting to load is ‘msvcr80.dll’ because before the message was ‘msvcr80.dll’ cannot be found or something like that, so I got it and drop it in window32 folder.
For what I’ve read in here: http://msdn.microsoft.com/en-us/library/ms235591(VS.80).aspx
The solution is to run MT with the manifest and the dll file. I did it already and doesn’t work either.
Could anyone point me to the correct direction?
This is the content of the manifest fie:
<?xml version='1.0' encoding='UTF-8' standalone='yes'?> <assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'> <dependency> <dependentAssembly> <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' /> </dependentAssembly> </dependency> </assembly>
I’m going to try Python 2.6 now, I’m not quite sure of understanding the problem, but Python 2.5 and Python 2.5 .exe had the string ‘MSVCR71.dll’ inside the .exe file. But probably this has nothing to do.
ps. if only everything was as easy as jar files 🙁
This is the stack trace for completeness
None INFO:root:Skipping provider enso.platform.osx. INFO:root:Skipping provider enso.platform.linux. INFO:root:Added provider enso.platform.win32. Traceback (most recent call last): File 'scripts\run_enso.py', line 24, in <module> enso.run() File 'C:\oreyes\apps\enso\enso-read-only\enso\__init__.py', line 40, in run from enso.events import EventManager File 'C:\oreyes\apps\enso\enso-read-only\enso\events.py', line 60, in <module> from enso import input File 'C:\oreyes\apps\enso\enso-read-only\enso\input\__init__.py', line 3, in <module> _input = enso.providers.getInterface( 'input' ) File 'C:\oreyes\apps\enso\enso-read-only\enso\providers.py', line 137, in getInterface interface = provider.provideInterface( name ) File 'C:\oreyes\apps\enso\enso-read-only\enso\platform\win32\__init__.py', line 48, in provideInterface import enso.platform.win32.input File 'C:\oreyes\apps\enso\enso-read-only\enso\platform\win32\input\__init__.py', line 3, in <module> from InputManager import * File 'C:\oreyes\apps\enso\enso-read-only\enso\platform\win32\input\InputManager.py', line 7, in <module> import _InputManager ImportError: DLL load failed: Error en una rutina de inicializaci¾n de biblioteca de vÝnculos dinßmicos (DLL).
I’ve been able to compile and run Enso by using /LD as a compiler flag. This links dynamically to the MS Visual C++ runtime, and seems to allow you to get away without a manifest.
If you’re using SCons, see the diff file here: http://paste2.org/p/69732