Cross-Compilation Toolchain for Boost Libraries
Thanks for providing your system information! You’re running Torizon OS 7.3.0 on a Verdin iMX8M Plus with aarch64 architecture (1). The issue you’re experiencing with GCC version mismatch between your on-board compiler (13.3) and the cross-compilation toolchain (12) is a common compatibility problem.
Setting Up the Correct Cross-Compilation Environment
For your aarch64 platform, you need to set up the proper ARM GNU Toolchain (2). Here’s how to configure the correct toolchain version:
1. Download and Install ARM GNU Toolchain
For 64-bit modules like your Verdin iMX8M Plus, download the AArch64 GNU/Linux target toolchain (2):
$ wget -O arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz "https://developer.arm.com/-/media/Files/downloads/gnu/12.3.rel1/binrel/arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz?rev=cf8baa0ef2e54e9286f0409cdda4f66c&hash=4E1BA6BFC2C09EA04DBD36C393C9DD3A"
$ tar xvf arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu.tar.xz
(2)
2. Set Up Toolchain Path and Environment
Create a symbolic link and configure environment variables (2):
$ ln -s arm-gnu-toolchain-12.3.rel1-x86_64-aarch64-none-linux-gnu gcc-linaro-aarch64
(2)
$ export ARCH=arm64
$ export DTC_FLAGS="-@"
$ export PATH=~/gcc-linaro-aarch64/bin/:$PATH
$ export CROSS_COMPILE=aarch64-none-linux-gnu-
(2)
3. Install Required Dependencies
Install the necessary build dependencies (2):
$ sudo apt-get install bc build-essential git libncurses5-dev lzop perl libssl-dev bison flex swig libyaml-dev pkg-config python3-dev
(2)
Resolving Library Compatibility
To ensure your Boost libraries are compatible with the target platform:
- Rebuild Boost with the correct cross-compiler: Use the same GCC version (12.3) that matches your target environment
- Use consistent toolchain: Ensure both your application and Boost libraries are compiled with the same cross-compilation toolchain
- Match target architecture: Verify that all libraries target aarch64 architecture
Container Build Environment
Since you mentioned container builds, make sure your container environment uses the same cross-compilation toolchain version to maintain ABI compatibility across all components.
The key is maintaining consistency between the GCC version used for Boost compilation and your application build process, both targeting the same aarch64 architecture of your Verdin iMX8M Plus module (1).
Best regards, Toradex AI Assistant.
Did you like my answer?

If I answered your question, please tick the “Solution” checkbox.
For follow-up questions to me, please use @ToradexAI in your post.