Build --with-system-libevent fails with libevent 2.1

RESOLVED FIXED in Firefox -esr45

Status

()

Core
IPC
RESOLVED FIXED
2 years ago
a year ago

People

(Reporter: glandium, Assigned: glandium)

Tracking

unspecified
mozilla53
Points:
---
Bug Flags:
qe-verify -

Firefox Tracking Flags

(firefox-esr45 fixed, firefox52 fixed, firefox-esr52 fixed, firefox53 fixed)

Details

MozReview Requests

()

Submitter Diff Changes Open Issues Last Updated
Loading...
Error loading review requests:

Attachments

(1 attachment)

(Assignee)

Description

2 years ago
/tmp/buildd/firefox-51.0~b1/ipc/chromium/src/base/message_pump_libevent.cc:26:19: error: '_EVENT_SIZEOF_LONG' was not declared in this scope
     static_assert(_EVENT_SIZEOF_##TYPE == sizeof(type), \
                   ^
/tmp/buildd/firefox-51.0~b1/ipc/chromium/src/base/message_pump_libevent.cc:29:1: note: in expansion of macro 'CHECK_EVENT_SIZEOF'
 CHECK_EVENT_SIZEOF(LONG,      long);
 ^~~~~~~~~~~~~~~~~~
/tmp/buildd/firefox-51.0~b1/ipc/chromium/src/base/message_pump_libevent.cc:26:19: error: '_EVENT_SIZEOF_LONG_LONG' was not declared in this scope
     static_assert(_EVENT_SIZEOF_##TYPE == sizeof(type), \
                   ^
/tmp/buildd/firefox-51.0~b1/ipc/chromium/src/base/message_pump_libevent.cc:30:1: note: in expansion of macro 'CHECK_EVENT_SIZEOF'
 CHECK_EVENT_SIZEOF(LONG_LONG, long long);
 ^~~~~~~~~~~~~~~~~~
/tmp/buildd/firefox-51.0~b1/ipc/chromium/src/base/message_pump_libevent.cc:26:19: error: '_EVENT_SIZEOF_PTHREAD_T' was not declared in this scope
     static_assert(_EVENT_SIZEOF_##TYPE == sizeof(type), \
                   ^
/tmp/buildd/firefox-51.0~b1/ipc/chromium/src/base/message_pump_libevent.cc:31:1: note: in expansion of macro 'CHECK_EVENT_SIZEOF'
 CHECK_EVENT_SIZEOF(PTHREAD_T, pthread_t);
 ^~~~~~~~~~~~~~~~~~
/tmp/buildd/firefox-51.0~b1/ipc/chromium/src/base/message_pump_libevent.cc:26:19: error: '_EVENT_SIZEOF_SHORT' was not declared in this scope
     static_assert(_EVENT_SIZEOF_##TYPE == sizeof(type), \
                   ^
/tmp/buildd/firefox-51.0~b1/ipc/chromium/src/base/message_pump_libevent.cc:32:1: note: in expansion of macro 'CHECK_EVENT_SIZEOF'
 CHECK_EVENT_SIZEOF(SHORT,     short);
 ^~~~~~~~~~~~~~~~~~
/tmp/buildd/firefox-51.0~b1/ipc/chromium/src/base/message_pump_libevent.cc:26:19: error: '_EVENT_SIZEOF_SIZE_T' was not declared in this scope
     static_assert(_EVENT_SIZEOF_##TYPE == sizeof(type), \
                   ^
/tmp/buildd/firefox-51.0~b1/ipc/chromium/src/base/message_pump_libevent.cc:33:1: note: in expansion of macro 'CHECK_EVENT_SIZEOF'
 CHECK_EVENT_SIZEOF(SIZE_T,    size_t);
 ^~~~~~~~~~~~~~~~~~
/tmp/buildd/firefox-51.0~b1/ipc/chromium/src/base/message_pump_libevent.cc:26:19: error: '_EVENT_SIZEOF_VOID_P' was not declared in this scope
     static_assert(_EVENT_SIZEOF_##TYPE == sizeof(type), \
                   ^
/tmp/buildd/firefox-51.0~b1/ipc/chromium/src/base/message_pump_libevent.cc:34:1: note: in expansion of macro 'CHECK_EVENT_SIZEOF'
 CHECK_EVENT_SIZEOF(VOID_P,    void*);
 ^~~~~~~~~~~~~~~~~~

The reason is that version 2.1 now defines EVENT__SIZEOF_* instead of _EVENT_SIZEOF_*.
Comment hidden (mozreview-request)
Comment on attachment 8812539 [details]
Bug 1318914 - Fix --with-system-libevent build against libevent 2.1.

https://reviewboard.mozilla.org/r/94246/#review94692
Attachment #8812539 - Flags: review?(wmccloskey) → review+

Comment 3

2 years ago
Pushed by mh@glandium.org:
https://hg.mozilla.org/integration/autoland/rev/9e4d3eb55534
Fix --with-system-libevent build against libevent 2.1. r=billm

Comment 4

2 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/9e4d3eb55534
Status: NEW → RESOLVED
Last Resolved: 2 years ago
status-firefox53: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla53

Comment 5

2 years ago
[Tracking Requested - why for this release]:

Comment 6

a year ago
Comment on attachment 8812539 [details]
Bug 1318914 - Fix --with-system-libevent build against libevent 2.1.

Let's get this on ESR train(s). Downstream prefers system libraries and is slowly migrating to libevent-2.1.x

http://repology.org/metapackage/libevent/versions
http://repology.org/metapackage/libevent2/versions

Approval Request Comment
[ESR consideration]: Bundled libevent on ESR45 lacks https://github.com/libevent/libevent/commit/20d6d4458bee , so downstream is encouraged to pass --with-system-libevent. However, if system libevent is too new we get the build error.
[Feature/Bug causing the regression]: Upstream libevent renamed internal macros
[User impact if declined]: Broken build --with-system-libevent in .mozconfig
[Is this code covered by automated tests?]: Not yet until bundled copy is updated to 2.1.x.
[Has the fix been verified in Nightly?]: Yes. Also downstream in FreeBSD before *and* after libevent-2.1.8 update.
[Needs manual test from QE? If yes, steps to reproduce]: No
[List of other uplifts needed for the feature/fix]: None
[Is the change risky?]: No
[Why is the change risky/not risky?]: Can only break build.
[String changes made/needed]: None
Attachment #8812539 - Flags: approval-mozilla-esr45?
Attachment #8812539 - Flags: approval-mozilla-beta?
Comment on attachment 8812539 [details]
Bug 1318914 - Fix --with-system-libevent build against libevent 2.1.

handle API change in libevent 2.1, beta52+
Attachment #8812539 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Comment 8

a year ago
bugherderuplift
https://hg.mozilla.org/releases/mozilla-beta/rev/07fc9bc143f7
status-firefox52: --- → fixed
Setting qe-verify- per comment 6.
Flags: qe-verify-

Comment 10

a year ago
bugherderuplift
https://hg.mozilla.org/releases/mozilla-esr52/rev/07fc9bc143f7
status-firefox-esr52: --- → fixed
Comment on attachment 8812539 [details]
Bug 1318914 - Fix --with-system-libevent build against libevent 2.1.

Let's take this in ESR45 for build issue with libevent. ESR45+.
Attachment #8812539 - Flags: approval-mozilla-esr45? → approval-mozilla-esr45+
status-firefox-esr45: --- → affected

Comment 12

a year ago
bugherderuplift
https://hg.mozilla.org/releases/mozilla-esr45/rev/30e2382d800f
status-firefox-esr45: affected → fixed
You need to log in before you can comment on or make changes to this bug.