Closed Bug 1282993 Opened 8 years ago Closed 8 years ago

ipc/glue/PBackground.ipdl:16: error: can't locate include file `PGamepadEventChannel.ipdl' (--disable-gamepad)

Categories

(Core :: DOM: Device Interfaces, defect)

Unspecified
FreeBSD
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla50
Tracking Status
firefox50 --- fixed

People

(Reporter: jbeich, Assigned: cleu)

References

Details

(Keywords: regression)

Attachments

(1 file, 4 obsolete files)

GamePad API isn't implemented on Tier3 platforms (BSDs, Solaris, etc.).

  in file included from `/a/gecko-dev/accessible/ipc/PDocAccessible.ipdl', line 7:
  in file included from `/a/gecko-dev/ipc/glue/PFileDescriptorSet.ipdl', line 5:
  ipc/glue/PBackground.ipdl:16: error: can't locate include file `PGamepadEventChannel.ipdl'

http://buildbot.rhaalovely.net/builders/mozilla-central-amd64/builds/1775/steps/build/logs/stdio
http://buildbot.rhaalovely.net/builders/mozilla-central-freebsd-amd64/builds/885/steps/build/logs/stdio
Summary: ipc/glue/PBackground.ipdl:16: error: can't locate include file `PGamepadEventChannel.ipdl' → ipc/glue/PBackground.ipdl:16: error: can't locate include file `PGamepadEventChannel.ipdl' (--disable-gamepad)
From what i understand, it also broke TB/SM build, and it's been solved (?) by https://bugzilla.mozilla.org/show_bug.cgi?id=1282913 and https://bugzilla.mozilla.org/show_bug.cgi?id=1282927 - so maybe adding some ifdef MOZ_GAMEPAD to package-manifest.in would work ?
ni?'ing :lenzak800
Flags: needinfo?(cleu)
Aw... Sorry about breaking this. :(

I think the cause is the moz.build files, it ignores PGamepadEventChannel.ipdl
if gamepad api is not enabled, but PBackground.ipdl depends on it.

Since I cannot place #ifdef MOZ_GAMEPAD under PBackground.ipdl, I can only modify moz.build to make it include required files (but no implementment codes)

I think this patch may be helpful for the build failures, but I have no BSD platform for now.
Flags: needinfo?(cleu)
Attachment #8766289 - Flags: review?(kyle)
Add #ifdef in BackgroundChildImpl.cpp
Attachment #8766289 - Attachment is obsolete: true
Attachment #8766289 - Flags: review?(kyle)
Attachment #8766292 - Flags: review?(kyle)
Comment on attachment 8766292 [details] [diff] [review]
0001-bug1282993-Fix-build-error-in-Platform-which-don-t-s.patch

Review of attachment 8766292 [details] [diff] [review]:
-----------------------------------------------------------------

Maybe remove --disable-gamepad support instead since --enable-gamepad builds fine on Tier3 but uses MOZ_GAMEPAD_BACKEND=stub.

::: dom/moz.build
@@ +137,5 @@
>  if CONFIG['MOZ_GAMEPAD']:
>      DIRS += ['gamepad']
> +else:
> +    IPDL_SOURCES += [
> +        'ipc/GamepadEventTypes.ipdlh',

Still fails even with the typo fixed.

gmake[5]: *** No rule to make target 'dom/ipc/GamepadEventTypes.ipdl', needed
by 'export'.  Stop.
 0:20.82 gmake[4]: *** [config/recurse.mk:79: ipc/ipdl/export] Error 2
(In reply to Michael Leu[:lenzak800](UTC+8) from comment #3)
> I think this patch may be helpful for the build failures, but I have no BSD
> platform for now.

You don't need a BSD platform to test this. Just add this to your mozconfig:
 ac_add_options --disable-gamepad
and you'll hit the build error (and you can test fixes).
Attachment #8766292 - Flags: review?(kyle)
Assignee: nobody → cleu
I think this patch should work, I have tested it on Mac OSX 10.11 with ac_add_options --disable-gamepad.
Attachment #8766292 - Attachment is obsolete: true
Attachment #8766643 - Flags: review?(kyle)
Fix whitespace nits
Attachment #8766643 - Attachment is obsolete: true
Attachment #8766643 - Flags: review?(kyle)
Attachment #8766645 - Flags: review?(kyle)
Attachment #8766645 - Flags: review?(amarchesini)
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → DUPLICATE
Comment on attachment 8766645 [details] [diff] [review]
bug1282993 - Fix build error in Platform which don't support gamepad  API

I reviewed a similar patch yesterday. Re-open the bug in case I'm wrong. Thanks.
Attachment #8766645 - Flags: review?(amarchesini)
It seems to fix everything for me, gonk build completes :)
Flags: needinfo?(cleu)
Flags: needinfo?(amarchesini)
And m-i builds for me on OpenBSD with this patch too.
gerard-majax, Do you want this patch or yours?
Flags: needinfo?(amarchesini)
Well this one fixes everything in one patch, I think it's better to keep this one and backout mine ?
Glad to solve this problem :)
Flags: needinfo?(cleu)
Status: RESOLVED → REOPENED
Resolution: DUPLICATE → ---
Attachment #8766645 - Flags: review?(kyle) → review?(amarchesini)
Attachment #8766645 - Flags: review?(amarchesini) → review+
Keywords: checkin-needed
Something has landed in bug 1283135 that conflicts with the patch here and changed the error into

In file included from dom/bindings/UnifiedBindings6.cpp:170:
dom/bindings/GamepadServiceTestBinding.cpp:10:10: fatal error: 'mozilla/dom/GamepadServiceTest.h' file not found
#include "mozilla/dom/GamepadServiceTest.h"
         ^
1 error generated.
(In reply to Jan Beich from comment #19)
> Something has landed in bug 1283135 that conflicts with the patch here and
> changed the error into
> 
> In file included from dom/bindings/UnifiedBindings6.cpp:170:
> dom/bindings/GamepadServiceTestBinding.cpp:10:10: fatal error:
> 'mozilla/dom/GamepadServiceTest.h' file not found
> #include "mozilla/dom/GamepadServiceTest.h"
>          ^
> 1 error generated.

Yeah it's my fault, we need to backout bug 1283135
Pushed by cbook@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/01171389f44a
Fix build error in Platform which don't support gamepad API. r=baku
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/01171389f44a
Status: REOPENED → RESOLVED
Closed: 8 years ago8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: