Skip to content

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

Closed
@hughperkins

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

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions