starkware-libs / crypto-cpp

Apache License 2.0
31 stars 32 forks source link

Not compilable for arm64 devices #9

Closed Arcticae closed 2 years ago

Arcticae commented 2 years ago

I tried cross compiling this library for Apple Silicon macs but it fails, probably due to incopatibility of gtest with this arch, here's the stacktrace:

-- The CXX compiler identification is AppleClang 12.0.0.1[200](https://github.com/software-mansion/starknet.py/runs/5290265396?check_suite_focus=true#step:9:200)0032
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/clang++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- The C compiler identification is AppleClang 12.0.0.12000032
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /Applications/Xcode_12.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Found Python: /Users/runner/hostedtoolcache/Python/3.10.2/x64/bin/python3.10 (found version "3.10.2") found components: Interpreter 
  -- Looking for pthread.h
  -- Looking for pthread.h - found
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
  -- Found Threads: TRUE  
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /Users/runner/work/starknet.py/starknet.py/crypto-cpp/build/Release
  [  2%] Building CXX object _deps/googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
  [  4%] Linking CXX static library ../../../lib/libgtest.a
  [  4%] Built target gtest
  [  7%] Building CXX object _deps/googletest-build/googlemock/CMakeFiles/gmock.dir/src/gmock-all.cc.o
  [  9%] Linking CXX static library ../../../lib/libgmock.a
  [  9%] Built target gmock
  [ 12%] Building CXX object _deps/googletest-build/googlemock/CMakeFiles/gmock_main.dir/src/gmock_main.cc.o
  [ 14%] Linking CXX static library ../../../lib/libgmock_main.a
  [ 14%] Built target gmock_main
  [ 17%] Building CXX object _deps/googletest-build/googletest/CMakeFiles/gtest_main.dir/src/gtest_main.cc.o
  [ 19%] Linking CXX static library ../../../lib/libgtest_main.a
  [ 19%] Built target gtest_main
  [ 21%] Building CXX object src/starkware/algebra/CMakeFiles/algebra.dir/prime_field_element.cc.o
  [ 24%] Linking CXX static library libalgebra.a
  [ 24%] Built target algebra
  [ 26%] Building CXX object src/starkware/algebra/CMakeFiles/big_int_test.dir/big_int_test.cc.o
  [ 29%] Linking CXX executable big_int_test
  ld: warning: ignoring file ../../../lib/libgtest.a, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
  ld: warning: ignoring file ../../../lib/libgtest_main.a, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
  ld: warning: ignoring file ../../../lib/libgmock.a, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
  Undefined symbols for architecture arm64:
    "testing::AssertionResult::AssertionResult(testing::AssertionResult const&)", referenced from:
        testing::AssertionResult testing::internal::CmpHelperOpFailure<starkware::BigInt<2ul>, starkware::BigInt<2ul> >(char const*, char const*, starkware::BigInt<2ul> const&, starkware::BigInt<2ul> const&, char const*) in big_int_test.cc.o
        testing::AssertionResult testing::internal::PredicateFormatterFromMatcher<testing::PolymorphicMatcher<testing::internal::HasSubstrMatcher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in big_int_test.cc.o
    "testing::AssertionFailure()", referenced from:
        testing::AssertionResult testing::internal::CmpHelperOpFailure<starkware::BigInt<2ul>, starkware::BigInt<2ul> >(char const*, char const*, starkware::BigInt<2ul> const&, starkware::BigInt<2ul> const&, char const*) in big_int_test.cc.o
        testing::AssertionResult testing::internal::PredicateFormatterFromMatcher<testing::PolymorphicMatcher<testing::internal::HasSubstrMatcher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in big_int_test.cc.o
    "testing::AssertionSuccess()", referenced from:
        starkware::(anonymous namespace)::BigInt_Random_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_Div_Test::TestBody() in big_int_test.cc.o
        testing::AssertionResult testing::internal::PredicateFormatterFromMatcher<testing::PolymorphicMatcher<testing::internal::HasSubstrMatcher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_DivRandom_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_DivNoRemainder_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_NumLeadingZeros_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_MulMod_Test::TestBody() in big_int_test.cc.o
        ...
    "testing::Test::SetUp()", referenced from:
        vtable for starkware::(anonymous namespace)::BigInt_Random_Test in big_int_test.cc.o
        vtable for starkware::(anonymous namespace)::BigInt_Div_Test in big_int_test.cc.o
        vtable for starkware::(anonymous namespace)::BigInt_DivByZero_Test in big_int_test.cc.o
        vtable for starkware::(anonymous namespace)::BigInt_DivRandom_Test in big_int_test.cc.o
        vtable for starkware::(anonymous namespace)::BigInt_DivNoRemainder_Test in big_int_test.cc.o
        vtable for starkware::(anonymous namespace)::BigInt_NumLeadingZeros_Test in big_int_test.cc.o
        vtable for starkware::(anonymous namespace)::BigInt_Multiplication_Test in big_int_test.cc.o
        ...
    "testing::Test::TearDown()", referenced from:
        vtable for starkware::(anonymous namespace)::BigInt_Random_Test in big_int_test.cc.o
        vtable for starkware::(anonymous namespace)::BigInt_Div_Test in big_int_test.cc.o
        vtable for starkware::(anonymous namespace)::BigInt_DivByZero_Test in big_int_test.cc.o
        vtable for starkware::(anonymous namespace)::BigInt_DivRandom_Test in big_int_test.cc.o
        vtable for starkware::(anonymous namespace)::BigInt_DivNoRemainder_Test in big_int_test.cc.o
        vtable for starkware::(anonymous namespace)::BigInt_NumLeadingZeros_Test in big_int_test.cc.o
        vtable for starkware::(anonymous namespace)::BigInt_Multiplication_Test in big_int_test.cc.o
        ...
    "testing::Test::Test()", referenced from:
        testing::internal::TestFactoryImpl<starkware::(anonymous namespace)::BigInt_Random_Test>::CreateTest() in big_int_test.cc.o
        testing::internal::TestFactoryImpl<starkware::(anonymous namespace)::BigInt_Div_Test>::CreateTest() in big_int_test.cc.o
        testing::internal::TestFactoryImpl<starkware::(anonymous namespace)::BigInt_DivByZero_Test>::CreateTest() in big_int_test.cc.o
        testing::internal::TestFactoryImpl<starkware::(anonymous namespace)::BigInt_DivRandom_Test>::CreateTest() in big_int_test.cc.o
        testing::internal::TestFactoryImpl<starkware::(anonymous namespace)::BigInt_DivNoRemainder_Test>::CreateTest() in big_int_test.cc.o
        testing::internal::TestFactoryImpl<starkware::(anonymous namespace)::BigInt_NumLeadingZeros_Test>::CreateTest() in big_int_test.cc.o
        testing::internal::TestFactoryImpl<starkware::(anonymous namespace)::BigInt_Multiplication_Test>::CreateTest() in big_int_test.cc.o
        ...
    "testing::Test::~Test()", referenced from:
        starkware::(anonymous namespace)::BigInt_Random_Test::~BigInt_Random_Test() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_Random_Test::~BigInt_Random_Test() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_Div_Test::~BigInt_Div_Test() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_Div_Test::~BigInt_Div_Test() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_DivByZero_Test::~BigInt_DivByZero_Test() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_DivByZero_Test::~BigInt_DivByZero_Test() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_DivRandom_Test::~BigInt_DivRandom_Test() in big_int_test.cc.o
        ...
    "testing::Message::Message()", referenced from:
        starkware::(anonymous namespace)::BigInt_Random_Test::TestBody() in big_int_test.cc.o
        testing::AssertionResult testing::internal::CmpHelperOpFailure<starkware::BigInt<2ul>, starkware::BigInt<2ul> >(char const*, char const*, starkware::BigInt<2ul> const&, starkware::BigInt<2ul> const&, char const*) in big_int_test.cc.o
        testing::AssertionResult& testing::AssertionResult::operator<<<char [12]>(char const (&) [12]) in big_int_test.cc.o
        testing::AssertionResult& testing::AssertionResult::operator<<<char const*>(char const* const&) in big_int_test.cc.o
        testing::AssertionResult& testing::AssertionResult::operator<<<char [3]>(char const (&) [3]) in big_int_test.cc.o
        testing::AssertionResult& testing::AssertionResult::operator<<<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_Div_Test::TestBody() in big_int_test.cc.o
        ...
    "testing::internal::AlwaysTrue()", referenced from:
        starkware::(anonymous namespace)::BigInt_DivByZero_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_InvMod_Zero_Test::TestBody() in big_int_test.cc.o
    "testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)", referenced from:
        starkware::(anonymous namespace)::BigInt_Random_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_Div_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_DivByZero_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_DivRandom_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_DivNoRemainder_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_NumLeadingZeros_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_MulMod_Test::TestBody() in big_int_test.cc.o
        ...
    "testing::internal::AssertHelper::~AssertHelper()", referenced from:
        starkware::(anonymous namespace)::BigInt_Random_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_Div_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_DivByZero_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_DivRandom_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_DivNoRemainder_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_NumLeadingZeros_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_MulMod_Test::TestBody() in big_int_test.cc.o
        ...
    "testing::internal::GetTestTypeId()", referenced from:
        __GLOBAL__sub_I_big_int_test.cc in big_int_test.cc.o
    "testing::internal::PrintStringTo(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_ostream<char, std::__1::char_traits<char> >*)", referenced from:
        bool testing::internal::MatchPrintAndExplain<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, testing::Matcher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&> const&, testing::MatchResultListener*) in big_int_test.cc.o
        testing::PolymorphicMatcher<testing::internal::HasSubstrMatcher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::MonomorphicImpl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>::DescribeTo(std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in big_int_test.cc.o
        testing::PolymorphicMatcher<testing::internal::HasSubstrMatcher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > >::MonomorphicImpl<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>::DescribeNegationTo(std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in big_int_test.cc.o
    "testing::internal::MakeAndRegisterTestInfo(char const*, char const*, char const*, char const*, testing::internal::CodeLocation, void const*, void (*)(), void (*)(), testing::internal::TestFactoryBase*)", referenced from:
        __GLOBAL__sub_I_big_int_test.cc in big_int_test.cc.o
    "testing::internal::IsTrue(bool)", referenced from:
        testing::internal::SuiteApiResolver<testing::Test>::GetSetUpCaseOrSuite(char const*, int) in big_int_test.cc.o
        testing::internal::SuiteApiResolver<testing::Test>::GetTearDownCaseOrSuite(char const*, int) in big_int_test.cc.o
        testing::AssertionResult testing::internal::PredicateFormatterFromMatcher<testing::PolymorphicMatcher<testing::internal::HasSubstrMatcher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in big_int_test.cc.o
        testing::internal::MatcherBase<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>::DescribeTo(std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in big_int_test.cc.o
        bool testing::internal::MatchPrintAndExplain<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, testing::Matcher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&> const&, testing::MatchResultListener*) in big_int_test.cc.o
        testing::internal::MatcherBase<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>::DescribeNegationTo(std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in big_int_test.cc.o
    "testing::internal::GTestLog::GTestLog(testing::internal::GTestLogSeverity, char const*, int)", referenced from:
        testing::internal::SuiteApiResolver<testing::Test>::GetSetUpCaseOrSuite(char const*, int) in big_int_test.cc.o
        testing::internal::SuiteApiResolver<testing::Test>::GetTearDownCaseOrSuite(char const*, int) in big_int_test.cc.o
        testing::AssertionResult testing::internal::PredicateFormatterFromMatcher<testing::PolymorphicMatcher<testing::internal::HasSubstrMatcher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in big_int_test.cc.o
        testing::internal::MatcherBase<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>::DescribeTo(std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in big_int_test.cc.o
        bool testing::internal::MatchPrintAndExplain<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, testing::Matcher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&> const&, testing::MatchResultListener*) in big_int_test.cc.o
        testing::internal::MatcherBase<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>::DescribeNegationTo(std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in big_int_test.cc.o
    "testing::internal::GTestLog::~GTestLog()", referenced from:
        testing::internal::SuiteApiResolver<testing::Test>::GetSetUpCaseOrSuite(char const*, int) in big_int_test.cc.o
        testing::internal::SuiteApiResolver<testing::Test>::GetTearDownCaseOrSuite(char const*, int) in big_int_test.cc.o
        testing::AssertionResult testing::internal::PredicateFormatterFromMatcher<testing::PolymorphicMatcher<testing::internal::HasSubstrMatcher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) const in big_int_test.cc.o
        testing::internal::MatcherBase<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>::DescribeTo(std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in big_int_test.cc.o
        bool testing::internal::MatchPrintAndExplain<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, testing::Matcher<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&> const&, testing::MatchResultListener*) in big_int_test.cc.o
        testing::internal::MatcherBase<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&>::DescribeNegationTo(std::__1::basic_ostream<char, std::__1::char_traits<char> >*) const in big_int_test.cc.o
    "testing::internal::EqFailure(char const*, char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, bool)", referenced from:
        testing::AssertionResult testing::internal::CmpHelperEQFailure<std::__1::pair<starkware::BigInt<2ul>, starkware::BigInt<2ul> >, std::__1::pair<starkware::BigInt<2ul>, starkware::BigInt<2ul> > >(char const*, char const*, std::__1::pair<starkware::BigInt<2ul>, starkware::BigInt<2ul> > const&, std::__1::pair<starkware::BigInt<2ul>, starkware::BigInt<2ul> > const&) in big_int_test.cc.o
        testing::AssertionResult testing::internal::CmpHelperEQFailure<starkware::BigInt<4ul>, starkware::BigInt<4ul> >(char const*, char const*, starkware::BigInt<4ul> const&, starkware::BigInt<4ul> const&) in big_int_test.cc.o
        testing::AssertionResult testing::internal::CmpHelperEQFailure<starkware::BigInt<4ul>, starkware::BigInt<1ul> >(char const*, char const*, starkware::BigInt<4ul> const&, starkware::BigInt<1ul> const&) in big_int_test.cc.o
        testing::AssertionResult testing::internal::CmpHelperEQFailure<starkware::BigInt<2ul>, starkware::BigInt<1ul> >(char const*, char const*, starkware::BigInt<2ul> const&, starkware::BigInt<1ul> const&) in big_int_test.cc.o
    "testing::Message::GetString() const", referenced from:
        testing::AssertionResult testing::internal::CmpHelperOpFailure<starkware::BigInt<2ul>, starkware::BigInt<2ul> >(char const*, char const*, starkware::BigInt<2ul> const&, starkware::BigInt<2ul> const&, char const*) in big_int_test.cc.o
        testing::AssertionResult& testing::AssertionResult::operator<<<char [12]>(char const (&) [12]) in big_int_test.cc.o
        testing::AssertionResult& testing::AssertionResult::operator<<<char const*>(char const* const&) in big_int_test.cc.o
        testing::AssertionResult& testing::AssertionResult::operator<<<char [3]>(char const (&) [3]) in big_int_test.cc.o
        testing::AssertionResult& testing::AssertionResult::operator<<<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in big_int_test.cc.o
    "testing::internal::AssertHelper::operator=(testing::Message const&) const", referenced from:
        starkware::(anonymous namespace)::BigInt_Random_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_Div_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_DivByZero_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_DivRandom_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_DivNoRemainder_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_NumLeadingZeros_Test::TestBody() in big_int_test.cc.o
        starkware::(anonymous namespace)::BigInt_MulMod_Test::TestBody() in big_int_test.cc.o
        ...
    "typeinfo for testing::Test", referenced from:
        typeinfo for starkware::(anonymous namespace)::BigInt_Random_Test in big_int_test.cc.o
        typeinfo for starkware::(anonymous namespace)::BigInt_Div_Test in big_int_test.cc.o
        typeinfo for starkware::(anonymous namespace)::BigInt_DivByZero_Test in big_int_test.cc.o
        typeinfo for starkware::(anonymous namespace)::BigInt_DivRandom_Test in big_int_test.cc.o
        typeinfo for starkware::(anonymous namespace)::BigInt_DivNoRemainder_Test in big_int_test.cc.o
        typeinfo for starkware::(anonymous namespace)::BigInt_NumLeadingZeros_Test in big_int_test.cc.o
        typeinfo for starkware::(anonymous namespace)::BigInt_Multiplication_Test in big_int_test.cc.o
        ...
    "_main", referenced from:
       implicit entry/start for main executable
  ld: symbol(s) not found for architecture arm64
  clang: error: linker command failed with exit code 1 (use -v to see invocation)
  make[2]: *** [src/starkware/algebra/big_int_test] Error 1
  make[1]: *** [src/starkware/algebra/CMakeFiles/big_int_test.dir/all] Error 2
  make: *** [all] Error 2
Arcticae commented 2 years ago

Solution: Compile with clang++ for cross-compiling features and tag with a proper -target (both crypto-cpp and gtest builds)

Arcticae commented 2 years ago

Solution: Compile with clang++ for cross-compiling features and tag with a proper -target (both crypto-cpp and gtest builds)

(was compiling from x86 to arm64)