Help Needed: Error c000007b with MPI DLLs on 32-bit Application

Questions about Wine on Linux
Post Reply
upsetelk
Newbie
Newbie
Posts: 1
Joined: Sat Feb 17, 2024 9:59 am

Help Needed: Error c000007b with MPI DLLs on 32-bit Application

Post by upsetelk »

Greetings Wine Community,

I'm encountering a challenging situation while attempting to run a Windows MPI-based application (Test.exe) under Wine. This application depends on a couple of DLLs, fmpich2g.dll and mpich2mpi.dll, with a specific issue arising around their architecture and loading.

Here's a brief overview of the executable and DLLs as identified by the file command:

Test.exe: PE32 executable (console) Intel 80386, for MS Windows (32-bit)
fmpich2g.dll: PE32 executable (DLL) (GUI) Intel 80386, for MS Windows (32-bit)
mpich2mpi.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows (64-bit)
Attempting to run Test.exe yields the following errors, suggesting issues with DLL loading:

Code: Select all

0024:err:module:import_dll Loading library mpich2mpi.dll (which is needed by L"Z:\\[Path]\\Test\\fmpich2g.dll") failed (error c000007b).
0024:err:module:import_dll Library fmpich2g.dll (which is needed by L"Z:\\[Path]\\Test\\Test.exe") not found
0024:err:module:LdrInitializeThunk Importing dlls for L"Z:\\[Path]\\Test\\Test.exe" failed, status c0000135
Observations:
The primary executable and one of the DLLs (fmpich2g.dll) are 32-bit, while mpich2mpi.dll is a 64-bit DLL.
The error c000007b typically indicates an architecture mismatch, which seems to be between fmpich2g.dll (requiring mpich2mpi.dll) and the 64-bit mpich2mpi.dll.

Questions and Assistance Sought:
Architecture Mismatch: How does one resolve the architecture mismatch error (c000007b) given that Test.exe and fmpich2g.dll are 32-bit, but they depend on a 64-bit DLL (mpich2mpi.dll)?
DLL Visibility and Loading: Is there a specific configuration or workaround within Wine to facilitate the correct loading of mixed-architecture DLL dependencies?
Best Practices: Are there recommended practices for handling such mixed-architecture dependencies in Wine, particularly for applications that require both 32-bit and 64-bit DLLs?
I have tried ensuring all files are in the same directory and have experimented with setting different Wine configurations to no avail. Any insights, advice, or guidance on how to address these DLL import errors and get Test.exe running would be immensely appreciated.

Thank you for your time and expertise.
Post Reply