Ticket #510 (closed Defect: fixed)
Tools that depend on MATLAB fail with python.exe: Cannot find the directory containing the 'FunctionsMatlab' component
| Reported by: | jjr8 | Owned by: | jjr8 |
|---|---|---|---|
| Priority: | Medium | Milestone: | 0.8 |
| Component: | Core - MATLAB Interop | Version: | |
| Keywords: | Cc: |
Description
The complete message looks like this:
python.exe: Cannot find the directory containing the 'FunctionsMatlab' component, python.exe: which is required by this application. Make sure the directory containing python.exe: 'FunctionsMatlab.ctf' is on your dynamic load library path python.exe: (PATH on Windows, or LD_LIBRARY_PATH on Linux, for example), or your python.exe: application search path (PATH on both Windows and Linux). python.exe: Unable to obtain exclusive lock on CTF directory. If you are running multiple simutaneous instances of this application, initialization errors may occur. python.exe: Extracting CTF archive. This may take a few seconds, depending on the python.exe: size of your application. Please wait... python.exe: Error initializing CTF Archive python.exe: RuntimeError: failed to initialize the Matlab extension module RuntimeError: python.exe returned exit code 1, indicating failure.
Here is a MATLAB bug report describing a similar problem. But, as I understand it, MGET uses a version of MATLAB (2007b) that contains the fix.
This problem seems to have popped up very recently, even though none of the relevant code has changed. My guess is that a recent Windows update broke Windows 7 compatibility with the version of MATLAB that MGET uses. In any case, the solution is to add the path to the .CTF file to the system PATH environment variable before calling the functions in it. Someone tested that for me on a broken system and it appeared to fix the problem.
