Closed Bug 1533388 Opened 5 years ago Closed 5 years ago

Firefox 66 fails to build with cbindgen >= 0.8.2

Categories

(Core :: General, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
Tracking Status
firefox-esr60 --- unaffected
firefox65 --- unaffected
firefox66 --- fixed
firefox67 --- unaffected

People

(Reporter: jbeich, Assigned: emilio)

References

Details

Attachments

(1 file)

cbindgen 0.8.1 works but 0.8.2 doesn't.

$ ./mach build
[...]
In file included from objdir/xpcom/base/Unified_cpp_xpcom_base0.cpp:20:
In file included from xpcom/base/CycleCollectedJSContext.cpp:12:
In file included from objdir/dist/include/mozilla/EventStateManager.h:19:
In file included from objdir/dist/include/nsIFrame.h:64:
In file included from objdir/dist/include/nsLayoutUtils.h:35:
In file included from objdir/dist/include/SVGImageContext.h:11:
In file included from objdir/dist/include/mozilla/SVGContextPaint.h:14:
In file included from objdir/dist/include/gfxUtils.h:20:
In file included from objdir/dist/include/mozilla/webrender/WebRenderTypes.h:11:
In file included from objdir/dist/include/mozilla/webrender/webrender_ffi.h:160:
objdir/dist/include/mozilla/webrender/webrender_ffi_generated.h:797:14: error: unknown type name 'Self'
static const Self ColorF_BLACK = (ColorF){ .r = 0, .g = 0, .b = 0, .a = 1 };
^
objdir/dist/include/mozilla/webrender/webrender_ffi_generated.h:798:14: error: unknown type name 'Self'
static const Self ColorF_TRANSPARENT = (ColorF){ .r = 0, .g = 0, .b = 0, .a = 0 };
^
objdir/dist/include/mozilla/webrender/webrender_ffi_generated.h:799:14: error: unknown type name 'Self'
static const Self ColorF_WHITE = (ColorF){ .r = 1, .g = 1, .b = 1, .a = 1 };
^

build log: https://ptpb.pw/RYw4 (Base64, XZ-compressed)

I can reproduce on Firefox 67 one commit before bug 1533142 landed.

Depends on: 1533142

Yeah, should be trivial to fix, let me do that. Guess I should've put:

https://github.com/eqrion/cbindgen/commit/33a0c8b6c02cfa35b20b1ab16028e48215857670

Under its own config switch. Sorry about that.

Flags: needinfo?(emilio)

https://github.com/eqrion/cbindgen/pull/298 handles this in cbindgen. Will attach a patch to keep beta building with newer cbindgen versions even without that though.

Flags: needinfo?(emilio)

Beta/Release Uplift Approval Request

  • Feature/Bug causing the regression: Bug 1533142
  • User impact if declined: Won't build with newer cbindgen versions.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: No
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: None
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): Trivial patch just replacing Self (rust syntactic sugar) for something cbindgen understands.
  • String changes made/needed: none
Assignee: nobody → emilio
Attachment #9049219 - Flags: approval-mozilla-beta?
Comment on attachment 9049219 [details] [diff] [review]
Keep mozilla-beta building with newer cbindgen versions.

Fix for a build issue, let's uplift.
Attachment #9049219 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Calling it fixed since this was beta-only. Whenever that cbindgen PR is reviewed and a release is done then you can also build older revisions of 66 like that.

Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: