Ticket #11462 (new)

Opened 6 years ago

Last modified 5 years ago

Windows Python DLL issues

Reported by: Martyn Gigg Owned by: Martyn Gigg
Priority: major Milestone: Release 3.5
Component: Python Keywords:
Cc: Blocked By:
Blocking: Tester:

Description

I was trying to start Mantid with “genie_python” for instrument control – if I use the python.exe bundled with Mantid, it works fine. If I start Mantid up then I get a “DLL loading error R6034” which comes from ipython -> pyreadline -> ctypes This issue can be reproduced in a clean Mantid install with the following command sequence typed in the scripting window:

import ctypes.util
from ctypes import *
from _ctypes import call_function
from ctypes.wintypes import *
msvcrt = cdll.LoadLibrary(ctypes.util.find_msvcrt())
 
Which gives the error:
 
---------------------------------------------------------------------------
WindowsError                              Traceback (most recent call last)
<ipython-input-5-fcdb85f037b8> in <module>()
----> 1 msvcrt = cdll.LoadLibrary(ctypes.util.find_msvcrt())
 
C:\MantidInstall\bin\lib\ctypes\__init__.pyc in LoadLibrary(self, name)
 
C:\MantidInstall\bin\lib\ctypes\__init__.pyc in __init__(self, name, mode, handle, use_errno, use_last_error)
 
WindowsError: [Error 1114] A dynamic link library (DLL) initialization routine failed

Using the python.exe bundled with Mantid find_msvcrt() returns “mscvr90.dll” . I know Mantid itself is built with Visual Studio 2012 (and hence bundles msvcr110.dll), but MantidPlot is linked again python27.dll that in turn is linked against msvcr90.dll Is find_msvcrt() getting confused by the presence of two CRTLs, or is there a missing Manifest file (as R6034 might suggest)?

Change History

comment:1 Changed 5 years ago by Nick Draper

  • Milestone changed from Release 3.4 to Release 3.5

Moved to R3.5 at the R3.4 code freeze

comment:2 Changed 5 years ago by Stuart Campbell

This ticket has been transferred to github issue 12301

Note: See TracTickets for help on using tickets.