Closed Bug 1822901 Opened 1 year ago Closed 1 year ago

firefox fails to build from source on armv7a with: ../dom/media/webaudio/AudioNodeEngineGeneric.h:59:31: error: 'xsimd::batch<float, xsimd::neon> vgain' has incomplete type

Categories

(Core :: Audio/Video, defect)

Firefox 113
defect

Tracking

()

RESOLVED FIXED
113 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox111 --- unaffected
firefox112 --- fixed
firefox113 --- fixed

People

(Reporter: herrtimson, Assigned: sergesanspaille)

References

(Regression)

Details

(Keywords: regression)

Attachments

(3 files)

Attached file build.log.gz

User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0

Steps to reproduce:

I downloaded latest git sources and compiled them for armv7a

Actual results:

I got these errors (its actually two different ones I guess):

11:53.79 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:59:31: error: 'xsimd::batch<float, xsimd::neon> vgain' has incomplete type
11:53.80 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:61:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.81 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:63:70: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.81 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:64:58: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.81 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:65:58: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.82 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:83:31: error: 'xsimd::batch<float, xsimd::neon> vgain' has incomplete type
11:53.83 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:87:42: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.84 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:88:57: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.84 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:208:60: error: incomplete type 'xsimd::batch<std::complex<float>, xsimd::neon>' used in nested name specifier
11:53.85 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:209:71: error: incomplete type 'xsimd::batch<std::complex<float>, xsimd::neon>' used in nested name specifier
11:53.86 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:211:71: error: incomplete type 'xsimd::batch<std::complex<float>, xsimd::neon>' used in nested name specifier
11:53.88 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:107:42: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.88 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:108:61: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.89 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:109:57: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.89 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:119:31: error: 'xsimd::batch<float, xsimd::neon> vgain' has incomplete type
11:53.89 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:121:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.89 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:123:70: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.89 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:124:57: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.90 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:136:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.90 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:138:70: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.90 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:139:57: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.90 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:140:59: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.92 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:162:31: error: 'xsimd::batch<float, xsimd::neon> vgainl' has incomplete type
11:53.93 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:163:31: error: 'xsimd::batch<float, xsimd::neon> vgainr' has incomplete type
11:53.93 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:168:44: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.93 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:169:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.93 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:170:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.93 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:183:44: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.93 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:184:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.93 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:185:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.94 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:309:42: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.94 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:311:55: error: incomplete type 'xsimd::batch_bool<float, xsimd::neon>' used in nested name specifier
11:53.94 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:313:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.94 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:314:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.94 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:315:59: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.94 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:316:59: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.94 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:235:31: error: elements of array 'xsimd::batch<float, xsimd::neon> accs [4]' have incomplete type
11:53.95 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:235:31: error: storage size of 'accs' isn't known
11:53.95 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:238:64: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.95 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:241:58: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.95 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:244:58: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.95 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:245:52: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
11:53.95 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:250:22: error: 'reduce_add' was not declared in this scope

Expected results:

I expect the compile to pass smothly and bake me a nice firefox nightly

this is from a cross compile with gcc-10, and its kind of a followup of https://bugzilla.mozilla.org/show_bug.cgi?id=1821363 - the error happens at the same file, but is slightly different.

Is anyone able to provide me with the third_party repo of xsimd? neon is its very own can of worms, maybe I can talk to them to fix this for good.

the full build log is attached

Summary: firefox fails to build from source on armv7a with: → firefox fails to build from source on armv7a with: ../dom/media/webaudio/AudioNodeEngineGeneric.h:59:31: error: 'xsimd::batch<float, xsimd::neon> vgain' has incomplete type
Keywords: regression
Regressed by: 1821363

This is more of a follow up than a regression, maybe call it an incomplete fix?

The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Audio/Video
Product: Firefox → Core

:sergesanspaille, since you are the author of the regressor, bug 1821363, could you take a look? Also, could you set the severity field?

For more information, please visit auto_nag documentation.

Flags: needinfo?(sguelton)

https://github.com/QuantStack/xsimd is the upstream repo for xsimd

thanks, it seems to be this issue: https://github.com/xtensor-stack/xsimd/pull/908

Seems the upstream patch isn't yet merged, and was force-pushed (new revision) a week ago.

That's almost certainly an xsimd bug.

Can you try the following:

cd /tmp
git clone https://github.com/QuantStack/xsimd 
cd xsimd
cat > neon.cpp << EOF 
#include <xsimd/xsimd.hpp>
int main() { printf("%d\n", XSIMD_WITH_NEON); return 0;}
EOF
/usr/bin/armv7a-unknown-linux-gnueabihf-g++ --sysroot /usr/armv7a-unknown-linux-gnueabihf -mfloat-abi=hard -mfpu=neon neon.cpp -I./include -o neon
./neon

I had to adjust the gcc command a little, to this:

/usr/bin/armv7a-unknown-linux-gnueabihf-g++-12.2.0 -mfloat-abi=hard -mfpu=neon neon.cpp -I./include -o neon

the executed neon binary returns 1

and if I remove -mfpu=neon, the neon binary returns 0

I haven't configured firefox with neon optimization though

Thanks. This is very troubling to me, as it does mean that neon detection works fine on xsimd side...

After some digging, I think I understand the problem: we have an explicit instantiation of the vector engine for NEON, but it's not forward declared, so the compiler still tries to generates its own version, but from the generic compilation unit, where it doesn't have the correct flags. I'll craft a patch to fix that.

Flags: needinfo?(sguelton)

Otherwise the compiler tries to instantiate the generic version based on
its current architecture flags, which may not be enough, resulting in
error along those lines:

    'xsimd::batch<float, xsimd::neon> vgainr' has incomplete type
Assignee: nobody → sguelton
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true

Set release status flags based on info from the regressing bug 1821363

Thank you so much for the supposed fix, will test it soon.

Can you please ask to get the fix in 1821363 backported into firefox-112 branch? I can't do that with my limited bugzilla rights.

what about asking for the backport of both fixes, as they probably are all needed in that situation? I'll ask that once you confirm the patch for this bug is correct on you setup.

Attached file build.log.gz

sadly its still broken, seemingly in the same way:

9:25.05 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:59:31: error: 'xsimd::batch<float, xsimd::neon> vgain' has incomplete type
9:25.05 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:61:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.05 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:63:70: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.06 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:64:58: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.06 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:65:58: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.06 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:83:31: error: 'xsimd::batch<float, xsimd::neon> vgain' has incomplete type
9:25.07 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:87:42: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.07 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:88:57: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.07 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:208:60: error: incomplete type 'xsimd::batch<std::complex<float>, xsimd::neon>' used in nested name specifier
9:25.07 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:209:71: error: incomplete type 'xsimd::batch<std::complex<float>, xsimd::neon>' used in nested name specifier
9:25.08 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:211:71: error: incomplete type 'xsimd::batch<std::complex<float>, xsimd::neon>' used in nested name specifier
9:25.08 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:107:42: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.09 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:108:61: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.09 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:109:57: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.09 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:119:31: error: 'xsimd::batch<float, xsimd::neon> vgain' has incomplete type
9:25.09 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:121:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.10 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:123:70: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.10 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:124:57: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.10 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:136:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.10 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:138:70: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.11 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:139:57: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.11 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:140:59: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.11 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:162:31: error: 'xsimd::batch<float, xsimd::neon> vgainl' has incomplete type
9:25.11 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:163:31: error: 'xsimd::batch<float, xsimd::neon> vgainr' has incomplete type
9:25.12 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:168:44: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.12 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:169:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.12 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:170:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.12 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:183:44: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.13 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:184:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.13 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:185:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.13 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:309:42: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.13 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:311:55: error: incomplete type 'xsimd::batch_bool<float, xsimd::neon>' used in nested name specifier
9:25.14 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:313:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.14 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:314:60: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.14 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:315:59: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.14 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:316:59: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.14 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:235:31: error: elements of array 'xsimd::batch<float, xsimd::neon> accs [4]' have incomplete type
9:25.14 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:235:31: error: storage size of 'accs' isn't known
9:25.15 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:238:64: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.15 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:241:58: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.16 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:244:58: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.16 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:245:52: error: incomplete type 'xsimd::batch<float, xsimd::neon>' used in nested name specifier
9:25.16 /var/tmp/portage/www-client/firefox-113.0/work/firefox-113.0/dom/media/webaudio/AudioNodeEngineGeneric.h:250:22: error: 'reduce_add' was not declared in this scope

maybe there is a fix added to xsimd, which hasn't yet made it into the interal copy firefox uses?

yes, it's fine to round up all the fixes.

OK, looks like gcc tries to instantiate the template even if we have an explicit instantiation. Rude. New version of the patch submitted!

So I can report success with the updated patch: compile with gcc, both with and without -mfpu=neon, works now. Clang is also happy with it.

Pushed by sguelton@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/baf810b7c104
Forward declare arch-specific xsimd specialization r=padenot
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 113 Branch

Can you get this uplifted to beta?

Flags: needinfo?(sguelton)

Done alongside 1821363

Flags: needinfo?(sguelton)

Comment on attachment 9323629 [details]
Bug 1822901 - Forward declare arch-specific xsimd specialization r=padenot

Beta/Release Uplift Approval Request

  • User impact if declined: Fail to build on ubuntu/arm
  • Is this code covered by automated tests?: Unknown
  • Has the fix been verified in Nightly?: Yes
  • Needs manual test from QE?: No
  • If yes, steps to reproduce:
  • List of other uplifts needed: Bug 1821363
  • Risk to taking this patch: Low
  • Why is the change risky/not risky? (and alternatives if risky): not risky because it's been tested by the ubuntu maintainer
    risky because it's my first time uplifting a bug :-)
  • String changes made/needed:
  • Is Android affected?: Unknown
Attachment #9323629 - Flags: approval-mozilla-beta?

Comment on attachment 9323629 [details]
Bug 1822901 - Forward declare arch-specific xsimd specialization r=padenot

Approved for 112.0b6

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

Attachment

General

Creator:
Created:
Updated:
Size: