Bug 2113850 - Firefox 103.0 fails to build on ppc64le / pipewire
Summary: Firefox 103.0 fails to build on ppc64le / pipewire
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: firefox
Version: 37
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Gecko Maintainer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedFreezeException
Depends On:
Blocks: F37BetaFreezeException
TreeView+ depends on / blocked
 
Reported: 2022-08-02 06:58 UTC by Martin Stransky
Modified: 2022-10-05 12:57 UTC (History)
11 users (show)

Fixed In Version: firefox-103.0-1.fc37 firefox-104.0-5.fc37 firefox-105.0.2-1.fc38
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-08-27 00:24:42 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Mozilla Foundation 1779545 0 P2 RESOLVED desktop_capture module not built on ppc64le 2022-08-03 08:29:29 UTC

Description Martin Stransky 2022-08-02 06:58:06 UTC
Description of problem:
Firefox 103.0 fails to build on ppc64le / pipewire:

75:40.86 ../../../../../config/nsinstall -R -m 644 'libipcclientcerts.so' '../../../../../dist/bin'
75:40.86 gmake[4]: Leaving directory '/builddir/build/BUILD/firefox-103.0/objdir/security/manager/ssl/ipcclientcerts/dynamic-library'
78:20.98 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/objdir/toolkit/library/build/../../../dom/media/systemservices/Unified_cpp_systemservices0.o: in function `webrtc::DesktopCaptureImpl::Init()':
78:21.00 /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/desktop_capture_impl.cc:334: undefined reference to `webrtc::DesktopCaptureOptions::CreateDefault()'
78:21.00 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/desktop_capture_impl.cc:377: undefined reference to `webrtc::DesktopCaptureOptions::~DesktopCaptureOptions()'
78:21.00 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/desktop_capture_impl.cc:340: undefined reference to `webrtc::DesktopCapturer::CreateScreenCapturer(webrtc::DesktopCaptureOptions const&)'
78:21.00 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/desktop_capture_impl.cc:363: undefined reference to `webrtc::DesktopAndCursorComposer::DesktopAndCursorComposer(std::unique_ptr<webrtc::DesktopCapturer, std::default_delete<webrtc::DesktopCapturer> >, webrtc::DesktopCaptureOptions const&)'
78:21.00 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/desktop_capture_impl.cc:368: undefined reference to `webrtc::DesktopCapturer::CreateTabCapturer(webrtc::DesktopCaptureOptions const&)'
78:21.00 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/desktop_capture_impl.cc:353: undefined reference to `webrtc::DesktopCapturer::CreateWindowCapturer(webrtc::DesktopCaptureOptions const&)'
78:21.00 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/objdir/toolkit/library/build/../../../dom/media/systemservices/Unified_cpp_systemservices0.o: in function `webrtc::DesktopDeviceInfoImpl::InitializeScreenList()':
78:21.00 /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/desktop_device_info.cc:306: undefined reference to `webrtc::DesktopCaptureOptions::CreateDefault()'
78:21.00 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/desktop_device_info.cc:306: undefined reference to `webrtc::DesktopCapturer::CreateScreenCapturer(webrtc::DesktopCaptureOptions const&)'
78:21.00 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/desktop_device_info.cc:306: undefined reference to `webrtc::DesktopCaptureOptions::~DesktopCaptureOptions()'
78:21.00 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/objdir/toolkit/library/build/../../../dom/media/systemservices/Unified_cpp_systemservices0.o: in function `webrtc::DesktopDeviceInfoImpl::InitializeWindowList()':
78:21.00 /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/desktop_device_info.cc:245: undefined reference to `webrtc::DesktopCaptureOptions::CreateDefault()'
78:21.00 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/desktop_device_info.cc:245: undefined reference to `webrtc::DesktopCapturer::CreateWindowCapturer(webrtc::DesktopCaptureOptions const&)'
78:21.00 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/desktop_device_info.cc:245: undefined reference to `webrtc::DesktopCaptureOptions::~DesktopCaptureOptions()'
78:22.54 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/objdir/toolkit/library/build/../../../dom/media/systemservices/Unified_cpp_systemservices1.o: in function `mozilla::TabCapturerWebrtc::~TabCapturerWebrtc()':
78:22.54 /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/tab_capturer.h:86: undefined reference to `webrtc::DesktopCapturer::~DesktopCapturer()'
78:22.54 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/tab_capturer.h:86: undefined reference to `webrtc::DesktopCapturer::~DesktopCapturer()'
78:22.54 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/objdir/toolkit/library/build/../../../dom/media/systemservices/Unified_cpp_systemservices1.o: in function `mozilla::TabCapturerWebrtc::~TabCapturerWebrtc()':
78:22.54 /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/tab_capturer.h:86: undefined reference to `webrtc::DesktopCapturer::~DesktopCapturer()'
78:22.54 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/tab_capturer.h:86: undefined reference to `webrtc::DesktopCapturer::~DesktopCapturer()'
78:22.54 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/objdir/toolkit/library/build/../../../dom/media/systemservices/Unified_cpp_systemservices1.o: in function `mozilla::TabCapturer::OnFrame(mozilla::dom::ImageBitmap*)':
78:22.54 /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/tab_capturer.cc:202: undefined reference to `webrtc::BasicDesktopFrame::BasicDesktopFrame(webrtc::DesktopSize)'
78:22.54 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/dom/media/systemservices/video_engine/tab_capturer.cc:211: undefined reference to `webrtc::DesktopFrame::CopyPixelsFrom(unsigned char const*, int, webrtc::DesktopRect const&)'
78:22.54 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/objdir/toolkit/library/build/../../../dom/media/systemservices/Unified_cpp_systemservices1.o:(.data.rel.ro.local._ZTVN7mozilla17TabCapturerWebrtcE[_ZTVN7mozilla17TabCapturerWebrtcE]+0x28): undefined reference to `webrtc::DesktopCapturer::SetSharedMemoryFactory(std::unique_ptr<webrtc::SharedMemoryFactory, std::default_delete<webrtc::SharedMemoryFactory> >)'
78:22.54 /usr/bin/ld: /builddir/build/BUILD/firefox-103.0/objdir/toolkit/library/build/../../../dom/media/systemservices/Unified_cpp_systemservices1.o:(.data.rel.ro.local._ZTVN7mozilla17TabCapturerWebrtcE[_ZTVN7mozilla17TabCapturerWebrtcE]+0x38): undefined reference to `webrtc::DesktopCapturer::SetExcludedWindow(long)'
79:44.36 /usr/bin/ld: libxul.so: hidden symbol `_ZN6webrtc15DesktopCapturer20CreateScreenCapturerERKNS_21DesktopCaptureOptionsE' isn't defined
79:44.36 /usr/bin/ld: final link failed: bad value

Comment 1 Fedora Update System 2022-08-02 15:17:50 UTC
FEDORA-2022-3ebb99df47 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-3ebb99df47

Comment 2 Fedora Update System 2022-08-02 15:22:41 UTC
FEDORA-2022-3ebb99df47 has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 3 Dan Horák 2022-08-03 08:29:29 UTC
This has been reported as https://bugzilla.mozilla.org/show_bug.cgi?id=1779545 and the workaround should be to disable webrtc support for ppc64le. The real solution is to fix the broken Makefile generator in bug https://bugzilla.mozilla.org/show_bug.cgi?id=1775202 ...

Comment 4 Dan Horák 2022-08-03 08:30:49 UTC
another workaround is to apply patch from https://bugzilla.mozilla.org/show_bug.cgi?id=1775202#c2

Comment 5 Martin Stransky 2022-08-03 08:40:51 UTC
(In reply to Dan Horák from comment #4)
> another workaround is to apply patch from
> https://bugzilla.mozilla.org/show_bug.cgi?id=1775202#c2

IMHO all the suggested patches needs complete make file rebuilds from gn, right?
Firefox 106 should have backported it from upstream (https://phabricator.services.mozilla.com/D153354)

Comment 6 Dan Horák 2022-08-05 12:27:46 UTC
(In reply to Martin Stransky from comment #5)
> (In reply to Dan Horák from comment #4)
> > another workaround is to apply patch from
> > https://bugzilla.mozilla.org/show_bug.cgi?id=1775202#c2
> 
> IMHO all the suggested patches needs complete make file rebuilds from gn,
> right?

no, the changes with OpenBSD (and some arm/aarch64) support caused a re-generation of the moz.build files in upstream and due the bug/deficiency in the generator (gn?) they produce incomplete/broken moz.build file for ppc64le. The workaround is to patch the generated moz.build as show in https://src.fedoraproject.org/rpms/firefox/pull-request/45

> Firefox 106 should have backported it from upstream
> (https://phabricator.services.mozilla.com/D153354)

I think this is unrelated to the current build failure

Comment 7 Ben Cotton 2022-08-09 13:41:02 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 37 development cycle.
Changing version to 37.

Comment 8 Adam Williamson 2022-08-21 14:13:01 UTC
Ping? It seems like there are possible solutions here, can we do any of them? The problem with just disabling firefox on ppc64le is it means deliverables that include it - the Silverblue and Kinoite ostrees - fail to build. I'm not sure anyone's really running graphical Fedora on a ppc64le system, but the images are enabled so I guess someone wanted them...

Comment 9 Kalev Lember 2022-08-21 14:33:15 UTC
I have a pending PR for firefox packaging that should help with firefox build OOMing on s390x and other secondary arches, and sharkcz has a PR with ppc64le build fixes. These together should make firefox build again on all arches we have.

stransky asked me to hold off merging the fixes until next week until firefox 104 is out -- I can take care of getting the secondary arch builds going again after that.

Comment 10 Dan Horák 2022-08-22 09:02:02 UTC
I have rebased https://src.fedoraproject.org/rpms/firefox/pull-request/45 onto the latest rawhide and re-verified that it builds OK.

And yes, there are people running Fedora desktops on their ppc64le machines :-)

Comment 11 Fedora Update System 2022-08-24 14:37:11 UTC
FEDORA-2022-74ff7f9e74 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-74ff7f9e74

Comment 12 Fedora Update System 2022-08-24 14:37:18 UTC
FEDORA-2022-02d2625a01 has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2022-02d2625a01

Comment 13 Fedora Update System 2022-08-24 14:37:23 UTC
FEDORA-2022-ee0d54e824 has been submitted as an update to Fedora 35. https://bodhi.fedoraproject.org/updates/FEDORA-2022-ee0d54e824

Comment 14 Kalev Lember 2022-08-24 14:42:12 UTC
Proposing as a F37 Beta Freeze Exception to fix ostree ppc64le composes that are failing right now due to missing firefox.

Comment 15 Adam Williamson 2022-08-24 15:42:26 UTC
This is actually an automatic FE, per "Bugs which entirely prevent the composition of one or more of the non-release-blocking images required to be built for a currently-pending (pre-)release" - https://fedoraproject.org/wiki/QA:SOP_freeze_exception_bug_process#Automatic_freeze_exceptions . Marking accepted.

Comment 16 Fedora Update System 2022-08-24 18:45:05 UTC
FEDORA-2022-74ff7f9e74 has been pushed to the Fedora 37 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-74ff7f9e74`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-74ff7f9e74

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 17 Fedora Update System 2022-08-24 20:31:34 UTC
FEDORA-2022-02d2625a01 has been pushed to the Fedora 36 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 18 Fedora Update System 2022-08-24 20:41:05 UTC
FEDORA-2022-ee0d54e824 has been pushed to the Fedora 35 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-ee0d54e824`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-ee0d54e824

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 19 Fedora Update System 2022-08-26 12:16:20 UTC
FEDORA-2022-ee0d54e824 has been pushed to the Fedora 35 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 20 Fedora Update System 2022-08-27 00:24:42 UTC
FEDORA-2022-74ff7f9e74 has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 21 Fedora Update System 2022-10-05 12:46:06 UTC
FEDORA-2022-f0988ea008 has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2022-f0988ea008

Comment 22 Fedora Update System 2022-10-05 12:57:34 UTC
FEDORA-2022-f0988ea008 has been pushed to the Fedora 38 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.