roc-toolkit
roc-toolkit copied to clipboard
Build failure on aarch64 with libunwind due to old C++ standard
Building roc-toolkit
on aarch64 with libunwind
triggers following error:
In file included from /usr/include/libunwind.h:7,
from src/modules/roc_core/target_libunwind/roc_core/backtrace.cpp:10:
/usr/include/libunwind-aarch64.h:198:17: error: expected identifier before numeric constant
198 | alignas(16) uint8_t __reserved[(66 * 8)];
| ^~
/usr/include/libunwind-aarch64.h:198:17: error: expected ',' or '...' before numeric constant
/usr/include/libunwind-aarch64.h:198:19: error: expected ';' at end of member declaration
198 | alignas(16) uint8_t __reserved[(66 * 8)];
| ^
| ;
That's because libunwind
on aarch64 uses alignas
available since C++11 while roc-toolkit
forces C++98:
https://github.com/roc-streaming/roc-toolkit/blob/c89687330bfce6f4dce79826f7a235b581f2b49d/SConstruct#L1074
Thanks for report! I've pushed a fix to develop
branch. For now I still would like to stay on std 98 so I implemented a workaround for libunwind instead of changing std.
The fix is now merged into master and 0.2.0