| Summary: | [WinCairo] Can't load xml2.dll and xslt.dll in v2020.08.20 of WebKitRequirementsWin64.zip | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Kagami Sascha Rosylight <saschanaz> | ||||||
| Component: | WebKit Misc. | Assignee: | Nobody <webkit-unassigned> | ||||||
| Status: | RESOLVED FIXED | ||||||||
| Severity: | Normal | CC: | don.olmstead, Hironori.Fujii, stephan.szabo, webkit-bug-importer | ||||||
| Priority: | P2 | Keywords: | InRadar | ||||||
| Version: | WebKit Nightly Build | ||||||||
| Hardware: | Unspecified | ||||||||
| OS: | Unspecified | ||||||||
| Attachments: |
|
||||||||
|
Description
Kagami Sascha Rosylight
2020-08-28 20:34:55 PDT
Could you check what is the missing DLL by using Dependencies? https://github.com/lucasg/Dependencies Dependencies does not support LoadLibrary:
> Dynamic loading via LoadLibrary are not supported (and probably won't ever be).
... and thus I could not find any problem with Dependencies. It only shows five system DLLs (SHLWAPI.dll, user32.dll, kernel32.dll, MSVC140.dll, VCRUNTIME140.dll) and five api-ms-win-crt ones.
Oh, right. those exe files are using LoadLibrary. Open TestWebKitLib.dll and MiniBrowserLib.dll instead of exe files. Oops, did it and found these four DLLs are missing: ext-ms-win-core-winrt-remote-l1-1-0.dll ext-ms-win-com-apartmentrestriction-l1-1-0.dll ext-ms-win-com-suspendresiliency-l1-1-0.dll ext-ms-win-ro-typeresolution-l1-1-0.dll Created attachment 407546 [details]
output of dependencies.exe -chain
This is my result. I think NOT_FOUND of ext-* is not problem.
However, the difference is ext-ms-win-com-apartmentrestriction-l1-1-0.dll is not in my list.
Created attachment 407547 [details]
./Dependencies.exe -chain
Attaching mine. Huge and hard to diff, hmm.
BTW, TestWebKitLib.dll is clean and my attached result is from MiniBrowserLib.dll. Not sure why it still fails to load TestWebKitLib.dll. I'm sorry. I was checking old revision. I tried the same revision and fails to load MiniBrowser. https://s3-us-west-2.amazonaws.com/archives.webkit.org/wincairo-x86_64-release/266319.zip https://github.com/WebKitForWindows/WebKitRequirements/releases/tag/v2020.08.20 dependencies.exe correctly points out what are the missing DLL. xml2.dll (NOT_FOUND) xslt.dll (NOT_FOUND) Those dll files are missing in v2020.08.20 of WebKitRequirementsWin64.zip. Use CMake files from upstream libxml2 repo (#36) · WebKitForWindows/WebKitRequirements@5429437 https://github.com/WebKitForWindows/WebKitRequirements/commit/5429437e8c3e59cf1c6cdbda313acfd70237bf08 Use CMake files from upstream libxslt repo (#37) · WebKitForWindows/WebKitRequirements@15c71c4 https://github.com/WebKitForWindows/WebKitRequirements/commit/15c71c4cb8b48d601a2016ab816ce31298d6e3d1 These changes seem the culprit. The name of the dlls changed from xml2.dll to libxml2.dll. Those files are from the upstream repositories so they should probably be fixed so the prefix isn't there on windows. WinCairo bot still has stale import libs for xml2 and xslt. I confirmed copying xml2.dll and xslt.dll from the previous WebKitRequirements can work around the loading issue. https://github.com/WebKitForWindows/WebKitRequirements/releases/tag/v2020.07.01 The old versions should now be gone on the builders, so builds starting with 266357 appear from dependencies -chain to be referring to libxml2 and libxslt. We still need to make dealing with dependency removal/rename more automatic than needing to clear out the dependencies directory manually. Yeah, it works. Thank you, Steph. Closed this bug. |