Summary: | >=www-client/firefox-104.0 fails to compile on armv7 with: immediate expression requires a # prefix --pld [r4,1792]' | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | tt_1 <herrtimson> |
Component: | Current packages | Assignee: | Mozilla Gentoo Team <mozilla> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://bugs.chromium.org/p/libyuv/issues/detail?id=942 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
compressed build log
backported patch for 105.0 emerge --info from armv7 |
Created attachment 813886 [details, diff] backported patch for 105.0 so the fix is already merged into libyuv master, and is part of a release (v1844 I believe), but that hasn't yet been pulled into the firefox source tree. two more mozilla bugs: https://bugzilla.mozilla.org/show_bug.cgi?id=1787405 https://bugzilla.mozilla.org/show_bug.cgi?id=1791267 I have attached the patch fixing the assembler error, as reported in 1787405 Created attachment 813889 [details]
emerge --info from armv7
Firefox is not keyworded on arm. Are you saying the attached patch makes it compile just fine? No other changes required? Honestly I'm not too keen on piling up these arch-specific patches, especially because when they break I have no means (or time really) to test them. (In reply to Joonas Niilola from comment #3) > Firefox is not keyworded on arm. Are you saying the attached patch makes it > compile just fine? No other changes required? its kind of meaningless on arm wether a package is keyworded or not ;-) > Honestly I'm not too keen on piling up these arch-specific patches, > especially because when they break I have no means (or time really) to test > them. Well, my argument here is first of all, there is an upstream fix. Its applied to arm-neon specific code (row_neon.cc), and since its fixed at upstream libyuv it will solve itself once the firefox devs decide to pull in an updated version of libyuv. This is a bigger operation (libwebrtc etc), so for two changed line of code they most likely won't do it. So I consider taking the patch low risk. I can understand if you don't want to run all your tests again, maybe we can agree to pick it up for firefox-106.0 once its released? The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5527cf5b99ebdaf945349ce600b695a4189837d6 commit 5527cf5b99ebdaf945349ce600b695a4189837d6 Author: Joonas Niilola <juippis@gentoo.org> AuthorDate: 2022-09-24 13:55:24 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2022-09-24 13:57:18 +0000 www-client/firefox: update patchset for 105.0.1 - add a patch that makes it possible to build firefox-105.0.1 on arm. Closes: https://bugs.gentoo.org/872545 Signed-off-by: Joonas Niilola <juippis@gentoo.org> www-client/firefox/Manifest | 2 +- www-client/firefox/firefox-105.0.1.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) |
Created attachment 813883 [details] compressed build log There is something wrong inside of libyuv when compiling it for armv7. I've been sitting on this bug for a little while, so please forgive me for using the old firefox-104.0.2 log here: this command: 1246:02.85 /usr/bin/armv7a-unknown-linux-musleabihf-g++ -std=gnu++17 -o Unified_cpp_media_libyuv_libyuv1.o -c -I/var/tmp/portage/www-client/firefox-104.0.2/work/firefox_build/dist/stl_wrappers -I/var/tmp/portage/www-client/firefox-104.0.2/work/firefox_build/dist/system_wrappers -include /var/tmp/portage/www-client/firefox-104.0.2/work/firefox-104.0.2/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DNDEBUG -DTRIMMED=1 -D_FILE_OFFSET_BITS=64 -DCHROMIUM_BUILD -DUSE_LIBJPEG_TURBO=1 -DUSE_NSS=1 -DENABLE_ONE_CLICK_SIGNIN -DGTK_DISABLE_SINGLE_INCLUDES=1 -D_ISOC99_SOURCE=1 -DENABLE_REMOTING=1 -DENABLE_WEBRTC=1 -DENABLE_CONFIGURATION_POLICY -DENABLE_INPUT_SPEECH -DENABLE_NOTIFICATIONS -DENABLE_GPU=1 -DENABLE_EGLIMAGE=1 -DUSE_SKIA=1 -DENABLE_TASK_MANAGER=1 -DENABLE_WEB_INTENTS=1 -DENABLE_EXTENSIONS=1 -DENABLE_PLUGIN_INSTALLATION=1 -DENABLE_PROTECTOR_SERVICE=1 -DENABLE_SESSION_SERVICE=1 -DENABLE_THEMES=1 -DENABLE_BACKGROUND=1 -DENABLE_AUTOMATION=1 -DENABLE_PRINTING=1 -DENABLE_CAPTIVE_PORTAL_DETECTION=1 -DLIBYUV_NEON -DHAVE_JPEG -D__STDC_FORMAT_MACROS -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/var/tmp/portage/www-client/firefox-104.0.2/work/firefox-104.0.2/media/libyuv/libyuv -I/var/tmp/portage/www-client/firefox-104.0.2/work/firefox_build/media/libyuv/libyuv/libyuv_libyuv -I/var/tmp/portage/www-client/firefox-104.0.2/work/firefox-104.0.2/media/libyuv/libyuv/include -I/var/tmp/portage/www-client/firefox-104.0.2/work/firefox-104.0.2/media/libyuv/libyuv -I/var/tmp/portage/www-client/firefox-104.0.2/work/firefox_build/ipc/ipdl/_ipdlheaders -I/var/tmp/portage/www-client/firefox-104.0.2/work/firefox-104.0.2/ipc/chromium/src -I/var/tmp/portage/www-client/firefox-104.0.2/work/firefox_build/dist/include -DMOZILLA_CLIENT -include /var/tmp/portage/www-client/firefox-104.0.2/work/firefox_build/mozilla-config.h -Wall -Wempty-body -Wignored-qualifiers -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wno-invalid-offsetof -Wduplicated-cond -Wimplicit-fallthrough -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=coverage-mismatch -Wno-error=free-nonheap-object -Wno-multistatement-macros -Wno-error=class-memaccess -Wno-error=deprecated-copy -Wformat -Wformat-security -Wformat-overflow=2 -Wno-psabi -fno-sized-deallocation -fno-aligned-new -pipe -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -fomit-frame-pointer -mfloat-abi=hard -fno-exceptions -fPIC -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -pipe -O2 -fomit-frame-pointer -funwind-tables -mfpu=neon -fno-strict-aliasing -ffp-contract=off -MD -MP -MF .deps/Unified_cpp_media_libyuv_libyuv1.o.pp -fdiagnostics-color Unified_cpp_media_libyuv_libyuv1.cpp fails to compile with this error: 1246:07.85 {standard input}: Assembler messages: 1246:07.86 {standard input}:9507: Error: immediate expression requires a # prefix -- pld [r2,1792]' 1246:07.86 {standard input}:9528: Error: immediate expression requires a # prefix --pld [r4,1792]' 1246:07.87 {standard input}:9608: Error: immediate expression requires a # prefix -- pld [r3,1792]' 1246:07.87 {standard input}:9633: Error: immediate expression requires a # prefix --pld [r4,1792]' 1246:08.82 {standard input}:12537: Error: immediate expression requires a # prefix -- pld [r0,1792]' 1246:08.83 {standard input}:12565: Error: immediate expression requires a # prefix --pld [r0,1792]' 1246:11.48 gmake[4]: *** [/var/tmp/portage/www-client/firefox-104.0.2/work/firefox-104.0.2/config/rules.mk:669: Unified_cpp_media_libyuv_libyuv1.o] Error 1 1246:11.48 gmake[4]: Leaving directory '/var/tmp/portage/www-client/firefox-104.0.2/work/firefox_build/media/libyuv/libyuv/libyuv_libyuv' 1246:11.48 gmake[3]: *** [/var/tmp/portage/www-client/firefox-104.0.2/work/firefox-104.0.2/config/recurse.mk:72: media/libyuv/libyuv/libyuv_libyuv/target-objects] Error 2 1246:11.52 gmake[3]: Leaving directory '/var/tmp/portage/www-client/firefox-104.0.2/work/firefox_build' 1246:11.53 gmake[2]: *** [/var/tmp/portage/www-client/firefox-104.0.2/work/firefox-104.0.2/config/recurse.mk:34: compile] Error 2 1246:11.59 gmake[2]: Leaving directory '/var/tmp/portage/www-client/firefox-104.0.2/work/firefox_build' 1246:11.60 gmake[1]: *** [/var/tmp/portage/www-client/firefox-104.0.2/work/firefox-104.0.2/config/rules.mk:361: default] Error 2 1246:11.65 gmake[1]: Leaving directory '/var/tmp/portage/www-client/firefox-104.0.2/work/firefox_build' 1246:11.66 gmake: *** [client.mk:63: build] Error 2 the full build log is attached