Closed Bug 1536308 Opened 5 years ago Closed 5 years ago

MinGW can't find #include <DispatcherQueue.h>

Categories

(Firefox Build System :: Toolchains, defect, P1)

defect

Tracking

(firefox68 fixed)

RESOLVED FIXED
mozilla68
Tracking Status
firefox68 --- fixed

People

(Reporter: jgilbert, Assigned: tjr)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Try run:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=758b5c1d9a97e18abea72dede5be8b30730b004b

/builds/worker/workspace/build/src/gfx/angle/checkout/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h:15:10: fatal error: 'DispatcherQueue.h' file not found

We're likely just missing a Win10 SDK.

Flags: needinfo?(jacek)

We need this fixed sooner rather than later, because it blocks our ANGLE update.

Priority: -- → P1

mingw-w64 is indeed missing dispatcherqueue.h. I sent a patch to upstream. I didn't try it with ANGLE yet, but it's likely that it won't be enough. Most of its dependent windows.system.idl is missing and those areas are tricky because widl support for winrt-like is limited.

Also, since mingw builds are done on case sensitive OS, ANGLE will need to use lower case dispatcherqueue.h instead. If there are more problems, I can't promise a quick fix, so temporarily disabling mingw builds might be the option.

Flags: needinfo?(jacek)

I can get any case-sensitivity issues fixed.

I managed to get it building:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=f10fe1f4675259cfb2efd03c405f0447726443cb

Required ANGLE changes are not too bad, just case sensitivity fixes. It should probably just go to upstream ANGLE:
https://hg.mozilla.org/try/rev/2fdda9b10532f6def929e9b467e52963c39d7857

On top of recent mingw-w64:
https://hg.mozilla.org/try/rev/348ac20c4d9d
it required quite a few hacks to widl to be able to generate new headers. Here is a patch that just adds those generated headers to mingw-w64 checkout:
https://hg.mozilla.org/try/rev/f8947128b170ec09eecf0bb98d51d4f280adac55
I will look at getting widl and new headers upstreamed, but it will take a while. We may need to use the hack for the time being.

(In reply to Jacek Caban from comment #4)

On top of recent mingw-w64:
https://hg.mozilla.org/try/rev/348ac20c4d9d
it required quite a few hacks to widl to be able to generate new headers. Here is a patch that just adds those generated headers to mingw-w64 checkout:
https://hg.mozilla.org/try/rev/f8947128b170ec09eecf0bb98d51d4f280adac55
I will look at getting widl and new headers upstreamed, but it will take a while. We may need to use the hack for the time being.

Can we land this for the time being in Firefox, and file a follow-up bug to remove the hack when we can?

Assignee: nobody → jacek

Yes, I will do so. (Just have to get Phab set up.)

Assignee: jacek → tom

We apply a local patch while we wait for upstream wine and mingw to review
the changes to widlt hat are necessary to generate the correct headers. Here we
just grab the generated headers and patch them into MinGW

We can revert this when MinGW updates, but for now we would like to unblock
the ANGLE update

Depends on D25294

Pushed by csabou@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/08a3525d99d2
Apply a local patch to MinGW to get the needed winrt stuff for ANGLE r=froydnj

Keywords: checkin-needed
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68

FYI the DispatcherQueue.h and VersionHelpers.h were already the correct case, so I've reverted that part of the ANGLE patch.

It was intentional, that's what all mingw headers use. On Windows SDK it doesn't really matter. I commented in ANGLE review.

Flags: needinfo?(tom)
Flags: needinfo?(jacek)
Flags: needinfo?(jacek)
Flags: needinfo?(tom)

(In reply to Tom Ritter [:tjr] (ni for response to sec-[approval|rating|advisories|cve]) from comment #7)

Yes, I will do so. (Just have to get Phab set up.)

Do you actually file the follow-up somewhere, too? While it seems Jacek changes have not landed yet, we probably should make sure the patch removal is not falling through the cracks.

Flags: needinfo?(tom)

I just filed Bug 1649484. We've accumulated a few mingw-fixes-needed bugs under mingw-clang lately, and it's possible a few more have slipped through the cracks...

Flags: needinfo?(tom)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: