Closed Bug 1562497 Opened 5 months ago Closed 4 months ago

gfx/vr/service/VRService.cpp: error: undefined symbol: mozilla::gfx::PuppetSession::PuppetSession()

Categories

(Core :: WebVR, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla70
Tracking Status
firefox-esr60 --- unaffected
firefox-esr68 --- unaffected
firefox68 --- unaffected
firefox69 --- fixed
firefox70 --- fixed

People

(Reporter: jbeich, Assigned: jbeich)

References

(Regression)

Details

(Keywords: regression)

Attachments

(2 files, 1 obsolete file)

$ c++ -v
FreeBSD clang version 8.0.1 (branches/release_80 363030) (based on LLVM 8.0.1)
Target: x86_64-unknown-freebsd13.0
Thread model: posix
InstalledDir: /usr/bin

$ ./mach bootstrap
$ ./mach build
[...]
ld.lld: error: undefined symbol: mozilla::gfx::PuppetSession::PuppetSession()
>>> referenced by Unified_cpp_gfx_vr_service0.cpp
>>>               ../../gfx/vr/service/Unified_cpp_gfx_vr_service0.o:(mozilla::gfx::VRService::ServiceInitialize())
c++: error: linker command failed with exit code 1 (use -v to see invocation)
Attached patch fix (obsolete) — Splinter Review
Attached patch fix, v2Splinter Review

https://treeherder.mozilla.org/#/jobs?repo=try&revision=02c43665ba0cf331e28c75d3e72e490f9db4732c

attachment 9075045 [details] [diff] [review] failed on macOS due to UNIFIED_SOURCES.

In file included from obj-firefox/gfx/vr/service/Unified_cpp_gfx_vr_service0.cpp:11:
In file included from gfx/vr/service/PuppetSession.cpp:17:
In file included from obj-firefox/dist/include/mozilla/gfx/MacIOSurface.h:10:
In file included from MacOSX10.11.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/QuartzCore.h:10:
In file included from MacOSX10.11.sdk/System/Library/Frameworks/QuartzCore.framework/Headers/CoreVideo.h:1:
In file included from MacOSX10.11.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CoreVideo.h:20:
In file included from MacOSX10.11.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVReturn.h:21:
In file included from MacOSX10.11.sdk/System/Library/Frameworks/CoreVideo.framework/Headers/CVBase.h:59:
In file included from MacOSX10.11.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/CFBase.h:68:
MacOSX10.11.sdk/usr/include/MacTypes.h:542:16: error: reference to 'Point' is ambiguous
typedef struct Point                    Point;
               ^
MacOSX10.11.sdk/usr/include/MacTypes.h:538:8: note: candidate found by name lookup is 'Point'
struct Point {
       ^
obj-firefox/dist/include/mozilla/gfx/Point.h:159:34: note: candidate found by name lookup is 'mozilla::gfx::Point'
typedef PointTyped<UnknownUnits> Point;
                                 ^
Attachment #9075045 - Attachment is obsolete: true

Can you help landing the fix?

Flags: needinfo?(kgilbert)

(In reply to Jan Beich from comment #3)

Can you help landing the fix?

Interesting. I am curious why FreeBSD triggers defined(XP_MACOSX) at https://dxr.mozilla.org/mozilla-central/source/gfx/vr/service/PuppetSession.cpp?q=PuppetSession.cpp&redirect_type=direct#17. Does FreeBSD enable PuppetSession.cpp because it's treated as Linux in if CONFIG['OS_TARGET'] in ('WINNT', 'Linux', 'Darwin') ?

(In reply to Daosheng Mu[:daoshengmu] from comment #4)

(In reply to Jan Beich from comment #3)

Can you help landing the fix?

I am curious why FreeBSD triggers defined(XP_MACOSX) at https://dxr.mozilla.org/mozilla-central/source/gfx/vr/service/PuppetSession.cpp?q=PuppetSession.cpp&redirect_type=direct#17.

Not sure what you mean. PuppetSession is used at https://searchfox.org/mozilla-central/rev/29f8e6aebd2b2660b9c76858ccb0c6eaf35dd7aa/gfx/vr/service/VRService.cpp#237

Is it FreeBSD enabled PuppetSession.cpp is because it's treated as Linux in if CONFIG['OS_TARGET'] in ('WINNT', 'Linux', 'Darwin') ?

VRService.cpp is built on DragonFly, FreeBSD, NetBSD, OpenBSD and Solaris after bug 1497379.

(In reply to Jan Beich from comment #5)

(In reply to Daosheng Mu[:daoshengmu] from comment #4)

(In reply to Jan Beich from comment #3)

Can you help landing the fix?

I am curious why FreeBSD triggers defined(XP_MACOSX) at https://dxr.mozilla.org/mozilla-central/source/gfx/vr/service/PuppetSession.cpp?q=PuppetSession.cpp&redirect_type=direct#17.

Not sure what you mean. PuppetSession is used at https://searchfox.org/mozilla-central/rev/29f8e6aebd2b2660b9c76858ccb0c6eaf35dd7aa/gfx/vr/service/VRService.cpp#237

Is it FreeBSD enabled PuppetSession.cpp is because it's treated as Linux in if CONFIG['OS_TARGET'] in ('WINNT', 'Linux', 'Darwin') ?

VRService.cpp is built on DragonFly, FreeBSD, NetBSD, OpenBSD and Solaris after bug 1497379.

I see. Thanks!

Comment on attachment 9075051 [details] [diff] [review]
fix, v2

This LGTM.
Flags: needinfo?(kgilbert)
Attachment #9075051 - Flags: review+

Moved patch to fabricator

Hit this one when building 69.0b3 on OpenBSD - why is the fix pending ? seems its been reviewed.

(In reply to Landry Breuil (:gaston) from comment #10)

Hit this one when building 69.0b3 on OpenBSD - why is the fix pending ? seems its been reviewed.

Indeed -- I have kicked off the landing; it should be merged shortly.

Pushed by kgilbert@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/0c408343080d
Build PuppetSession on Tier3 as VRService depends on it. r=daoshengmu
Status: NEW → RESOLVED
Closed: 4 months ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla70
Assignee: nobody → jbeich

Comment on attachment 9075753 [details]
Bug 1562497 - Build PuppetSession on Tier3 as VRService depends on it.

Beta/Release Uplift Approval Request

  • User impact if declined: Broken build on DragonFly, FreeBSD, NetBSD, OpenBSD, Solaris.
  • Is this code covered by automated tests?: Yes
  • Has the fix been verified in Nightly?: Yes
  • 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): Can only break build.
  • String changes made/needed:
Attachment #9075753 - Flags: approval-mozilla-beta?

Comment on attachment 9075753 [details]
Bug 1562497 - Build PuppetSession on Tier3 as VRService depends on it.

Fixes build bustage for some Tier 3 configurations. NPOTB for anything we ship. Approved for 69.0b4.

Attachment #9075753 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
You need to log in before you can comment on or make changes to this bug.