mstorsjo/msvc-wine

fatal error C1902: Program database manager mismatch; please check your installation

rom4s opened this issue · 6 comments

rom4s commented

caused:

005a:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution.

additional package required:

sudo apt install winbind

This is a known issue (but which I probably haven't written down anywhere here); anything relating to PDB files doesn't really work (at least not the normal way that it's done, where a separate debug "server" process writes a PDB file, and the compiler processes communicate with this process).

So depending on build system, you might need disable debug info.

I met the same problem when compiling vim. The problem appeared because that cl tried to enable multiple process compilation, which wine may not support, and cause a race condition on the pdb file. After disabling /MP in cl arguments, the compilation succeeded.

I am not sure whether it is exactly a same problem, but hope it helps.

Yes, avoiding concurrent writes to the PDB file kind of works. For newer MSVC versions it seems like it works if you use /Z7 instead of /Zi as well, for enabling the debug info - /Z7 uses the "old" behaviour of the compiler writing the debug info into the object files, leaving it up to the linker to merge it.

Are you using a custom build of wine? I fixed (at least that wine parallel bug) by installing winbind.

I was also able to fix this one by complementing @mstorsjo great work with winbind installation:

sudo apt install winbind
sudo service winbind start

For archlinux also need to install samba packet. Starting service not required.

pacman -S libwbclient samba