Cross S01 Libvpx -
Run file libvpx.so :
Remember:
ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked Perfect. cross s01 libvpx
Explicitly disable everything your target doesn't have.
export CC=aarch64-linux-gnu-gcc export CXX=aarch64-linux-gnu-g++ export AR=aarch64-linux-gnu-ar export AS=aarch64-linux-gnu-as Then reconfigure. The build system needs to see the cross-tools for assembly. After make and make install DESTDIR=./rootfs , copy the .so files to your S01. Run file libvpx
If you’ve ever tried to build video processing software for embedded Linux, you know the pain. You write beautiful code on your Ryzen workstation, only to watch the Raspberry Pi (or similar SBC) throttle its CPU to 600MHz halfway through a make -j4 .
Your S01 will then Segmentation Fault instantly because it has no idea what AVX2 is. The build system needs to see the cross-tools for assembly
sudo apt install gcc-aarch64-linux-gnu g++-aarch64-linux-gnu Pro tip: Don't use the generic arm-linux-gnueabihf for A53. Go 64-bit. The A53 loves 64-bit mode for NEON optimizations. libvpx has an incredibly smart build system (via configure ). It auto-detects CPU features. But when cross-compiling, auto-detection runs on your x86 CPU. It will see AVX2 and SSE4 and think, "Great, let's enable those!"
