← All tasks
cppabseil/abseil-cpp #640Not a task: not reproduced

undefined reference errors (absl::strings_internal::CatPieces and absl::ByChar::Find)

envgap__abseil__abseil-cpp-640

Original GitHub issue ↗Opened 2020-03-13

01 / FAILURE SIGNATURE

As reported upstream

Thanks for the great project! We are using it in [OpenSpiel](https://github.com/deepmind/open_spiel/) and this week, we encountered a few undefined reference errors (building via CMake both using clang++ and g++) cause by a commit between today and Monday March 8th, so we've had to fix our dependency to a March 6th commit.
Not a benchmark task.
  • No curated issue-specific recipe or verified environment fix is available.

02 / ENVIRONMENT RECIPE

Base commit
Not freshly verified
Manifest
CMakeLists.txt
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

abseil/abseil-cpp #640 · read the original issue
Hi all, 



Thanks for the great project! We are using it in [OpenSpiel](https://github.com/deepmind/open_spiel/) and this week, we encountered a few undefined reference errors (building via CMake both using clang++ and g++) cause by a commit between today and Monday March 8th, so we've had to fix our dependency to a March 6th commit.



Maybe we have to link to a new target, or we're using `StrCat` in a way that is no longer supported?



Here's the full error if it helps:



```

[ 43%] Building CXX object games/CMakeFiles/bridge_double_dummy_solver.dir/bridge/double_dummy_solver/src/File.cpp.o

/usr/bin/ld: ../CMakeFiles/open_spiel_core.dir/spiel.cc.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > absl::StrCat<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, char [7], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(absl::AlphaNum const&, absl::AlphaNum const&, absl::AlphaNum const&, absl::AlphaNum const&, absl::AlphaNum const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, char const (&) [7], std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':

spiel.cc:(.text._ZN4absl6StrCatIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA7_cS6_EEES6_RKNS_8AlphaNumESA_SA_SA_SA_DpRKT_[_ZN4absl6StrCatIJNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEA7_cS6_EEES6_RKNS_8AlphaNumESA_SA_SA_SA_DpRKT_]+0x151): undefined reference to `absl::strings_internal::CatPieces[abi:cxx11](std::initializer_list<std::basic_string_view<char, std::char_traits<char> > >)'

/usr/bin/ld: ../CMakeFiles/open_spiel_core.dir/spiel.cc.o: in function `std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > absl::StrCat<char [2]>(absl::AlphaNum const&, absl::AlphaNum const&, absl::AlphaNum const&, absl::AlphaNum const&, absl::AlphaNum const&, char const (&) [2])':

spiel.cc:(.text._ZN4absl6StrCatIJA2_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_8AlphaNumESA_SA_SA_SA_DpRKT_[_ZN4absl6StrCatIJA2_cEEENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_8AlphaNumESA_SA_SA_SA_DpRKT_]+0xe3): undefined reference to `absl::strings_internal::CatPieces[abi:cxx11](std::initializer_list<std::basic_string_view<char, std::char_traits<char> > >)'

/usr/bin/ld: ../CMakeFiles/open_spiel_core.dir/spiel.cc.o: in function `absl::strings_internal::SplitIterator<absl::strings_internal::Splitter<absl::ByChar, absl::AllowEmpty> >::operator++()':

spiel.cc:(.text._ZN4absl16strings_internal13SplitIteratorINS0_8SplitterINS_6ByCharENS_10AllowEmptyEEEEppEv[_ZN4absl16strings_internal13SplitIteratorINS0_8SplitterINS_6ByCharENS_10AllowEmptyEEEEppEv]+0x79): undefined reference to `absl::ByChar::Find(std::basic_string_view<char, std::char_traits<char> >, unsigned long) const'

[ 44%] Building CXX object games/CMakeFiles/games.dir/blotto.cc.o

clang: error: linker command failed with 
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

underspecification
Label rules and the text that matched
[
  {
    "category": "underspecification",
    "rule": "signature.missing_system_requirement",
    "source": "failure_signature",
    "excerpt": "Thanks for the great project! We are using it in [OpenSpiel](https://github.com/deepmind/open_spiel/) and this week, we encountered a few undefined reference errors (building via CMake both using clang++ and g++) cause by a commit between today and Monday March 8th, so we've had to fix our dependency to a March 6th commit."
  }
]

Issue-specific recipe and runtime smoke command require review against the complete issue and repository.

Legacy reproduction is generic install-only; match the actual issue failure before admission.