https://bugs.winehq.org/show_bug.cgi?id=39437
Bug ID: 39437 Summary: Visual Studio 2015-compiled C++ programs do not run (unimplemented function api-ms-win-crt-runtime-l1-1-0.dll._seh_filter_dll) Product: Wine Version: 1.7.52 Hardware: x86 URL: https://www.microsoft.com/en-us/download/confirmation. aspx?id=48145 OS: Linux Status: NEW Keywords: download Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: madewokherd@gmail.com Distribution: ---
Created attachment 52551 --> https://bugs.winehq.org/attachment.cgi?id=52551 C++ Hello World program compiled with Visual Studio 2015
Attached HelloWorld.exe is a C++ program compiled with Visual Studio 2015. It depends on vcruntime140.dll and msvcp140.dll, which Wine does not have.
The redistributable package for these files can be downloaded here: https://www.microsoft.com/en-us/download/confirmation.aspx?id=48145
Currently fails in PROCESS_ATTACH of msvcp140.dll, with:
wine: Call from 0x7b83a76c to unimplemented function api-ms-win-crt-runtime-l1-1-0.dll._initialize_onexit_table, aborting
This exception is apparently handled by calling another function we don't implement:
wine: Call from 0x7b83a76c to unimplemented function api-ms-win-crt-runtime-l1-1-0.dll._seh_filter_dll, aborting
Calls to this function spam the terminal until the stack overflows. I put that in the subject because it's more noticeable, but the first issue is _initialize_onexit_table
https://bugs.winehq.org/show_bug.cgi?id=39437
Vincent Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |madewokherd@gmail.com
--- Comment #1 from Vincent Povirk madewokherd@gmail.com --- Created attachment 52552 --> https://bugs.winehq.org/attachment.cgi?id=52552 C++ Hello World program compiled with Visual Studio 2015 (64-bit version)
I'm also attaching a 64-bit build of the same program, just in case it's different. I wasn't able to test this one because the x64 redist doesn't install the dll's. I think that's another Wine bug, but I don't feel like looking it up.
https://bugs.winehq.org/show_bug.cgi?id=39437
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com Component|-unknown |api-ms-win-*
--- Comment #2 from Austin English austinenglish@gmail.com --- (In reply to Vincent Povirk from comment #1)
Created attachment 52552 [details] C++ Hello World program compiled with Visual Studio 2015 (64-bit version)
I'm also attaching a 64-bit build of the same program, just in case it's different. I wasn't able to test this one because the x64 redist doesn't install the dll's. I think that's another Wine bug, but I don't feel like looking it up.
Probably bug 30713.
https://bugs.winehq.org/show_bug.cgi?id=39437
--- Comment #3 from Austin English austinenglish@gmail.com --- (In reply to Vincent Povirk from comment #0)
It depends on vcruntime140.dll and msvcp140.dll, which Wine does not have.
FWIW, I added vcrun2015 to winetricks: https://github.com/Winetricks/winetricks/commit/d2e059d466a860da342b1ad1f945...
https://bugs.winehq.org/show_bug.cgi?id=39437
purplekarrot@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |purplekarrot@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=39437
Vladimir Rutsky rutsky.vladimir@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rutsky.vladimir@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=39437
--- Comment #4 from Nikolay Sivov bunglehead@gmail.com --- Does this http://source.winehq.org/git/wine.git/?a=commit;h=cd785109739a568abcdbd1057c... fix it?
https://bugs.winehq.org/show_bug.cgi?id=39437
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |infyquest@gmail.com Summary|Visual Studio 2015-compiled |Visual Studio 2015-compiled |C++ programs do not run |C++ programs do not run |(unimplemented function |(unimplemented function |api-ms-win-crt-runtime-l1-1 |api-ms-win-crt-runtime-l1-1 |-0.dll._seh_filter_dll) |-0.dll._initialize_onexit_t | |able)
--- Comment #5 from Vijay Kamuju infyquest@gmail.com --- Modify the summary as _seh_filter_dll is implemented
https://bugs.winehq.org/show_bug.cgi?id=39437
rboxeur davidtecher@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |davidtecher@yahoo.fr
--- Comment #6 from rboxeur davidtecher@yahoo.fr --- There is a workaround to this issue. Workaround is available at https://github.com/ehsan/msvc2013onwine/issues/2
In a nutshell there are missing DLLs and those DLLS as to be set as native
I put missing DLLs on my personal website that you can download
Zip file content is
msvcp140.dll vcruntime140.dll ucrtbase.dll api-ms-win-crt-locale-l1-1-0.dll api-ms-win-crt-runtime-l1-1-0.dll api-ms-win-crt-stdio-l1-1-0.dll api-ms-win-crt-heap-l1-1-0.dll api-ms-win-crt-conio-l1-1-0.dll vcrun2015.reg
To test it 1) Download wget http://techer.pascal.free.fr/download/vcrun2015_Wine-1.7.55.zip
2) Extract to your $WINEPREFIX/drive/windows/system32/ (force overwritting!) unzip -o -d $WINEPREFIX/drive_c/windows/system32/ vcrun2015_Wine-1.7.55.zip
3) Set all DLLs as native. There is a reg file to load to do that in the zip file regedit $WINEPREFIX/drive_c/windows/system32/vcrun2015.reg
https://bugs.winehq.org/show_bug.cgi?id=39437
--- Comment #7 from Nikolay Sivov bunglehead@gmail.com --- (In reply to rboxeur from comment #6)
I put missing DLLs on my personal website that you can download
Zip file content is
msvcp140.dll vcruntime140.dll ucrtbase.dll api-ms-win-crt-locale-l1-1-0.dll api-ms-win-crt-runtime-l1-1-0.dll api-ms-win-crt-stdio-l1-1-0.dll api-ms-win-crt-heap-l1-1-0.dll api-ms-win-crt-conio-l1-1-0.dll vcrun2015.reg
wget http://techer.pascal.free.fr/download/vcrun2015_Wine-1.7.55.zip
Don't do that, redistributable modules are supposed to be installed from official download location, api-* dlls are not redistributable, as far as I know, you can't just share random files from your Windows installation.
https://bugs.winehq.org/show_bug.cgi?id=39437
--- Comment #8 from rboxeur davidtecher@yahoo.fr --- If you have access to winetricks repo then ou just need to update winetricks to add api*dll and it should do it. For vc_redist*exe everything is in a10 file
After the lines (for 32 bit case)
w_try_cabextract --directory="$W_TMP" "$W_TMP/a10" w_try_cabextract --directory="$W_TMP" "$W_TMP/a11" ... cp "$W_TMP"/vcruntime140.dll "$W_SYSTEM32_DLLS"/vcruntime140.dll
Just add the lines
cp "$W_TMP"/ucrtbase.dll "$W_SYSTEM32_DLLS"/ucrtbase.dll cp "$W_TMP"/api_ms_win_crt_locale_l1_1_0.dll "$W_SYSTEM32_DLLS"/api-ms-win-crt-locale-l1-1-0.dll cp "$W_TMP"/api_ms_win_crt_runtime_l1_1_0.dll "$W_SYSTEM32_DLLS"/api-ms-win-crt-runtime-l1-1-0.dll cp "$W_TMP"/api_ms_win_crt_stdio_l1_1_0.dll "$W_SYSTEM32_DLLS"/api-ms-win-crt-stdio-l1-1-0.dll cp "$W_TMP"/api_ms_win_crt_heap_l1_1_0.dll "$W_SYSTEM32_DLLS"/api-ms-win-crt-heap-l1-1-0.dll cp "$W_TMP"/api_ms_win_crt_conio_l1_1_0.dll "$W_SYSTEM32_DLLS"/api-ms-win-crt-conio-l1-1-0.dll
and update this line (for 32 bits case here)
w_override_dlls native,builtin atl140 msvcp140 msvcr140 vcomp140
to
w_override_dlls native,builtin atl140 msvcp140 msvcr140 vcomp140 ucrtbase api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-conio-l1-1-0
https://bugs.winehq.org/show_bug.cgi?id=39437
--- Comment #9 from Austin English austinenglish@gmail.com --- (In reply to rboxeur from comment #8)
If you have access to winetricks repo then ou just need to update winetricks to add api*dll and it should do it. For vc_redist*exe everything is in a10 file
After the lines (for 32 bit case)
w_try_cabextract --directory="$W_TMP" "$W_TMP/a10" w_try_cabextract --directory="$W_TMP" "$W_TMP/a11" ... cp "$W_TMP"/vcruntime140.dll "$W_SYSTEM32_DLLS"/vcruntime140.dll
Just add the lines
cp "$W_TMP"/ucrtbase.dll "$W_SYSTEM32_DLLS"/ucrtbase.dll cp "$W_TMP"/api_ms_win_crt_locale_l1_1_0.dll "$W_SYSTEM32_DLLS"/api-ms-win-crt-locale-l1-1-0.dll cp "$W_TMP"/api_ms_win_crt_runtime_l1_1_0.dll "$W_SYSTEM32_DLLS"/api-ms-win-crt-runtime-l1-1-0.dll cp "$W_TMP"/api_ms_win_crt_stdio_l1_1_0.dll "$W_SYSTEM32_DLLS"/api-ms-win-crt-stdio-l1-1-0.dll cp "$W_TMP"/api_ms_win_crt_heap_l1_1_0.dll "$W_SYSTEM32_DLLS"/api-ms-win-crt-heap-l1-1-0.dll cp "$W_TMP"/api_ms_win_crt_conio_l1_1_0.dll "$W_SYSTEM32_DLLS"/api-ms-win-crt-conio-l1-1-0.dll
and update this line (for 32 bits case here)
w_override_dlls native,builtin atl140 msvcp140 msvcr140 vcomp140
to
w_override_dlls native,builtin atl140 msvcp140 msvcr140 vcomp140 ucrtbase api-ms-win-crt-locale-l1-1-0 api-ms-win-crt-runtime-l1-1-0 api-ms-win-crt-stdio-l1-1-0 api-ms-win-crt-heap-l1-1-0 api-ms-win-crt-conio-l1-1-0
Please file an issues at Winetrick's issue tracker (or better yet, send a pull request).
https://bugs.winehq.org/show_bug.cgi?id=39437
--- Comment #10 from rboxeur davidtecher@yahoo.fr --- Ticket was opened on winetricks github at https://github.com/Winetricks/winetricks/issues/575
I added a patch to my ticket to apply to winetricks.
https://bugs.winehq.org/show_bug.cgi?id=39437
Ville Aakko ville.aakko@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ville.aakko@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=39437
--- Comment #11 from rboxeur davidtecher@yahoo.fr --- My patch for wineticks has been updated/committed on winetricks repo.
Ticket https://github.com/Winetricks/winetricks/issues/575
I guess that this current one can be closed too.
https://bugs.winehq.org/show_bug.cgi?id=39437
--- Comment #12 from Vijay Kamuju infyquest@gmail.com --- Keep it open as the function is still not implemented in WINE
https://bugs.winehq.org/show_bug.cgi?id=39437
remo.hertig@bluewin.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |remo.hertig@bluewin.ch
https://bugs.winehq.org/show_bug.cgi?id=39437
Jactry Zeng jactry92@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jactry92@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=39437
--- Comment #13 from Nikolay Sivov bunglehead@gmail.com --- Created attachment 54344 --> https://bugs.winehq.org/attachment.cgi?id=54344 patch
Next issue will likely to be registration/execution, but it does not look complicated. Please try this one for now.
https://bugs.winehq.org/show_bug.cgi?id=39437
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|api-ms-win-* |msvcrt
https://bugs.winehq.org/show_bug.cgi?id=39437
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #54344|0 |1 is obsolete| |
https://bugs.winehq.org/show_bug.cgi?id=39437
Nikolay Sivov bunglehead@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |4551b72e75c6932f6d48d0a603d | |683ada2cec15f
--- Comment #14 from Nikolay Sivov bunglehead@gmail.com --- Fixed with http://source.winehq.org/git/wine.git/?a=commit;h=4551b72e75c6932f6d48d0a603.... Please open another report for next issue.
https://bugs.winehq.org/show_bug.cgi?id=39437
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #15 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 1.9.9.
https://bugs.winehq.org/show_bug.cgi?id=39437
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mstefani@redhat.com Target Milestone|--- |1.8.x
https://bugs.winehq.org/show_bug.cgi?id=39437
Michael Stefaniuc mstefani@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|1.8.x |---
--- Comment #16 from Michael Stefaniuc mstefani@redhat.com --- On a second thought it isn't for Stable. Too many dependencies and it doesn't seem to be enough to make apps work.