Skip to content

Build on Metal M4 fails with "error: declarative nested name specifier cannot name an alias template" #8683

Description

@hughperkins

Describe the bug

When I follow the instructions in https://docs.taichi-lang.org/docs/dev_install, to build on a Macbook Air M4, the step python3 setup.py develop step fails, with "error: declarative nested name specifier cannot name an alias template"

To Reproduce

When I follow the instructions in https://docs.taichi-lang.org/docs/dev_install, to build on a Macbook Air M4, the step python3 setup.py develop step fails, with "error: declarative nested name specifier cannot name an alias template"

FAILED: taichi/util/CMakeFiles/taichi_util.dir/image_buffer.cpp.o
/Users/hugh/.cache/ti-build-cache/sccache-v041/bin/sccache /usr/bin/clang++  -I/Users/hugh/.cache/ti-build-cache/mambaforge/envs/3.10/lib/python3.10/site-packages/numpy/_core/include -I/Users/hugh/git/taichi -I/Users/hugh/git/taichi/external/include -I/Users/hugh/git/taichi/external/eigen -I/Users/hugh/.cache/ti-build-cache/llvm15-m1-nozstd/include -I/Users/hugh/git/taichi/external/spdlog/include -ffunction-sections -fdata-sections -DTI_ISE_NONE -std=c++17 -fsized-deallocatio
n -Wno-deprecated-declarations -Wno-shorten-64-to-32 -Wall  -Werror  -Wno-ignored-attributes  -Wno-nullability-completeness  -Wno-unused-private-field  -Wno-unneeded-internal-declaration  -Wno-unqualified-std-cast-call  -Wno-unused-but-set-variable  -DTI_ARCH_ARM -DTI_PASS_EXCEPTION_TO_PYTHON -DTI_INCLUDED -fno-objc-arc -DTI_WITH_LLVM -DTI_WITH_METAL -O3 -DNDEBUG -std=gnu++17 -arch arm64 -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX15.4.sdk -mmacosx-version-min=15
.0 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden   -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -MD -MT taichi/util/CM


akeFiles/taichi_util.dir/image_buffer.cpp.o -MF taichi/util/CMakeFiles/taichi_util.dir/image_buffer.cpp.o.d -o taichi/util/CMakeFiles/taichi_util.dir/image_buffer.cpp.o -c /Users/hugh/git/taichi/taichi/util/image_buffer.cpp
/Users/hugh/git/taichi/taichi/util/image_buffer.cpp:21:18: error: a declarative nested name specifier cannot name an alias template [-Werror,-Walias-template-in

-declaration-name]
   21 | void Array2D<T>::load_image(const std::string &filename, bool linearize) {
      |      ~~~~~~~~~~~~^
/Users/hugh/git/taichi/taichi/util/image_buffer.cpp:60:18: error: a declarative nested name specifier cannot name an alias template [-Werror,-Walias-template-in-declaration-name]
   60 | void Array2D<T>::write_as_image(const std::string &filename) {
      |      ~~~~~~~~~~~~^
/Users/hugh/git/taichi/taichi/util/image_buffer.cpp:100:18: error: a declarative nested name specifier cannot name an alias template [-Werror,-Walias-template-in-declaration-name]
  100 | void Array2D<T>::write_text(const std::string &font_fn,
      |      ~~~~~~~~~~~~^
3 errors generated.

Log/Screenshots
Please post the full log of the program (instead of just a few lines around the error message, unless the log is > 1000 lines). This will help us diagnose what's happening. For example:

https://gist.github.com/hughperkins/b3995a355b8a314e94e337382301cc4d

Additional comments
If possible, please also consider attaching the output of command ti diagnose. This produces the detailed environment information and hopefully helps us diagnose faster.

https://gist.github.com/hughperkins/42607eb9b50eac1d947a1bc636d5e8c9

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status
    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions