It was a build issue limited to g++. It reproduced in the dependent builds, but not in the system builds, because it was header-based and not covered in system unit tests. The issue is well described by the error messages in the build output. It's not clear why g++ requires a public member for use as a default parameter value while other compilers do not. It has been resolved in the latest builds. I suspect it compiled on the laptop because it used clang++.