niraj pandey
niraj pandey

Reputation: 72

Issue to build qt Webengine submodule on arm platform

I am facing issue while build qt-6.2.9 on ARM platform. Getting below error. Any idea how to fix this

{standard input}:2829: Error: selected processor does not support `xpaclri'
[325/15536] ACTION //components/resources:about_credits(qt-everywhere-src-6.2.9/build2/qtwebengine/src/core/target_toolchain:target)
ninja: build stopped: subcommand failed.

Here are the details:

gcc:  10.3.0
OS:  RHEL8.10
Architecuture:  aarch64
Kernel Version:  4.18.0-553.16.1.el8_10
Processor Model:  Neoverse-N1

If I pass -skip qtwebengine with configure command it's working fine

Thanks

I set below env, but no luck

export CFLAGS="-march=armv8.2-a -mbranch-protection=none"
export CXXFLAGS="-march=armv8.2-a -mbranch-protection=none"

Upvotes: 2

Views: 143

Answers (1)

Jens
Jens

Reputation: 6329

XPACLRI is not part of the armv8.2, it is first included in armv8.3.

So one should expect that gcc does not emit XPACLRI. But there is a bug in gcc in versions up to at least v10.3.0 where gcc incorrectly orders .fpu and .arch_extension directives leading to this issue.

You might want to examine the complete compiler call information from the build output to diagnose this issue and you might also try to play around with the architecture options, try for example export CXXFLAGS="-march=native -mcpu=native"

You might also just go back in time and take a compiler that was compiled before mid of 2020 (around this time, XPACLRI came into use). Note though, that the code which introduces the problems was backported to gcc7, 8 and 9 so you need to go back to some gcc 9 from early 2020 (not a later patch). Also gcc 10.5 should have this fixed if I read the gcc backlogs correctly. Note though that binutils and libgcc might also need updates.

I don't have a ARMv8.2 at hand to verify any recommendation though.

As one can see here Qt developers are aware of this issue and their documentation indicates, that a solution might still take some time:

Note: For Linux on Arm on desktops, we use Raspberry Pi 5 with 8GB RAM and Ubuntu 24.04 as a reference platform. If you have an issue with another hardware, please try to reproduce the issue on Raspberry Pi 5. We plan to move to regular platform support when a wider range of ARM-based desktop hardware becomes available.

Upvotes: 0

Related Questions