| Summary: | www-client/firefox-51.0, 52.0.1 build failure on Big Endian machines (#error "Skia gpu currently assumes little endian") | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | ernsteiswuerfel <erhard_f> |
| Component: | Current packages | Assignee: | Mozilla Gentoo Team <mozilla> |
| Status: | RESOLVED OBSOLETE | ||
| Severity: | normal | CC: | herrtimson |
| Priority: | Normal | ||
| Version: | unspecified | ||
| Hardware: | PPC64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: |
build.log
build.log with USE +skia build.log with USE -skia 52.0.1 build.log |
||
|
Description
ernsteiswuerfel
2017-01-29 20:53:06 UTC
Re-tried firefox 51.0.1 with a slightly updated toolchain (linux headers 4.9, gcc 5.4.0-r3, binutils 2.26.1). This time I also had a closer look at the build-log.
Looks like USE="skia" is the critical point. Building with USE +skia fails with errors like that:
In file included from /var/tmp/portage/www-client/firefox-51.0.1/work/firefox-51.0.1/gfx/skia/skia/include/gpu/GrCaps.h:11:0,
from /var/tmp/portage/www-client/firefox-51.0.1/work/firefox-51.0.1/gfx/skia/skia/include/gpu/GrContext.h:11,
from /var/tmp/portage/www-client/firefox-51.0.1/work/firefox-51.0.1/gfx/gl/SkiaGLGlue.cpp:6:
/var/tmp/portage/www-client/firefox-51.0.1/work/firefox-51.0.1/gfx/skia/skia/include/gpu/GrTypes.h:271:6: error: #error "Skia gpu currently assumes little endian"
#error "Skia gpu currently assumes little endian"
^
/var/tmp/portage/www-client/firefox-51.0.1/work/firefox-51.0.1/gfx/skia/skia/include/gpu/GrTypes.h:280:6: error: #error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA format."
#error "SK_*32_SHIFT values must correspond to GL_BGRA or GL_RGBA format."
^
[...]
^
/var/tmp/portage/www-client/firefox-51.0.1/work/firefox-51.0.1/gfx/skia/skia/include/core/SkImageInfo.h: In static member function 'static SkImageInfo SkImageInfo::MakeN32Premul(int, int, SkColorProfileType)':
/var/tmp/portage/www-client/firefox-51.0.1/work/firefox-51.0.1/gfx/skia/skia/include/core/SkImageInfo.h:196:43: error: 'kN32_SkColorType' was not declared in this scope
return SkImageInfo(width, height, kN32_SkColorType, kPremul_SkAlphaType, pt);
Building with USE -skia fails with:
In file included from /var/tmp/portage/www-client/firefox-51.0.1/work/firefox-51.0.1/gfx/layers/composite/LayerManagerComposite.cpp:15:0,
from /var/tmp/portage/www-client/firefox-51.0.1/work/firefox-51.0.1/ff/gfx/layers/Unified_cpp_gfx_layers5.cpp:47:
/var/tmp/portage/www-client/firefox-51.0.1/work/firefox-51.0.1/gfx/layers/composite/PaintCounter.h:12:40: fatal error: skia/include/core/SkCanvas.h: No such file or directory
Created attachment 466844 [details]
build.log with USE +skia
Created attachment 466846 [details]
build.log with USE -skia
The problem persists on firefox-52.0.1. As USE-flag "skia" seems mandantory, or is no longer listed among the USE-flags; i guess the build failure will affect ALL big endian machines. Created attachment 467800 [details]
52.0.1 build.log
OK it looks like the only fix for this will be to re-add optional skia support and mask it on big-endian platforms. We can keep 52.x ESR with this once I've fixed it, but starting with firefox-53 and until such time as someone can provide patches to make skia big-endian friendly (reportedly non-trivial in https://bugzilla.mozilla.org/show_bug.cgi?id=1144632 ), we will have to drop those keywords going forward. Good proposal. However with 51.0.x at least on my setup (ppc64 with 32-bit userland) I got build problems with USE -skia too. See the 2nd build.log attatched to this bug. Just tried building 52.1.0esr but this one failed with a different error, so I will open a new bug. Current www-client/firefox-52.1.0-r1 builds ok now on my G5, as long as I build it with USE="system-icu". Otherwise I hit bug #617510. Thanks for making it that far! ;-) If you feel I have closed your bug and it is still a current issue, please reopen and update it completely. We will not work bugs that have no ebuild in tree any longer or can not be reproduced with a current system. Thank You for your support and understanding The Mozilla Team |