Hello
I am trying to build on macOS (Ventura 13.4 / M2 Max). I followed the instructions on the DevSetup page.
When I run the build command it fails with this error message:
[1/141] CXX obj/translator/SymbolEnv.o
FAILED: obj/translator/SymbolEnv.o
../../third_party/llvm-build/Release+Asserts/bin/clang++ -MMD -MF obj/translator/SymbolEnv.o.d -DANGLE_ENABLE_METAL -DANGLE_ENABLE_METAL_SPIRV -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DCR_XCODE_VERSION=1431 -DCR_CLANG_REVISION=\"llvmorg-17-init-16420-g0c545a44-2\" -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -DCR_LIBCXX_REVISION=84fb809dd6dae36d556dc0bb702c6cc2ce9d4b80 -D_DEBUG -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DANGLE_VMA_VERSION=2003000 -DANGLE_ENABLE_SHARE_CONTEXT_LOCK=1 -DANGLE_HAS_ASTCENC -DANGLE_DEBUG_LAYERS_ENABLED -DANGLE_OUTSIDE_WEBKIT -DANGLE_USE_ABSEIL -DABSL_ALLOCATOR_NOTHROW=1 -I../../buildtools/third_party/libc++ -I../../include -I../../src -I../../src/common/base -I../../src/common/third_party/xxhash -I../../third_party/abseil-cpp -I../../third_party/vulkan-deps/spirv-headers/src/include -I../../third_party/vulkan-deps/spirv-tools/src/include -Wall -Werror -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wthread-safety -Wunguarded-availability -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-bitfield-constant-conversion -Wno-deprecated-this-capture -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing -fstack-protector-strong -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -fcomplete-member-pointers -arch arm64 -fno-global-isel -mno-outline -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -ffile-compilation-dir=. -no-canonical-prefixes -ftrivial-auto-var-init=pattern -O0 -fno-omit-frame-pointer -g2 -gdwarf-aranges -Xclang -debug-info-kind=limited -isysroot ../../../../../../../../Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -mmacos-version-min=10.15 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -Wglobal-constructors -Wbad-function-cast -Wconditional-uninitialized -Wextra-semi-stmt -Wfloat-conversion -Winconsistent-missing-destructor-override -Wmissing-field-initializers -Wnewline-eof -Wnon-virtual-dtor -Wredundant-parens -Wreturn-std-move -Wshadow -Wshadow-field -Wtautological-type-limit-compare -Wundefined-reinterpret-cast -Wunneeded-internal-declaration -Wunused-but-set-variable -Wsuggest-destructor-override -Wsuggest-override -Wparentheses -Wrange-loop-analysis -Wstrict-prototypes -Wunreachable-code-aggressive -Wshorten-64-to-32 -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=c++20 -Wno-trigraphs -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include -fvisibility-inlines-hidden -c ../../src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp -o obj/translator/SymbolEnv.o
In file included from ../../src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp:11:
In file included from ../../src/compiler/translator/TranslatorMetalDirect/AstHelpers.h:16:
In file included from ../../src/compiler/translator/TranslatorMetalDirect/SymbolEnv.h:14:
../../src/compiler/translator/TranslatorMetalDirect/Reference.h:39:41: error: no viable conversion from returned value of type 'const sh::TType' to function return type 'const sh::TType *'
39 | operator T const *() const { return *mPtr; }
| ^~~~~
../../buildtools/third_party/libc++/trunk/include/__compare/synth_three_way.h:40:12: note: in instantiation of member function 'sh::Ref<const sh::TType>::operator const sh::TType *' requested here
40 | return __t <=> __u;
| ^
../../buildtools/third_party/libc++/trunk/include/__tree:1986:17: note: in instantiation of member function 'std::__map_value_compare<std::vector<sh::Ref<const sh::TType>>, std::__value_type<std::vector<sh::Ref<const sh::TType>>, sh::TFunction *>, std::less<std::vector<sh::Ref<const sh::TType>>>>::operator()' requested here
1986 | if (value_comp()(__v, __nd->__value_))
| ^
../../buildtools/third_party/libc++/trunk/include/__tree:2102:36: note: in instantiation of function template specialization 'std::__tree<std::__value_type<std::vector<sh::Ref<const sh::TType>>, sh::TFunction *>, std::__map_value_compare<std::vector<sh::Ref<const sh::TType>>, std::__value_type<std::vector<sh::Ref<const sh::TType>>, sh::TFunction *>, std::less<std::vector<sh::Ref<const sh::TType>>>>, std::allocator<std::__value_type<std::vector<sh::Ref<const sh::TType>>, sh::TFunction *>>>::__find_equal<std::vector<sh::Ref<const sh::TType>>>' requested here
2102 | __node_base_pointer& __child = __find_equal(__parent, __k);
| ^
../../buildtools/third_party/libc++/trunk/include/map:1611:20: note: in instantiation of function template specialization 'std::__tree<std::__value_type<std::vector<sh::Ref<const sh::TType>>, sh::TFunction *>, std::__map_value_compare<std::vector<sh::Ref<const sh::TType>>, std::__value_type<std::vector<sh::Ref<const sh::TType>>, sh::TFunction *>, std::less<std::vector<sh::Ref<const sh::TType>>>>, std::allocator<std::__value_type<std::vector<sh::Ref<const sh::TType>>, sh::TFunction *>>>::__emplace_unique_key_args<std::vector<sh::Ref<const sh::TType>>, const std::piecewise_construct_t &, std::tuple<const std::vector<sh::Ref<const sh::TType>> &>, std::tuple<>>' requested here
1611 | return __tree_.__emplace_unique_key_args(__k,
| ^
../../src/compiler/translator/TranslatorMetalDirect/SymbolEnv.cpp:312:37: note: in instantiation of member function 'std::map<std::vector<sh::Ref<const sh::TType>>, sh::TFunction *>::operator[]' requested here
312 | TFunction *&func = sigToFunc[mReusableSigBuffer];
| ^
1 error generated.
I am not too sure what to do about it... Any idea what is going on?
Thank you
Yan