firefox-121 beta fails to build from source with: third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:515:25: error: no template named 'set' in namespace 'xsimd::kernel'; did you mean 'get'?
Categories
(Toolkit :: General, defect, P1)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox-esr115 | --- | unaffected |
| firefox121 | --- | fixed |
| firefox122 | --- | fixed |
People
(Reporter: herrtimson, Assigned: sergesanspaille)
References
(Regression)
Details
(Keywords: regression)
Attachments
(6 files)
|
433.67 KB,
application/gzip
|
Details | |
|
4.83 KB,
application/gzip
|
Details | |
|
3.10 KB,
application/gzip
|
Details | |
|
462.53 KB,
application/gzip
|
Details | |
|
1.24 KB,
patch
|
Details | Diff | Splinter Review | |
|
48 bytes,
text/x-phabricator-request
|
phab-bot
:
approval-mozilla-release+
|
Details | Review |
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0
Steps to reproduce:
I downloaded the firefox-121.0 beta8 source tarball from mozilla ftp and tried to compile it on linux for armv7a, with clang-17
Actual results:
there is a whole barrage of errors:
669:35.23 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/../arch/././generic/xsimd_generic_memory.hpp:454:21: error: no template named 'store_aligned' in namespace 'xsimd::kernel'; did you mean 'load_aligned'?
669:35.69 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:503:38: error: no template named 'broadcast' in namespace 'xsimd::kernel'; did you mean simply 'broadcast'?
669:36.11 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:503:38: error: no template named 'broadcast' in namespace 'xsimd::kernel'; did you mean simply 'broadcast'?
669:36.64 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:515:25: error: no template named 'set' in namespace 'xsimd::kernel'; did you mean 'get'?
669:37.06 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:707:20: error: no template named 'eq' in namespace 'xsimd::kernel'; did you mean simply 'eq'?
669:37.41 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:707:20: error: no template named 'eq' in namespace 'xsimd::kernel'; did you mean simply 'eq'?
669:37.79 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:757:20: error: no template named 'lt' in namespace 'xsimd::kernel'; did you mean simply 'lt'?
669:38.17 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:757:20: error: no template named 'lt' in namespace 'xsimd::kernel'; did you mean simply 'lt'?
669:38.56 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:769:24: error: no template named 'add' in namespace 'xsimd::kernel'; did you mean simply 'add'?
669:38.97 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:769:24: error: no template named 'add' in namespace 'xsimd::kernel'; did you mean simply 'add'?
669:39.36 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:776:24: error: no template named 'sub' in namespace 'xsimd::kernel'; did you mean simply 'sub'?
669:39.76 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:776:24: error: no template named 'sub' in namespace 'xsimd::kernel'; did you mean simply 'sub'?
669:40.16 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:804:24: error: no template named 'bitwise_and' in namespace 'xsimd::kernel'; did you mean simply 'bitwise_and'?
669:40.57 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:804:24: error: no template named 'bitwise_and' in namespace 'xsimd::kernel'; did you mean simply 'bitwise_and'?
669:40.97 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:811:24: error: no template named 'bitwise_or' in namespace 'xsimd::kernel'; did you mean simply 'bitwise_or'?
669:41.37 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:811:24: error: no template named 'bitwise_or' in namespace 'xsimd::kernel'; did you mean simply 'bitwise_or'?
669:41.77 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:818:24: error: no template named 'bitwise_xor' in namespace 'xsimd::kernel'; did you mean simply 'bitwise_xor'?
669:42.18 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:818:24: error: no template named 'bitwise_xor' in namespace 'xsimd::kernel'; did you mean simply 'bitwise_xor'?
669:42.56 /var/tmp/portage/www-client/firefox-121.0_beta8/work/firefox-121.0/third_party/xsimd/include/xsimd/types/xsimd_batch.hpp:893:16: error: no template named 'eq' in namespace 'xsimd::kernel'; did you mean simply 'eq'?
there are more, but the output is stopped: 669:42.91 fatal error: too many errors emitted, stopping now [-ferror-limit=]
Expected results:
I expect the build to succeed, and build me a nice firefox binary
My guess is the new code from #1863847 is incompatible with clang, as I haven't hit this bug with a cross gcc-11 setup
Comment 1•2 years ago
|
||
The Bugbug bot thinks this bug should belong to the 'Core::Widget: Gtk' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.
Comment 2•2 years ago
|
||
:sergesanspaille, since you are the author of the regressor, bug 1863847, could you take a look? Also, could you set the severity field?
For more information, please visit BugBot documentation.
| Assignee | ||
Comment 3•2 years ago
|
||
This indeed looks like an architecture detection bug in xsimd. In the build log, I see -mfpu=vfpv3-d16, could you try compiling with -mfpu=neon to confirm it fixes the issue?
hi, thanks for the fast reply.
I've scheduled another build job on the device with global --enable-fpu=neon, hopefully there will be results tomorrow
In the meantime I removed --enable-fpu=neon from my cross-gcc-11 build setup, it does now fail identically. Find it attached, it is more verbose.
where does upstream live? is it at https://github.com/xtensor-stack/xsimd/ ?
it seems to work with neon, find the output of
cat build.log | grep xsimd
in the attachment
do you think it is a good idea to try the update to xsimd-12.1.0 from mozbg #1867339?
| Assignee | ||
Comment 8•2 years ago
|
||
(In reply to tt_1 from comment #4)
Created attachment 9367680 [details]
gcc.log.gzhi, thanks for the fast reply.
I've scheduled another build job on the device with global --enable-fpu=neon, hopefully there will be results tomorrow
In the meantime I removed --enable-fpu=neon from my cross-gcc-11 build setup, it does now fail identically. Find it attached, it is more verbose.
where does upstream live? is it at https://github.com/xtensor-stack/xsimd/ ?
Yes, and I am one of the core dev there, so feel free to report the issue with that particular FPU setting that's not correctly handled by the supported architecture scanning code in xsimd.
| Assignee | ||
Comment 9•2 years ago
|
||
(In reply to tt_1 from comment #7)
do you think it is a good idea to try the update to xsimd-12.1.0 from mozbg #1867339?
I don't think I've added anything related to arm neon detection in that release, so it shouldn't make any change.
| Reporter | ||
Comment 10•2 years ago
|
||
Did so, is there any way to have an educated guess which commit did introduce the issue inbetween 11.1.0 and 11.2.0? I can fully revert the upgrade and have it working again, but I feel this approach is a bit over the top.
| Assignee | ||
Comment 11•2 years ago
|
||
Can you give a try to https://github.com/xtensor-stack/xsimd/pull/991 ?
| Reporter | ||
Comment 12•2 years ago
|
||
this needs to be backported for the beta channel build I'm using, please confirm my attached attempt as valid, and I will schedule a build.
| Reporter | ||
Comment 14•2 years ago
|
||
the fix is working for me with the beta channel, both without neon and with -mpfu=neon
given that rc1 has been tagged yesterday, it's propably too late to get everything commited until the release of 121.0 final?
Comment 15•2 years ago
•
|
||
given that rc1 has been tagged yesterday, it's propably too late to get everything commited until the release of 121.0 final?
Yes, but this looks like a trivial risk free patch for a dot release.
[Tracking Requested - why for this release]: Build issue on Linux ARM and RISCV
| Assignee | ||
Comment 16•2 years ago
•
|
||
As an xsimd maintainer, I confirm the triviality (and correcteness) of the patch.
| Reporter | ||
Comment 17•2 years ago
|
||
this has been fixed in master with the upgrade to xsimd-12.1.1
Comment 18•2 years ago
|
||
FWIW same issue happens with 121.0 release when targeting 32-bit x86 (no SSE).
Comment 19•2 years ago
|
||
Yeah, this was unfortunately not fixed before the release. It probably didn't help that the tracking flag was set for 120 instead of 121.
Updated•2 years ago
|
| Assignee | ||
Comment 20•2 years ago
|
||
Updated•2 years ago
|
Comment 21•2 years ago
|
||
Set release status flags based on info from the regressing bug 1863847
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Updated•2 years ago
|
Comment 22•2 years ago
|
||
Uplift Approval Request
- String changes made/needed: no
- Fix verified in Nightly: yes
- Is Android affected?: yes
- Explanation of risk level: tested in xsimd upstream and in nightly
- Needs manual QE test: yes
- Steps to reproduce for manual QE testing: build on X86_32 (without sse2) or arm32 (without neon)
- Risk associated with taking this patch: low
- User impact if declined: fails to build on architecture not supported by xsimd
- Code covered by automated testing: no
Updated•2 years ago
|
Comment 23•2 years ago
|
||
| uplift | ||
Updated•2 years ago
|
Description
•