Hi, I reproduced this behavior on another machine running windows 7 professional 32bits.
Regards, Samuel Palato On Wednesday, July 13, 2016 at 9:46:36 AM UTC-4, Samuel Palato wrote: > > Hi, > > I am currently trying to bundle an application that controls scientific > equipment. One particular dependency (`pyfits`) causes a crash when trying > to launch an `.exe` built in one-dir mode. The crash happens when the > `pyfits` module tries to load mscvrt, using `ctypes`, after some checks > (ie: it uses `ctypes.utils.find_mscvrt()` and a variable). > > I have reproduced this issue using a minimal script. The program crashes > with windows error R6034. MSVCR are bundled in the dist, with the version > number found in the accompanying manifest file. I've tried swapping arround > the `win_no_prefer_redirects` and `win_private_assemblies` flags without > any success. > > I have tried replacing the manifest files found in `dist\` with the one > from `build\` with no success, as suggested here: > http://stackoverflow.com/questions/17468135/pyinstaller-and-r6034-error > > I am running windows 10 64, python 2.7.10 (default, May 23 2015, 09:40:32) > [MSC v.1500 32 bit (Intel)], pyinstaller 3.2 > > Any help on the matter is very welcome. > > The script: > > #!python2 > # try loading mscvrt using ctypes.util. For bug tracking. > > from ctypes.util import find_msvcrt, find_library > from ctypes import cdll > mscvrt_dll = find_msvcrt() > print("mscvrt_dll is", mscvrt_dll) > print("find_library(mscvrt_dll)", find_library(mscvrt_dll)) > mscvrt = cdll.LoadLibrary(mscvrt_dll) > > > The build output (powershell running a venv): > > (axis)PS streakgui> pyinstaller --clean -dy .\try_load_mscvrt.spec > 92 INFO: PyInstaller: 3.2 > 92 INFO: Python: 2.7.10 > 94 INFO: Platform: Windows-8-6.2.9200 > 95 INFO: UPX is not available. > 95 INFO: Removing temporary files and cleaning cache in > C:\Users\Samuel\AppData\Roaming\pyinstaller > 96 INFO: Extending PYTHONPATH with paths > ['C:\\workzone\\src', 'C:\\workzone\\src\\streakgui'] > 98 INFO: checking Analysis > 98 INFO: Building Analysis because out00-Analysis.toc is non existent > 98 INFO: Initializing module dependency graph... > 101 INFO: Initializing module graph hooks... > 138 INFO: running Analysis out00-Analysis.toc > 141 INFO: Adding Microsoft.VC90.CRT to dependent assemblies of final > executable > required by c:\users\samuel\.virtualenvs\axis\scripts\python.exe > 226 INFO: Found > C:\WINDOWS\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.1_none_8550c6b5d18a9128.manifest > 226 INFO: Found > C:\WINDOWS\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_f480bfaef65491a5.manifest > 229 INFO: Found > C:\WINDOWS\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9177_none_f4813cfaf6543c37.manifest > 313 INFO: Searching for assembly > x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.9177_none ... > 313 INFO: Found manifest > C:\WINDOWS\WinSxS\Manifests\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9177_none_5093cc7abcb795e9.manifest > 315 INFO: Searching for file msvcr90.dll > 315 INFO: Found file > C:\WINDOWS\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9177_none_5093cc7abcb795e9\msvcr90.dll > 315 INFO: Searching for file msvcp90.dll > 316 INFO: Found file > C:\WINDOWS\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9177_none_5093cc7abcb795e9\msvcp90.dll > 316 INFO: Searching for file msvcm90.dll > 316 INFO: Found file > C:\WINDOWS\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9177_none_5093cc7abcb795e9\msvcm90.dll > 401 INFO: Found > C:\WINDOWS\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.1_none_8550c6b5d18a9128.manifest > 402 INFO: Found > C:\WINDOWS\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_f480bfaef65491a5.manifest > 404 INFO: Found > C:\WINDOWS\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9177_none_f4813cfaf6543c37.manifest > 404 INFO: Adding redirect Microsoft.VC90.CRT version (9, 0, 21022, 8) -> > (9, 0, 30729, 9177) > 4036 INFO: Caching module hooks... > 4042 INFO: Analyzing try_load_mscvrt.py > 4967 INFO: Loading module hooks... > 4969 INFO: Loading module hook "hook-encodings.py"... > 5285 INFO: Looking for ctypes DLLs > 5286 INFO: Analyzing run-time hooks ... > 5292 INFO: Looking for dynamic libraries > 6759 INFO: Looking for eggs > 6759 INFO: Using Python library C:\WINDOWS\system32\python27.dll > 6759 INFO: Found binding redirects: > [BindingRedirect(name=u'Microsoft.VC90.CRT', language=None, arch=u'x86', > oldVersion=(9, 0, 21022, 8), newVersion=(9, 0, 30729, 9177), publicKeyToken= > u'1fc8b3b9a1e18e3b')] > 6766 INFO: Warnings written to > C:\workzone\src\streakgui\build\try_load_mscvrt\warntry_load_mscvrt.txt > 6849 INFO: checking PYZ > 6851 INFO: Building PYZ because out00-PYZ.toc is non existent > 6851 INFO: Building PYZ (ZlibArchive) > C:\workzone\src\streakgui\build\try_load_mscvrt\out00-PYZ.pyz > 7246 INFO: checking PKG > 7246 INFO: Building PKG because out00-PKG.toc is non existent > 7246 INFO: Building PKG (CArchive) out00-PKG.pkg > 7407 INFO: Bootloader > c:\users\samuel\.virtualenvs\axis\lib\site-packages\PyInstaller\bootloader\Windows-32bit\run_d.exe > 7407 INFO: checking EXE > 7407 INFO: Building EXE because out00-EXE.toc is non existent > 7407 INFO: Building EXE from out00-EXE.toc > 7408 INFO: Appending archive to EXE > C:\workzone\src\streakgui\build\try_load_mscvrt\try_load_mscvrt.exe > 7507 INFO: checking COLLECT > 7509 INFO: Building COLLECT because out00-COLLECT.toc is non existent > 7509 INFO: Removing dir C:\workzone\src\streakgui\dist\try_load_mscvrt > 7513 INFO: Building COLLECT out00-COLLECT.toc > 7546 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, > 0, 30729, 9177) > 7720 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, > 0, 30729, 9177) > 7721 INFO: Updating manifest in > C:\Users\Samuel\AppData\Roaming\pyinstaller\bincache00_py27_32bit\python27.dll > 7721 INFO: Updating resource type 24 name 2 language 1033 > > > Launching the resulting file results in the display of this error popup > message: > > Runtime Error! > > Program: C:\work... > > R6034 > An application has made an attempt to load the C runtime library > incorrectly. > Please contact the application's support team for more information. > > And the console log: > PS streakgui> .\dist\try_load_mscvrt\try_load_mscvrt.exe > PyInstaller Bootloader 3.x > LOADER: executable is > C:\workzone\src\streakgui\dist\try_load_mscvrt\try_load_mscvrt.exe > LOADER: homepath is C:\workzone\src\streakgui\dist\try_load_mscvrt > LOADER: _MEIPASS2 is NULL > LOADER: archivename is > C:\workzone\src\streakgui\dist\try_load_mscvrt\try_load_mscvrt.exe > LOADER: No need to extract files to run; setting extractionpath to homepath > LOADER: SetDllDirectory(C:\workzone\src\streakgui\dist\try_load_mscvrt) > LOADER: Already in the child - running user's code. > LOADER: Python library: > C:\workzone\src\streakgui\dist\try_load_mscvrt\python27.dll > LOADER: Loaded functions from Python library. > LOADER: Manipulating environment (sys.path, sys.prefix) > LOADER: sys.prefix is C:\workzone\src\STREAK~1\dist\TRY_LO~1 > LOADER: Setting runtime options > LOADER: Initializing python > LOADER: Overriding Python's sys.path > LOADER: Post-init sys.path is > C:\workzone\src\streakgui\dist\try_load_mscvrt > LOADER: Setting sys.argv > LOADER: setting sys._MEIPASS > LOADER: importing modules from CArchive > LOADER: extracted struct > LOADER: callfunction returned... > LOADER: extracted pyimod01_os_path > LOADER: callfunction returned... > LOADER: extracted pyimod02_archive > LOADER: callfunction returned... > LOADER: extracted pyimod03_importers > LOADER: callfunction returned... > LOADER: Installing PYZ archive with Python modules. > LOADER: PYZ archive: out00-PYZ.pyz > LOADER: Running pyiboot01_bootstrap.py > LOADER: Running try_load_mscvrt.py > ('mscvrt_dll is', 'msvcr90.dll') > ('find_library(mscvrt_dll)', None) > Traceback (most recent call last): > File "streakgui\try_load_mscvrt.py", line 9, in <module> > File "ctypes\__init__.py", line 443, in LoadLibrary > File "site-packages\PyInstaller\loader\pyiboot01_bootstrap.py", line > 131, in __init__ > File "ctypes\__init__.py", line 365, in __init__ > WindowsError: [Error 1114] Une routine dÆinitialisation dÆune bibliothΦque > de liens dynamiques (DLL) a Θchou > Failed to execute script try_load_mscvrt > LOADER: OK. > LOADER: Cleaning up Python interpreter. > > > > On Wednesday, July 13, 2016 at 9:46:36 AM UTC-4, Samuel Palato wrote: > > Hi, > > I am currently trying to bundle an application that controls scientific > equipment. One particular dependency (`pyfits`) causes a crash when trying > to launch an `.exe` built in one-dir mode. The crash happens when the > `pyfits` module tries to load mscvrt, using `ctypes`, after some checks > (ie: it uses `ctypes.utils.find_mscvrt()` and a variable). > > I have reproduced this issue using a minimal script. The program crashes > with windows error R6034. MSVCR are bundled in the dist, with the version > number found in the accompanying manifest file. I've tried swapping arround > the `win_no_prefer_redirects` and `win_private_assemblies` flags without > any success. > > I have tried replacing the manifest files found in `dist\` with the one > from `build\` with no success, as suggested here: > http://stackoverflow.com/questions/17468135/pyinstaller-and-r6034-error > > I am running windows 10 64, python 2.7.10 (default, May 23 2015, 09:40:32) > [MSC v.1500 32 bit (Intel)], pyinstaller 3.2 > > Any help on the matter is very welcome. > > The script: > > #!python2 > # try loading mscvrt using ctypes.util. For bug tracking. > > from ctypes.util import find_msvcrt, find_library > from ctypes import cdll > mscvrt_dll = find_msvcrt() > print("mscvrt_dll is", mscvrt_dll) > print("find_library(mscvrt_dll)", find_library(mscvrt_dll)) > mscvrt = cdll.LoadLibrary(mscvrt_dll) > > > The build output (powershell running a venv): > > (axis)PS streakgui> pyinstaller --clean -dy .\try_load_mscvrt.spec > 92 INFO: PyInstaller: 3.2 > 92 INFO: Python: 2.7.10 > 94 INFO: Platform: Windows-8-6.2.9200 > 95 INFO: UPX is not available. > 95 INFO: Removing temporary files and cleaning cache in > C:\Users\Samuel\AppData\Roaming\pyinstaller > 96 INFO: Extending PYTHONPATH with paths > ['C:\\workzone\\src', 'C:\\workzone\\src\\streakgui'] > 98 INFO: checking Analysis > 98 INFO: Building Analysis because out00-Analysis.toc is non existent > 98 INFO: Initializing module dependency graph... > 101 INFO: Initializing module graph hooks... > 138 INFO: running Analysis out00-Analysis.toc > 141 INFO: Adding Microsoft.VC90.CRT to dependent assemblies of final > executable > required by c:\users\samuel\.virtualenvs\axis\scripts\python.exe > 226 INFO: Found > C:\WINDOWS\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.1_none_8550c6b5d18a9128.manifest > 226 INFO: Found > C:\WINDOWS\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_f480bfaef65491a5.manifest > 229 INFO: Found > C:\WINDOWS\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9177_none_f4813cfaf6543c37.manifest > 313 INFO: Searching for assembly > x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.9177_none ... > 313 INFO: Found manifest > C:\WINDOWS\WinSxS\Manifests\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9177_none_5093cc7abcb795e9.manifest > 315 INFO: Searching for file msvcr90.dll > 315 INFO: Found file > C:\WINDOWS\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9177_none_5093cc7abcb795e9\msvcr90.dll > 315 INFO: Searching for file msvcp90.dll > 316 INFO: Found file > C:\WINDOWS\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9177_none_5093cc7abcb795e9\msvcp90.dll > 316 INFO: Searching for file msvcm90.dll > 316 INFO: Found file > C:\WINDOWS\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9177_none_5093cc7abcb795e9\msvcm90.dll > 401 INFO: Found > C:\WINDOWS\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.1_none_8550c6b5d18a9128.manifest > 402 INFO: Found > C:\WINDOWS\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_f480bfaef65491a5.manifest > 404 INFO: Found > C:\WINDOWS\WinSxS\Manifests\x86_policy.9.0.microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.9177_none_f4813cfaf6543c37.manifest > 404 INFO: Adding redirect Microsoft.VC90.CRT version (9, 0, 21022, 8) -> > (9, 0, 30729, 9177) > 4036 INFO: Caching module hooks... > 4042 INFO: Analyzing try_load_mscvrt.py > 4967 INFO: Loading module hooks... > 4969 INFO: Loading module hook "hook-encodings.py"... > 5285 INFO: Looking for ctypes DLLs > 5286 INFO: Analyzing run-time hooks ... > 5292 INFO: Looking for dynamic libraries > 6759 INFO: Looking for eggs > 6759 INFO: Using Python library C:\WINDOWS\system32\python27.dll > 6759 INFO: Found binding redirects: > [BindingRedirect(name=u'Microsoft.VC90.CRT', language=None, arch=u'x86', > oldVersion=(9, 0, 21022, 8), newVersion=(9, 0, 30729, 9177), publicKeyToken= > u'1fc8b3b9a1e18e3b')] > 6766 INFO: Warnings written to > C:\workzone\src\streakgui\build\try_load_mscvrt\warntry_load_mscvrt.txt > 6849 INFO: checking PYZ > 6851 INFO: Building PYZ because out00-PYZ.toc is non existent > 6851 INFO: Building PYZ (ZlibArchive) > C:\workzone\src\streakgui\build\try_load_mscvrt\out00-PYZ.pyz > 7246 INFO: checking PKG > 7246 INFO: Building PKG because out00-PKG.toc is non existent > 7246 INFO: Building PKG (CArchive) out00-PKG.pkg > 7407 INFO: Bootloader > c:\users\samuel\.virtualenvs\axis\lib\site-packages\PyInstaller\bootloader\Windows-32bit\run_d.exe > 7407 INFO: checking EXE > 7407 INFO: Building EXE because out00-EXE.toc is non existent > 7407 INFO: Building EXE from out00-EXE.toc > 7408 INFO: Appending archive to EXE > C:\workzone\src\streakgui\build\try_load_mscvrt\try_load_mscvrt.exe > 7507 INFO: checking COLLECT > 7509 INFO: Building COLLECT because out00-COLLECT.toc is non existent > 7509 INFO: Removing dir C:\workzone\src\streakgui\dist\try_load_mscvrt > 7513 INFO: Building COLLECT out00-COLLECT.toc > 7546 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, > 0, 30729, 9177) > 7720 INFO: Redirecting Microsoft.VC90.CRT version (9, 0, 21022, 8) -> (9, > 0, 30729, 9177) > 7721 INFO: Updating manifest in > C:\Users\Samuel\AppData\Roaming\pyinstaller\bincache00_py27_32bit\python27.dll > 7721 INFO: Updating resource type 24 name 2 language 1033 > > > Launching the resulting file results in the display of this error popup > message: > > Runtime Error! > > Program: C:\work... > > R6034 > An application has made an attempt to load the C runtime library > incorrectly. > Please contact the application's support team for more information. > > And the console log: > PS streakgui> .\dist\try_load_mscvrt\try_load_mscvrt.exe > PyInstaller Bootloader 3.x > LOADER: executable is > C:\workzone\src\streakgui\dist\try_load_mscvrt\try_load_mscvrt.exe > LOADER: homepath is C:\workzone\src\streakgui\dist\try_load_mscvrt > LOADER: _MEIPASS2 is NULL > LOADER: archivename is > C:\workzone\src\streakgui\dist\try_load_mscvrt\try_load_mscvrt.exe > LOADER: No need to extract files to run; setting extractionpath to homepath > LOADER: SetDllDirectory(C:\workzone\src\streakgui\dist\try_load_mscvrt) > LOADER: Already in the child - running user's code. > LOADER: Python library: > C:\workzone\src\streakgui\dist\try_load_mscvrt\python27.dll > LOADER: Loaded functions from Python library. > LOADER: Manipulating environment (sys.path, sys.prefix) > LOADER: sys.prefix is C:\workzone\src\STREAK~1\dist\TRY_LO~1 > LOADER: Setting runtime options > LOADER: Initializing python > LOADER: Overriding Python's sys.path > LOADER: Post-init sys.path is > C:\workzone\src\streakgui\dist\try_load_mscvrt > LOADER: Setting sys.argv > LOADER: setting sys._MEIPASS > LOADER: importing modules from CArchive > LOADER: extracted struct > LOADER: callfunction returned... > LOADER: extracted pyimod01_os_path > LOADER: callfunction returned... > LOADER: extracted pyimod02_archive > LOADER: callfunction returned... > LOADER: extracted pyimod03_importers > LOADER: callfunction returned... > LOADER: Installing PYZ archive with Python modules. > LOADER: PYZ archive: out00-PYZ.pyz > LOADER: Running pyiboot01_bootstrap.py > LOADER: Running try_load_mscvrt.py > ('mscvrt_dll is', 'msvcr90.dll') > ('find_library(mscvrt_dll)', None) > Traceback (most recent call last): > File "streakgui\try_load_mscvrt.py", line 9, in <module> > File "ctypes\__init__.py", line 443, in LoadLibrary > File "site-packages\PyInstaller\loader\pyiboot01_bootstrap.py", line > 131, in __init__ > File "ctypes\__init__.py", line 365, in __init__ > WindowsError: [Error 1114] Une routine dÆinitialisation dÆune bibliothΦque > de liens dynamiques (DLL) a Θchou > Failed to execute script try_load_mscvrt > LOADER: OK. > LOADER: Cleaning up Python interpreter. > > > > -- You received this message because you are subscribed to the Google Groups "PyInstaller" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/pyinstaller. For more options, visit https://groups.google.com/d/optout.
