Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 844043 - app-emulation/wine-vanilla: win32 prefix cannot find ntoskrnl.exe / mount manager not working
Summary: app-emulation/wine-vanilla: win32 prefix cannot find ntoskrnl.exe / mount man...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Wine Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-13 15:06 UTC by rachus
Modified: 2022-05-14 15:06 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description rachus 2022-05-13 15:06:13 UTC
After my recent upgrade to wine-vanilla-7.8 (it's masked, but I prefer development versions to the stable ones), I experience issues with my win32-prefixes (I'm on a 64 bit system).

In detail, the mount manager of wine doesn't seem to be working properly anymore. This is especially apparent when looking into the device configuration tab of winecfg. It complains that it couldn't connect to the device manager.

The issue can be reproduced by using a clean wine prefix:

$ mkdir /tmp/wine-test
$ export WINEPREFIX=/tmp/wine-test
$ export WINEARCH=win32
$ winecfg
002c:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0048:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0050:fixme:actctx:parse_depend_manifests Could not find dependent assembly L"Microsoft.Windows.Common-Controls" (6.0.0.0)
0050:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
0050:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
0050:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0050:err:ole:start_rpcss Failed to open RpcSs service
0048:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hr 0x80004002
0048:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, hr 0x80004002
0048:err:ole:apartment_get_local_server_stream Failed: 0x80004002
0048:fixme:imm:ImeSetActiveContext (00339718, 0): stub
0048:fixme:imm:ImmReleaseContext (00010020, 00339718): stub
002c:fixme:imm:ImeSetActiveContext (003357A0, 1): stub
002c:fixme:imm:ImmReleaseContext (0001004E, 003357A0): stub
0068:err:module:import_dll Library hal.dll (which is needed by L"C:\\windows\\system32\\ntoskrnl.exe") not found
0068:err:module:import_dll Library ntoskrnl.exe (which is needed by L"C:\\windows\\system32\\winedevice.exe") not found
0068:err:module:LdrInitializeThunk Importing dlls for L"C:\\windows\\system32\\winedevice.exe" failed, status c0000135
005c:err:service:process_send_command service protocol error - failed to write pipe!
0070:fixme:shell:create_link failed to connect to mount manager
0070:fixme:shell:create_link failed to connect to mount manager
0070:fixme:shell:create_link failed to connect to mount manager
0070:fixme:shell:create_link failed to connect to mount manager
0070:fixme:shell:create_link failed to connect to mount manager
0070:fixme:shell:create_link failed to connect to mount manager
0070:fixme:shell:create_link failed to connect to mount manager
0070:fixme:file:NtLockFile I/O completion on lock not implemented yet
0070:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0070:err:mscoree:LoadLibraryShim error reading registry key for installroot
0070:err:mscoree:LoadLibraryShim error reading registry key for installroot
0070:err:mscoree:LoadLibraryShim error reading registry key for installroot
0070:err:mscoree:LoadLibraryShim error reading registry key for installroot
0070:err:mscoree:LoadLibraryShim error reading registry key for installroot
0070:err:mscoree:LoadLibraryShim error reading registry key for installroot
0070:err:mscoree:LoadLibraryShim error reading registry key for installroot
0070:err:mscoree:LoadLibraryShim error reading registry key for installroot
0070:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0070:fixme:msi:internal_ui_handler internal UI not implemented for message 0x0b000000 (UI level = 1)
0080:fixme:imm:ImeSetActiveContext (003377F8, 1): stub
0080:fixme:imm:ImmReleaseContext (00020074, 003377F8): stub
00c4:err:module:import_dll Library hal.dll (which is needed by L"C:\\windows\\system32\\ntoskrnl.exe") not found
00c4:err:module:import_dll Library ntoskrnl.exe (which is needed by L"C:\\windows\\system32\\winedevice.exe") not found
00c4:err:module:LdrInitializeThunk Importing dlls for L"C:\\windows\\system32\\winedevice.exe" failed, status c0000135
005c:err:service:process_send_command service protocol error - failed to write pipe!
00cc:err:module:import_dll Library hal.dll (which is needed by L"C:\\windows\\system32\\ntoskrnl.exe") not found
00cc:err:module:import_dll Library ntoskrnl.exe (which is needed by L"C:\\windows\\system32\\winedevice.exe") not found
00cc:err:module:LdrInitializeThunk Importing dlls for L"C:\\windows\\system32\\winedevice.exe" failed, status c0000135
005c:err:service:process_send_command service protocol error - failed to write pipe!
00dc:err:module:import_dll Library hal.dll (which is needed by L"C:\\windows\\system32\\ntoskrnl.exe") not found
00dc:err:module:import_dll Library ntoskrnl.exe (which is needed by L"C:\\windows\\system32\\winedevice.exe") not found
00dc:err:module:LdrInitializeThunk Importing dlls for L"C:\\windows\\system32\\winedevice.exe" failed, status c0000135
005c:err:service:process_send_command service protocol error - failed to write pipe!
002c:err:setupapi:SetupDiInstallDevice Failed to start service L"winebus" for device L"ROOT\\WINE\\WINEBUS", error 1053.
002c:err:setupapi:SetupDiInstallDevice Failed to control service L"winebus" for device L"ROOT\\WINE\\WINEBUS", error 1062.
00ec:err:module:import_dll Library hal.dll (which is needed by L"C:\\windows\\system32\\ntoskrnl.exe") not found
00ec:err:module:import_dll Library ntoskrnl.exe (which is needed by L"C:\\windows\\system32\\winedevice.exe") not found
00ec:err:module:LdrInitializeThunk Importing dlls for L"C:\\windows\\system32\\winedevice.exe" failed, status c0000135
009c:err:service:process_send_command service protocol error - failed to write pipe!
002c:err:setupapi:SetupDiInstallDevice Failed to start service L"wineusb" for device L"ROOT\\WINE\\WINEUSB", error 1053.
002c:err:setupapi:SetupDiInstallDevice Failed to control service L"wineusb" for device L"ROOT\\WINE\\WINEUSB", error 1062.
wine: configuration in L"/tmp/wine-test" has been updated.
00fc:fixme:msg:pack_message msg 14 (WM_ERASEBKGND) not supported yet
00fc:fixme:imm:ImeSetActiveContext (00348660, 1): stub
00fc:fixme:imm:ImmReleaseContext (00020054, 00348660): stub
00fc:err:winecfg:open_mountmgr failed to open mount manager err 2

I assume that not finding hal.dll and ntoskrnl.exe is the root cause of it. However, when searching manually for these files, I can find them inside the wine prefix.

The issue doesn't happen with a 64 bit prefix. Wine also doesn't complain about the missing files anymore in a 64 bit prefix.
Additionally, I built wine with the source code directly downloaded from upstream (built just with ./configure ; make). With this upstream wine, everything works as expected.

Does anyone know what the reason for this behavior could be?
Comment 1 Nick Sarnie gentoo-dev 2022-05-13 19:54:12 UTC
Do you mind reporting it upstream and posting the link to the bug report here? I don't expect this is a packaging issue.

Thanks,
Sarnex
Comment 2 rachus 2022-05-14 05:59:12 UTC
That was my first plan. But I could not reproduce the issue with a manual build from wine upstream as it is required by their bug reporting policies. Is there a way I can find out differences between my gentoo wine installation and the manually built one?
Comment 3 Nick Sarnie gentoo-dev 2022-05-14 13:35:05 UTC
Oh sorry, actually I think I see the problem and it does look like a packaging issue.

Can you take your wine build, change the line

--disable-hal

to

--enable-hal

and then try emerging that ebuild?

That fixed it for me.

If that works for you too I'll make this change.

Thanks,
Sarnex
Comment 4 rachus 2022-05-14 15:03:30 UTC
Yes, you are right. The errors about not finding ntoskrnl.exe and hal.dll disappeared and the mount manager seems to be working fine again with your change.

Thank you for fixing this.
Comment 5 Larry the Git Cow gentoo-dev 2022-05-14 15:06:48 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/proj/wine.git/commit/?id=20aae5e8172dd93351e46c635dcc549e9a8a8952

commit 20aae5e8172dd93351e46c635dcc549e9a8a8952
Author:     Nick Sarnie <sarnex@gentoo.org>
AuthorDate: 2022-05-14 15:05:06 +0000
Commit:     Nick Sarnie <sarnex@gentoo.org>
CommitDate: 2022-05-14 15:06:23 +0000

    app-emulation/wine-vanilla: Build hal
    
    Closes: https://bugs.gentoo.org/844043
    Package-Manager: Portage-3.0.30, Repoman-3.0.3
    Signed-off-by: Nick Sarnie <sarnex@gentoo.org>

 app-emulation/wine-vanilla/wine-vanilla-7.8.ebuild  | 2 +-
 app-emulation/wine-vanilla/wine-vanilla-9999.ebuild | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Additionally, it has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/proj/wine.git/commit/?id=2f820d2d2ff42a505bd3bb368dd1a2b04e5d4982

commit 2f820d2d2ff42a505bd3bb368dd1a2b04e5d4982
Author:     Nick Sarnie <sarnex@gentoo.org>
AuthorDate: 2022-05-14 15:05:56 +0000
Commit:     Nick Sarnie <sarnex@gentoo.org>
CommitDate: 2022-05-14 15:06:26 +0000

    app-emulation/wine-staging: Build hal
    
    Bug: https://bugs.gentoo.org/844043
    Package-Manager: Portage-3.0.30, Repoman-3.0.3
    Signed-off-by: Nick Sarnie <sarnex@gentoo.org>

 app-emulation/wine-staging/wine-staging-7.8.ebuild  | 2 +-
 app-emulation/wine-staging/wine-staging-9999.ebuild | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)