-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIN API LoadLibraryA is failling when loading a DLL created by Intel Fortran compiler in Windows Nanoserver container #448
Comments
Try running the process under WinDbg after enabling loader snaps. |
I have successfully run in the container (but I had to run my container with an option " --user ContainerAdministrator " ) docker run -i -t --isolation=process --user ContainerAdministrator --volume c:\git\HiltiProfis\container-shared:c:\local k2femmkl-nanoserver otherwise the value is not set now I am getting a better log (see the problem is a missing function GetDllDirectoryA ` The specified procedure could not be found. Failed to load DLL: 127 I wonder why this function is not found in case on Windows Nano Server container but Windows Core works fine |
Sounds like you should modify the DLL to use It's not very well (or at all) documented, but Nano Server is very different from "regular" Windows and you can't assume that anything works there. This time it's just an ANSI variant of a function that is missing. If that change solves your issue, consider yourself lucky. There are much bigger differences. Just try running any of the 32-bit WinDbg EXEs... |
Thank you for your help |
we can not modify the DLL (it is Intel dll) but I make it running by copying kernel32.dll to c:\windows\system32 in my nanoserver image It seems it overrides original 'C:\Windows\System32\forwarders\kernel32.dll from Nanoserver. It has fixed our problem |
Hey @mpospisil, we're looking into why this is the case with Nanoserver, however we don't recommend copying DLLs between images as this may violate windows server licensing. |
This issue has been open for 30 days with no updates. |
I agree with you - it is not a nice solution. I don't like copying kernel too but it was only way how to make it working. I am not able to modify native dlls. These are Intels dlls. |
We have a dll 'k2femmkl64.dll' which was generated by Intel Fortran compiler. It depends on Intel's libiomp5md.dll
If we call HMODULE dllHandle = LoadLibraryA("k2femmkl64.dll");
it fails in Windows Nano Server container but it works in Windows Core container.
the error message is
Failed to load DLL: 127
CDB says “Specified procedure could not be found”
the problem can be reproduced by checking out the repository
https://github.com/mpospisil/intel_mkl_test
and running the application in a container see https://github.com/mpospisil/intel_mkl_test
If I use Windows Core container as my base image - it works
How can I find why Nano Server gives me the error 127 ?
The text was updated successfully, but these errors were encountered: