Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tpetra Mac build issue in Nalu nightly #12773

Closed
spdomin opened this issue Feb 24, 2024 · 13 comments
Closed

Tpetra Mac build issue in Nalu nightly #12773

spdomin opened this issue Feb 24, 2024 · 13 comments
Assignees
Labels
pkg: Tpetra type: bug The primary issue is a bug in Trilinos code or tests

Comments

@spdomin
Copy link
Contributor

spdomin commented Feb 24, 2024

Greetings,

A new build error on our Mac platform popped up in Tpetra. Any ideas?

First Bad: Trilinos/develop SHA1: 8acbba29af4a3dce8cb69dbc71c611f2478f9739

[ 60%] Building CXX object packages/tpetra/core/src/CMakeFiles/tpetra.dir/Tpetra_Details_FixedHashTable_OpenMP.cpp.o
/Users/naluIt/gitHubWork/nightlyBuildAndTest/Trilinos/packages/tpetra/core/src/Tpetra_Details_Behavior.cpp:148:1: error: implicit instantiation of undefined template
      'std::__1::array<std::__1::basic_string_view<char, std::__1::char_traits<char> >, 23>'
make_array(Elems &&... elems) {
^
/Users/naluIt/gitHubWork/nightlyBuildAndTest/Trilinos/packages/tpetra/core/src/Tpetra_Details_Behavior.cpp:152:40: note: in instantiation of function template specialization
      'Tpetra::Details::BehaviorDetails::make_array<const std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const std::__1::basic_string_view<char,
      std::__1::char_traits<char> > &, const std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const std::__1::basic_string_view<char, std::__1::char_traits<char> >
      &, const std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const
      std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const
      std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const
      std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const
      std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const
      std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const
      std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const
      std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const
      std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const std::__1::basic_string_view<char, std::__1::char_traits<char> > &, const
      std::__1::basic_string_view<char, std::__1::char_traits<char> > &>' requested here
constexpr const auto RECOGNIZED_VARS = make_array(
                                       ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
/Users/naluIt/gitHubWork/nightlyBuildAndTest/Trilinos/packages/tpetra/core/src/Tpetra_Details_Behavior.cpp:149:10: error: implicit instantiation of undefined template
      'std::__1::array<std::__1::basic_string_view<char, std::__1::char_traits<char> >, 23>'
  return {std::forward<Elems>(elems)...};
         ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;
                                                               ^
/Users/naluIt/gitHubWork/nightlyBuildAndTest/Trilinos/packages/tpetra/core/src/Tpetra_Details_Behavior.cpp:152:40: error: implicit instantiation of undefined template
      'std::__1::array<std::__1::basic_string_view<char, std::__1::char_traits<char> >, 23>'
constexpr const auto RECOGNIZED_VARS = make_array(
                                       ^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/__tuple:219:64: note: template is declared here
template <class _Tp, size_t _Size> struct _LIBCPP_TEMPLATE_VIS array;

@spdomin spdomin added the type: bug The primary issue is a bug in Trilinos code or tests label Feb 24, 2024
@cgcgcg
Copy link
Contributor

cgcgcg commented Feb 24, 2024

@spdomin This might be related to #12722. I can't seem to get anything useful for that SHA you posted.

@cwpearson ?

@csiefer2
Copy link
Member

Yeah, that's totally @cwpearson's fancy C++.

@spdomin
Copy link
Contributor Author

spdomin commented Feb 26, 2024

Fancy == standard? Do I need a compiler update on the Mac side? I thought that the version I am using was acceptable by the eyes of Trilinos (c++ 17 compliant).

@spdomin
Copy link
Contributor Author

spdomin commented Feb 26, 2024

Oh, and where are the standard Mac build/tests results for the Trilinos project? I can see how the Mac installations might be different.

@spdomin
Copy link
Contributor Author

spdomin commented Feb 29, 2024

@cwpearson , @csiefer2 : do we have a path forward here? Mac remains broken despite being "compliant".

Can we process a revert? @jwillenbring

@csiefer2
Copy link
Member

csiefer2 commented Feb 29, 2024

@spdomin Mac doesn't get tested as part of the PR process, as you can see here. Thus, it doesn't surprise me that it breaks sometimes. If there's sufficient demand for Mac PR testing we can talk to @sebrowne about the possibility of doing that.

I'll track down @cwpearson and see if he can reproduce the error. Not having access to a Mac myself, I can't.

@sebrowne
Copy link
Contributor

Out of curiosity, what C++ compiler are you using @spdomin ?

@spdomin
Copy link
Contributor Author

spdomin commented Feb 29, 2024

I thought that Sierra tests on Mac?

Otherwise, I am using Clang 11 - which I thought was a c++ 20 compliant compiler. What version should I be using on the Mac? I am happy to bump up the version and re-test.

@cwpearson cwpearson self-assigned this Feb 29, 2024
@alanw0
Copy link
Contributor

alanw0 commented Feb 29, 2024

I thought that Sierra tests on Mac?

As far as I can tell from a quick scan of the sierra dashboard, sierra doesn't test on mac. We do have some clang-14 builds.

@cwpearson
Copy link
Contributor

I can't reproduce this on my mac by building the Tpetra tests, which should exercise this code.

mkdir -p "$TRILINOS_SRC"/build
cd "$TRILINOS_SRC"/build
cmake "$TRILINOS_SRC" \                       
-DTPL_ENABLE_MPI=ON \
-DTrilinos_ENABLE_Tpetra=ON \
-DTrilinos_ENABLE_Fortran=OFF \
-DTpetra_ENABLE_TESTS=ON

But, we probably just need #include <array> at the top of Tpetra_Details_Behavior.cpp. @spdomin can you try that and report back?

@cwpearson
Copy link
Contributor

In the mean time we need that anyway, so I will make a PR for that.

@spdomin
Copy link
Contributor Author

spdomin commented Feb 29, 2024

@cwpearson - thank you as this resolved the build error. I launched a nightly test suite. One that is complete, I can close this ticket.

Best,

@spdomin
Copy link
Contributor Author

spdomin commented Feb 29, 2024

Looks clean - thanks for the fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pkg: Tpetra type: bug The primary issue is a bug in Trilinos code or tests
Projects
Status: Done
Development

No branches or pull requests

6 participants