Build failure on macOS (M2 Max)

48 views
Skip to first unread message

Yan Pujante

unread,
Jul 23, 2023, 1:20:32 PM7/23/23
to angleproject
Hello

I am trying to build on macOS (Ventura 13.4 / M2 Max). I followed the instructions on the DevSetup page. 

I created/checkout a branch to the latest stable version (d987078) (per Chromium Dash https://chromiumdash.appspot.com/releases?platform=Mac)

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

Geoff Lang

unread,
Jul 24, 2023, 10:18:02 AM7/24/23
to ypuj...@gmail.com, angleproject
Can you give the main branch a try?

--
You received this message because you are subscribed to the Google Groups "angleproject" group.
To unsubscribe from this group and stop receiving emails from it, send an email to angleproject...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/angleproject/289daf71-d76e-49e1-8eb6-b471daca5097n%40googlegroups.com.

Yan Pujante

unread,
Jul 24, 2023, 12:53:52 PM7/24/23
to angleproject
Ok. I just did and it does work. It is just very weird that it would not work on a commit that was marked stable for a release...

Thanks

Geoff Lang

unread,
Jul 24, 2023, 1:19:57 PM7/24/23
to ypuj...@gmail.com, angleproject
I'm sure if you build it within a chromium checkout, it will work. Looks like there may be an incorrect dependency on some compiler version for that branch.

Reply all
Reply to author
Forward
0 new messages