# Tracktion Engine – aarch64 build failures (\_\_wfe, C++17 template errors)

**URL:** <https://forum.juce.com/t/tracktion-engine-aarch64-build-failures-wfe-c-17-template-errors/68812>\
**Category:** Tracktion Engine\
**Created:** [May 11, 2026, 7:20pm UTC](https://forum.juce.com/t/tracktion-engine-aarch64-build-failures-wfe-c-17-template-errors/68812 "2026-05-11T19:20:26Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![baramgb](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/baramgb/32/12822_2.png) [@baramgb](https://forum.juce.com/u/baramgb)\
**Post date:** [May 11, 2026, 7:20pm UTC](https://forum.juce.com/t/tracktion-engine-aarch64-build-failures-wfe-c-17-template-errors/68812/1 "2026-05-11T19:20:27Z")

</div>

I’m building a DAW project using Tracktion Engine (via JUCE) and running into build failures on Linux aarch64. Thought I’d share in case others hit the same walls — and maybe there’s a cleaner solution than patching upstream. **Environment:** Raspberry Pi 5 (aarch64), GCC 12+, CMake. Also reproduced on Fedora Asahi (aarch64, Clang 20). Issue 1: ` __wfe` not declared A file in Tracktion Engine uses `__ wfe()` which isn’t available outside ARM-specific intrinsics headers. My workaround:

```auto
copy

```

`asm volatile("wfe" ::: "memory");`

This works but feels like a hack. Is there a proper cross-platform way to handle this?

Issue 2: C++17 / template errors in Tracktion Engine

Further into the build (~90%+), multiple Tracktion files fail:

• `tracktion_Bezier.h`  
• `tracktion_LevelMeasurer.h`  
• `tracktion_Tempo.h`  
• `tracktion_WaveNode.cpp`

GCC notes `std::pair parameter passing changed in C++17 (GCC 10.1)`. Final result: build fails with `Error 2`.

Context

This happens on both Raspberry Pi OS (aarch64, GCC 12) and Fedora Asahi (aarch64, Clang 20). x86\_64 builds work fine.

Has anyone here built Tracktion Engine on aarch64 successfully? Any patches or CMake flags that helped?

Thanks,  
Steffen

---

<div class="post-metadata">

**Author:** ![ToxVox](https://avatars.discourse-cdn.com/v4/letter/t/76d3ee/32.png) [@ToxVox](https://forum.juce.com/u/ToxVox)\
**Post date:** [May 11, 2026, 8:24pm UTC](https://forum.juce.com/t/tracktion-engine-aarch64-build-failures-wfe-c-17-template-errors/68812/2 "2026-05-11T20:24:45Z")

</div>

I had same issues on the Raspberry Pi 5 and use the same workaround:

```cpp
//__wfe();

#if defined( __aarch64__ ) || defined( __arm__ )
    asm volatile("wfe" ::: "memory");
#endif

```
