Closed Bug 1546491 Opened 1 year ago Closed 1 year ago

Configure does not show error for old Windows SDKs ('dispatcherqueue.h' file not found)

Categories

(Firefox Build System :: General, defect)

defect
Not set
normal

Tracking

(firefox68 fixed)

RESOLVED FIXED
mozilla68
Tracking Status
firefox68 --- fixed

People

(Reporter: bytesized, Assigned: froydnj)

References

(Blocks 1 open bug, Regression)

Details

Attachments

(1 file)

My builds are failing with this error:

73:40.42 In file included from c:/mozilla-central/gfx/angle/checkout/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp:67:
73:40.42 c:/mozilla-central/gfx/angle/checkout/src\libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h(15,10): fatal error: 'dispatcherqueue.h' file not found
73:40.42 #include <dispatcherqueue.h>
73:40.42 ^~~~~~~~~~~~~~~~~~~
73:52.24 1 error generated.

It does indeed appear that the specified header does not exist in my Windows SDK (version 10.0.15063.0).

My coworker has a newer version of the SDK installed and seems to have the header.

If the Windows SDK 10.0.15063.0 is too old to build Firefox now, our configure script should say that.

I am going to update my Windows SDK and make sure that it fixes my build problems. I'll post the result here.

Blocks: mach-busted

Tried to update my Windows SDK. Updated it to 10.0.16299.0. Now I am getting an error. Which seems... odd.

0:26.53 ERROR: Found SDK version 10.0.16299.0 but clang-cl builds currently don't work with the SDK version. You should use a different version, either by uninstalling version 10.0.16299.0 or setting a custom WINDOWSSDKDIR.

(In reply to Kirk Steuber (he/him) [:bytesized] from comment #1)

Tried to update my Windows SDK. Updated it to 10.0.16299.0. Now I am getting an error. Which seems... odd.

0:26.53 ERROR: Found SDK version 10.0.16299.0 but clang-cl builds currently don't work with the SDK version. You should use a different version, either by uninstalling version 10.0.16299.0 or setting a custom WINDOWSSDKDIR.

This is expected, for the reason stated in the message. You'd have to use something >= 10.0.17134.0.

Right. My point is that I got that error message for 10.0.16299.0 but not for 10.0.15063.0

(In reply to Kirk Steuber (he/him) [:bytesized] from comment #3)

Right. My point is that I got that error message for 10.0.16299.0 but not for 10.0.15063.0

Sure. And that's because 10.0.15063.0 was known to not be broken (at least before whatever ANGLE change added dispatcherqueue.h), whereas 10.0.16299.0 was:

https://searchfox.org/mozilla-central/source/build/moz.configure/windows.configure#222-241

jgilbert, do you know what the minimum SDK version for dispatcherqueue.h is?

Flags: needinfo?(jgilbert)
Duplicate of this bug: 1546504

The versions aren't really monotonic version numbers, so there's not a clear "minimum SDK version", from what I can tell.

Flags: needinfo?(jgilbert)

(In reply to Jeff Gilbert [:jgilbert] from comment #6)

The versions aren't really monotonic version numbers, so there's not a clear "minimum SDK version", from what I can tell.

Perhaps the version of the first SDK that dispatcherqueue.h appeared in would be sufficient?

Flags: needinfo?(jgilbert)

Or at least they haven't seemed monotonic/supersets to me.

The file is located in "Windows Kits/10/Include/<version>/um/DispatcherQueue.h".

Versions with DispatcherQueue.h on my system are 10.0.17134.0 and 10.0.17763.0.

I believe you only need 10.0.17763.0.

Flags: needinfo?(jgilbert)

Using 10.0.17763.0 works for me.

Regressed by: angle-68

We've landed some recent changes that implicitly require SDK
10.0.17134.0. Since we've been building with that version for some time
in automation, let's go ahead and raise the minimum version accordingly.

Pushed by nfroyd@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/445a4ea25bb1
raise minimum windows SDK version; r=RyanVM
Flags: needinfo?(nfroyd)
Pushed by nfroyd@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/b4763accfb72
raise minimum windows SDK version; r=RyanVM
Duplicate of this bug: 1546793
Summary: Configure does not show error for old Windows SDKs → Configure does not show error for old Windows SDKs ('dispatcherqueue.h' file not found)
Status: NEW → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
You need to log in before you can comment on or make changes to this bug.