-
Notifications
You must be signed in to change notification settings - Fork 176
DDC generation fails for 4.27.0 on Windows due to opencv_world311.dll missing dependencies #196
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
Comments
Repeated and replicated. Attaching full pipe out buid.log |
Apparently this is "module not found", and a poke at The DLL shouldn't have changed between 4.26 and 4.27, but Actually, the relevant change (fabe0dbb438b80de06385ebf36b529bbf36e55f2 in Unreal Engine on GitHub, CL 16620921) did update the |
Offtop: @CanisHelix even if this gets fixed you will want to run ue4-docker with |
@slonopotamus As you can see I used that already, no choice with windows anyway in the original post.
But, just an update running with |
Oh, sorry, I've inverted Yeah, |
Internets say we might also need:
We're missing |
Those are core Windows files, so I can't see how any other variations (Visual Studio, Windows SDK) would have changed their presence. Another reference concurs that these files are not normally in the Server Core container image (although that's ltsc2016 era). |
I'm looking into |
Hmm. Before #187 we weren't copying any of the V4W (or Media Foundation) DLLs explicitly from the host. So either we never had them, or they were coming from somewhere else implicitly and we were picking up more from that mechanism than the explicit list we have now. Either way, seems like an easy fix to just add those DLLs to the copy list. They're core components shipped with Windows, so they shouldn't be missing from the host. |
Here's what was copied before #187 from host: https://github.com/adamrehn/ue4-docker/pull/187/files#diff-d82b5260e32a8382b1f0fa3045572374766e152bb6063bf6ef9e31bbbeb5baebL35-L44
|
That's my point. |
I'm currently downloading and older UPD: they weren't. |
It might end in something like "that OpenCVLensDistortion plugin always broken in ue4-docker and we only noticed that now because 4.27 added TP_InCamVFXBP template project that tries to load OpenCVLensDistortion". |
The other possibility is that these files have always been missing, but 4.27.0 changed behaviour and crashes when the OpenCV runtime fails to load, where previously, it would error and continue on. That's probably what happened, looking at a44e2327dcee0645765267963fdd526fcd1bba36 (CL 16620946) in 4.27. The new call to
So I think this is a bug in that new UE4 code in |
opencv_world331.dll depends on avifil32.dll/msacm32.dll that are missing in ue4-docker images. This causes OpenCVLensDistortion fail to load and crash, leading to DDC build failure on UE-4.27 unless ue4-docker build is invoked with ``--exclude ddc`. resolves adamrehn#196
opencv_world331.dll depends on avifil32.dll/msacm32.dll that are missing in ue4-docker images. This causes OpenCVLensDistortion fail to load and crash, leading to DDC build failure on UE-4.27 unless ue4-docker build is invoked with ``--exclude ddc`. resolves adamrehn#196
`opencv_world331.dll` depends on `avifil32.dll`/`msacm32.dll` that are missing in ue4-docker images. This causes OpenCVLensDistortion fail to load and crash, leading to DDC build failure on UE-4.27 unless ue4-docker build is invoked with `--exclude ddc`. resolves adamrehn#196
Blind fix: #198. My Windows build machines are a bit occupied currently, so it will take several days before I can test that it actually fixes the problem. |
Thinking about this, the core issue is that the Epic code here is mixing two different styles of DLL usage: They're explicitly loading the DLL and getting the handle pointer, but all their actual OpenCV API access (including the custom It would be less bug-prone if they picked one or the other, either explicitly loading the DLL and using |
`opencv_world331.dll` depends on `avifil32.dll`/`msacm32.dll` that are missing in ue4-docker images. This causes OpenCVLensDistortion fail to load and crash, leading to DDC build failure on UE-4.27 unless ue4-docker build is invoked with `--exclude ddc`. resolves #196
I've just run into this while building 5.0.0-release (right at the end of a 16+ hour build). I'd really like to get a build with DDC, is there any way I can disable either the OpenCV plugin or the sample code that uses it, without having to use |
Ah, I missed that commit, thanks for the heads up @slonopotamus! I was using v0.0.96, I'll try with 0.0.97 🤞 |
Can confirm, |
Additional details:
Command Used:
ue4-docker build 4.27.0 --visual-studio=2019 --no-engine --exclude debug --exclude templates --monitor
Initial Build Log:
It fails after an overnight build with the final log of
I am re-building now after cleaning all images again with a pipe to build.log so that I can capture a full error log with the verbose option.
I have manually implemented #195 in order to progress this far due previous failure, all images were cleaned after implementing the PR to ensure clean images.
The text was updated successfully, but these errors were encountered: