Vladimir Panteleev
2016-Apr-08 02:31 UTC
[Wine] How to change Wine DLL search path for "built-in" DLLs?
I'm trying to get the VS2012 C++ compiler (cl.exe) running under Wine (stand-alone, as a component for a different larger project). Wine has a msvcr120.dll, however it is incomplete, at least as far as cl.exe is concerned: wine: Call from 0x7b44ee37 to unimplemented function msvcr120.dll.??0reader_writer_lock at Concurrency@@QEAA at XZ, aborting Internal Compiler Error in Z:\home\vladimir\work\Digger\work-wine\dl\vs2013-community\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\cl.exe. You will be prompted to send an error report to Microsoft later. The problem is that it attempts to load its builtin DLL even if I place the native Microsoft's DLL in PATH before system32/syswow64. WINEDLLPATH seems to have no effect, and adding a DLL override has no effect other than changing whether it loads Wine's DLL on fails to load a DLL at all (even though it's in PATH!). Yes, the model (bitness) is correct. I remember reading somewhere that Wine uses the value of PATH from the registry. I guess I could also just delete or overwrite Wine's DLL in system32/syswow64. But is it possible to change the DLL search path for one Wine invocation, without any permanent modifications to the bottle? Partially related, but I noticed that Wine does not skip over DLLs of wrong bitness as Windows does. Instead, the program fails to initialize. This means you can't add 32-bit and 64-bit DLL directories to PATH and let the programs' bitness sort out which to use. That's definitely a bug I guess.
Sylvain Petreolle
2016-Apr-09 12:55 UTC
[Wine] Re : How to change Wine DLL search path for "built-in" DLLs?
WINEDLLOVERRIDES=msvcr120=n wine .... Envoyé depuis Yahoo Mail pour Android Le ven. j avr. AM à 4:31, Vladimir Panteleev<thecybershadow.lists at gmail.com> a écrit : I'm trying to get the VS2012 C++ compiler (cl.exe) running under Wine (stand-alone, as a component for a different larger project). Wine has a msvcr120.dll, however it is incomplete, at least as far as cl.exe is concerned: wine: Call from 0x7b44ee37 to unimplemented function msvcr120.dll.??0reader_writer_lock at Concurrency@@QEAA at XZ, aborting Internal Compiler Error in Z:\home\vladimir\work\Digger\work-wine\dl\vs2013-community\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\cl.exe. You will be prompted to send an error report to Microsoft later. The problem is that it attempts to load its builtin DLL even if I place the native Microsoft's DLL in PATH before system32/syswow64. WINEDLLPATH seems to have no effect, and adding a DLL override has no effect other than changing whether it loads Wine's DLL on fails to load a DLL at all (even though it's in PATH!). Yes, the model (bitness) is correct. I remember reading somewhere that Wine uses the value of PATH from the registry. I guess I could also just delete or overwrite Wine's DLL in system32/syswow64. But is it possible to change the DLL search path for one Wine invocation, without any permanent modifications to the bottle? Partially related, but I noticed that Wine does not skip over DLLs of wrong bitness as Windows does. Instead, the program fails to initialize. This means you can't add 32-bit and 64-bit DLL directories to PATH and let the programs' bitness sort out which to use. That's definitely a bug I guess. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.winehq.org/pipermail/wine-users/attachments/20160409/38897ecf/attachment.html>