Skip to content

Conversation

vldevel
Copy link

@vldevel vldevel commented Oct 8, 2025

These changes to run.py allow to build an arm64 WebRTC SDK package on a x86_64 build host under Linux.

…osts

These changes to run.py allow to build an arm64 WebRTC SDK package on a x86_64
build host under Linux.
This commit fixes the following issue seen on Linux arm64 viewer builds at
runtime:
"undefined symbol __arm_tpidr2_save"
This error is due to unconditional intrinsics optimizations enabling by the
build system in third party libraries for Linux arm64, without regard for the
target system NEON version. Here, the error comes from an optimisation of
libyuv; thankfully, we can force-disable it with:
'libyuv_use_sme=false'.

The commmit also adds (untested) cross-compiling support for the
'raspberry-pi-os_armv8' target.

Finally, this commit reimplements (and re-enables) the check_target()
function in run.py so that it works without ostracizing the build hosts,
i.e. not forcing specific Ubuntu distro and version, since we are using a
virtual build environment and therefore do not care about the host Linux
distro.
Note however that I did not allow ARM v6/7 and android targets in check_target
since those would require further modifications to run.py (see my comment in
check_target); but do we care at all about them for SL viewers ?
@vldevel
Copy link
Author

vldevel commented Oct 8, 2025

With these changes implemented, I could cross-compile an ARM64 version of WebRTC SDK m137 (1) and natively compile a working Linux ARM64 viewer (2) using that SDK build.

(1) Available here
(2) The upcoming Cool VL Viewer v1.32.4.7 will be using m137 (instead of m114 so far) for its Linux aarch64 build.

@roxanneskelly
Copy link
Collaborator

Am looking at this. Need to straighten out the main 'secondlife' branch first, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants