google-deepmind / google-deepmind/open_spiel

Cannot Compile with libtorch

Open
#966 6 comments 0 reactions 0 assignees View on GitHub
contribution welcome help wanted
Dominant language
C++
Stars
5.5k
Forks
1.2k
Avg merge
2d 8h
Merged PRs (30d)
4

Description

Hi, I met few problems when I try to compile with librtorch.
I can use this Open Spiel without libtorch correctly, but when I:
1. Turn on 'BUILD_WITH_LIBTORCH' and 'BUILD_WITH_LIBNOP'
2. run ./install.sh # download libtorch
3. run ./open_spiel/script/build_and_run_tests.sh
And I met these errors: [Full Version](https://github.com/mcc311/compiling_open_speil_with_libtorch/blob/main/compiling.log)
```
...
/usr/bin/ld: CMakeFiles/alpha_zero_torch_example.dir/alpha_zero_torch_example.cc.o: in function `main':
alpha_zero_torch_example.cc:(.text+0x8b0): undefined reference to `open_spiel::file::File::File(std::string const&, std::string const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text+0x8f1): undefined reference to `open_spiel::file::File::ReadContents()'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text+0xeb2): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text+0xf0d): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text+0xf1a): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_example.dir/alpha_zero_torch_example.cc.o: in function `void* absl::flags_internal::FlagOps(absl::flags_internal::FlagOp, void const*, void*, void*)':
alpha_zero_torch_example.cc:(.text._ZN4absl14flags_internal7FlagOpsISsEEPvNS0_6FlagOpEPKvS2_S2_[_ZN4absl14flags_internal7FlagOpsISsEEPvNS0_6FlagOpEPKvS2_S2_]+0x11f): undefined reference to `absl::flags_internal::AbslUnparseFlag(std::basic_string_view >)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN4absl14flags_internal7FlagOpsISsEEPvNS0_6FlagOpEPKvS2_S2_[_ZN4absl14flags_internal7FlagOpsISsEEPvNS0_6FlagOpEPKvS2_S2_]+0x1a1): undefined reference to `absl::flags_internal::AbslParseFlag(std::basic_string_view >, std::string*, std::string*)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_example.dir/alpha_zero_torch_example.cc.o: in function `void* absl::flags_internal::FlagOps(absl::flags_internal::FlagOp, void const*, void*, void*)':
alpha_zero_torch_example.cc:(.text._ZN4absl14flags_internal7FlagOpsIiEEPvNS0_6FlagOpEPKvS2_S2_[_ZN4absl14flags_internal7FlagOpsIiEEPvNS0_6FlagOpEPKvS2_S2_]+0x70): undefined reference to `absl::flags_internal::AbslParseFlag(std::basic_string_view >, int*, std::string*)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN4absl14flags_internal7FlagOpsIiEEPvNS0_6FlagOpEPKvS2_S2_[_ZN4absl14flags_internal7FlagOpsIiEEPvNS0_6FlagOpEPKvS2_S2_]+0x8e): undefined reference to `absl::flags_internal::Unparse(int)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_example.dir/alpha_zero_torch_example.cc.o: in function `void* absl::flags_internal::FlagOps(absl::flags_internal::FlagOp, void const*, void*, void*)':
alpha_zero_torch_example.cc:(.text._ZN4absl14flags_internal7FlagOpsIdEEPvNS0_6FlagOpEPKvS2_S2_[_ZN4absl14flags_internal7FlagOpsIdEEPvNS0_6FlagOpEPKvS2_S2_]+0x7b): undefined reference to `absl::flags_internal::AbslParseFlag(std::basic_string_view >, double*, std::string*)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN4absl14flags_internal7FlagOpsIdEEPvNS0_6FlagOpEPKvS2_S2_[_ZN4absl14flags_internal7FlagOpsIdEEPvNS0_6FlagOpEPKvS2_S2_]+0x9f): undefined reference to `absl::flags_internal::Unparse(double)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_example.dir/alpha_zero_torch_example.cc.o: in function `void* absl::flags_internal::FlagOps(absl::flags_internal::FlagOp, void const*, void*, void*)':
alpha_zero_torch_example.cc:(.text._ZN4absl14flags_internal7FlagOpsIbEEPvNS0_6FlagOpEPKvS2_S2_[_ZN4absl14flags_internal7FlagOpsIbEEPvNS0_6FlagOpEPKvS2_S2_]+0x73): undefined reference to `absl::flags_internal::AbslParseFlag(std::basic_string_view >, bool*, std::string*)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN4absl14flags_internal7FlagOpsIbEEPvNS0_6FlagOpEPKvS2_S2_[_ZN4absl14flags_internal7FlagOpsIbEEPvNS0_6FlagOpEPKvS2_S2_]+0x92): undefined reference to `absl::flags_internal::Unparse(bool)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_example.dir/alpha_zero_torch_example.cc.o: in function `open_spiel::algorithms::torch_az::AlphaZeroConfig::FromJson(std::map, std::allocator > > const&)':
alpha_zero_torch_example.cc:(.text._ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE[_ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE]+0x16ef): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE[_ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE]+0x16f9): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE[_ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE]+0x1737): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE[_ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE]+0x1741): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE[_ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE]+0x177f): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE[_ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE]+0x1789): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE[_ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE]+0x17c7): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE[_ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE]+0x17d1): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE[_ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE]+0x180f): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE[_ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE]+0x1819): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_example.dir/alpha_zero_torch_example.cc.o: in function `open_spiel::json::Value::GetInt() const':
alpha_zero_torch_example.cc:(.text._ZNK10open_spiel4json5Value6GetIntEv[_ZNK10open_spiel4json5Value6GetIntEv]+0x6a): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZNK10open_spiel4json5Value6GetIntEv[_ZNK10open_spiel4json5Value6GetIntEv]+0x72): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_example.dir/alpha_zero_torch_example.cc.o: in function `open_spiel::json::Value::GetBool() const':
alpha_zero_torch_example.cc:(.text._ZNK10open_spiel4json5Value7GetBoolEv[_ZNK10open_spiel4json5Value7GetBoolEv]+0x69): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZNK10open_spiel4json5Value7GetBoolEv[_ZNK10open_spiel4json5Value7GetBoolEv]+0x71): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_example.dir/alpha_zero_torch_example.cc.o: in function `open_spiel::json::Value::GetDouble() const':
alpha_zero_torch_example.cc:(.text._ZNK10open_spiel4json5Value9GetDoubleEv[_ZNK10open_spiel4json5Value9GetDoubleEv]+0x6b): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZNK10open_spiel4json5Value9GetDoubleEv[_ZNK10open_spiel4json5Value9GetDoubleEv]+0x73): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/torch_vpnet_test.dir/vpnet_test.cc.o: in function `main':
vpnet_test.cc:(.text+0x118): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x969): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x12cc): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: vpnet_test.cc:(.text+0x16f2): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x1919): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x1ad1): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: vpnet_test.cc:(.text+0x2234): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x22ad): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x234a): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x23c0): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x2436): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/torch_vpnet_test.dir/vpnet_test.cc.o:vpnet_test.cc:(.text+0x24ac): more undefined references to `open_spiel::SpielFatalError(std::string const&)' follow
/usr/bin/ld: CMakeFiles/torch_vpnet_test.dir/vpnet_test.cc.o: in function `open_spiel::algorithms::torch_az::(anonymous namespace)::BuildModel(open_spiel::Game const&, std::string const&, bool)':
vpnet_test.cc:(.text+0x2dae): undefined reference to `open_spiel::file::GetTmpDir()'
/usr/bin/ld: vpnet_test.cc:(.text+0x2e0b): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x2f0b): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x2f15): undefined reference to `open_spiel::file::Exists(std::string const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x316b): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x31b3): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/torch_model_test.dir/model_test.cc.o: in function `main':
model_test.cc:(.text+0xc2): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: model_test.cc:(.text+0x438): undefined reference to `absl::strings_internal::CatPieces(std::initializer_list > >)'
/usr/bin/ld: model_test.cc:(.text+0x479): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: model_test.cc:(.text+0x148f): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: model_test.cc:(.text+0x14f5): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: model_test.cc:(.text+0x157c): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: model_test.cc:(.text+0x15e2): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: model_test.cc:(.text+0x1648): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::algorithms::torch_az::StartInfoFromLearnerJson(std::string const&)':
alpha_zero.cc:(.text+0xb9): undefined reference to `open_spiel::file::File::File(std::string const&, std::string const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0xf4): undefined reference to `open_spiel::file::File::ReadContents()'
/usr/bin/ld: alpha_zero.cc:(.text+0x901): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x90e): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::algorithms::torch_az::PlayGame(open_spiel::Logger*, int, open_spiel::Game const&, std::vector >, std::allocator > > >*, std::mersenne_twister_engine*, double, int, double, bool)':
alpha_zero.cc:(.text+0x10fa): undefined reference to `bool absl::str_format_internal::FormatArgImpl::Dispatch(absl::str_format_internal::FormatArgImpl::Data, absl::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x111f): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text+0x13ba): undefined reference to `bool absl::str_format_internal::FormatArgImpl::Dispatch(absl::str_format_internal::FormatArgImpl::Data, absl::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x13f6): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::algorithms::torch_az::actor(open_spiel::Game const&, open_spiel::algorithms::torch_az::AlphaZeroConfig const&, int, open_spiel::ThreadedQueue*, std::shared_ptr, open_spiel::StopToken*)':
alpha_zero.cc:(.text+0x1860): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::algorithms::torch_az::evaluator(open_spiel::Game const&, open_spiel::algorithms::torch_az::AlphaZeroConfig const&, int, open_spiel::algorithms::torch_az::EvalResults*, std::shared_ptr, open_spiel::StopToken*)':
alpha_zero.cc:(.text+0x21b3): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x2847): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::algorithms::torch_az::learner(open_spiel::Game const&, open_spiel::algorithms::torch_az::AlphaZeroConfig const&, open_spiel::algorithms::torch_az::DeviceManager*, std::shared_ptr, open_spiel::ThreadedQueue*, open_spiel::algorithms::torch_az::EvalResults*, open_spiel::StopToken*, open_spiel::algorithms::torch_az::StartInfo const&)':
alpha_zero.cc:(.text+0x2f21): undefined reference to `open_spiel::DataLoggerJsonLines::DataLoggerJsonLines(std::string const&, std::string const&, bool, std::string const&, absl::Time)'
/usr/bin/ld: alpha_zero.cc:(.text+0x30c7): undefined reference to `bool absl::str_format_internal::FormatArgImpl::Dispatch(absl::str_format_internal::FormatArgImpl::Data, absl::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x30f9): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text+0x4118): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text+0x42bb): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text+0x4896): undefined reference to `bool absl::str_format_internal::FormatArgImpl::Dispatch(absl::str_format_internal::FormatArgImpl::Data, absl::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x48cb): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text+0x5f25): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text+0x607a): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text+0x6600): undefined reference to `open_spiel::DataLoggerJsonLines::Write(std::map, std::allocator > >)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::algorithms::torch_az::AlphaZero(open_spiel::algorithms::torch_az::AlphaZeroConfig, open_spiel::StopToken*, bool)':
alpha_zero.cc:(.text+0x7da8): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x7e07): undefined reference to `open_spiel::file::Mkdirs(std::string const&, int)'
/usr/bin/ld: alpha_zero.cc:/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::algorithms::torch_az::StartInfoFromLearnerJson(std::string const&)':
alpha_zero.cc:(.text+0xb9): undefined reference to `open_spiel::file::File::File(std::string const&, std::string const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0xf4): undefined reference to `open_spiel::file::File::ReadContents()'
/usr/bin/ld: alpha_zero.cc:(.text+0x901): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x90e): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::algorithms::torch_az::PlayGame(open_spiel::Logger*, int, open_spiel::Game const&, std::vector >, std::allocator > > >*, std::mersenne_twister_engine*, double, int, double, bool)':
alpha_zero.cc:(.text+0x10fa): undefined reference to `bool absl::str_format_internal::FormatArgImpl::Dispatch(absl::str_format_internal::FormatArgImpl::Data, absl::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x111f): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text+0x13ba): undefined reference to `bool absl::str_format_internal::FormatArgImpl::Dispatch(absl::str_format_internal::FormatArgImpl::Data, absl::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x13f6): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::algorithms::torch_az::actor(open_spiel::Game const&, open_spiel::algorithms::torch_az::AlphaZeroConfig const&, int, open_spiel::ThreadedQueue*, std::shared_ptr, open_spiel::StopToken*)':
alpha_zero.cc:(.text+0x1860): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::algorithms::torch_az::evaluator(open_spiel::Game const&, open_spiel::algorithms::torch_az::AlphaZeroConfig const&, int, open_spiel::algorithms::torch_az::EvalResults*, std::shared_ptr, open_spiel::StopToken*)':
alpha_zero.cc:(.text+0x21b3): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x2847): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::algorithms::torch_az::learner(open_spiel::Game const&, open_spiel::algorithms::torch_az::AlphaZeroConfig const&, open_spiel::algorithms::torch_az::DeviceManager*, std::shared_ptr, open_spiel::ThreadedQueue*, open_spiel::algorithms::torch_az::EvalResults*, open_spiel::StopToken*, open_spiel::algorithms::torch_az::StartInfo const&)':
alpha_zero.cc:(.text+0x2f21): undefined reference to `open_spiel::DataLoggerJsonLines::DataLoggerJsonLines(std::string const&, std::string const&, bool, std::string const&, absl::Time)'
/usr/bin/ld: alpha_zero.cc:(.text+0x30c7): undefined reference to `bool absl::str_format_internal::FormatArgImpl::Dispatch(absl::str_format_internal::FormatArgImpl::Data, absl::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x30f9): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text+0x4118): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text+0x42bb): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text+0x4896): undefined reference to `bool absl::str_format_internal::FormatArgImpl::Dispatch(absl::str_format_internal::FormatArgImpl::Data, absl::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x48cb): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text+0x5f25): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text+0x607a): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text+0x6600): undefined reference to `open_spiel::DataLoggerJsonLines::Write(std::map, std::allocator > >)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::algorithms::torch_az::AlphaZero(open_spiel::algorithms::torch_az::AlphaZeroConfig, open_spiel::StopToken*, bool)':
alpha_zero.cc:(.text+0x7da8): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x7e07): undefined reference to `open_spiel::file::Mkdirs(std::string const&, int)'
/usr/bin/ld: alpha_zero.cc:(.text+0x7e11): undefined reference to `open_spiel::file::IsDirectory(std::string const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x7f72): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x7f7c): undefined reference to `open_spiel::file::Exists(std::string const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x808c): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x8096): undefined reference to `open_spiel::file::Exists(std::string const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x84d4): undefined reference to `open_spiel::file::File::File(std::string const&, std::string const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x8526): undefined reference to `open_spiel::json::ToString(std::map, std::allocator > > const&, bool, int)'
/usr/bin/ld: alpha_zero.cc:(.text+0x9bf9): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x9c1c): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x9c3f): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x9ccf): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::json::Value::GetDouble()':
alpha_zero.cc:(.text._ZN10open_spiel4json5Value9GetDoubleEv[_ZN10open_spiel4json5Value9GetDoubleEv]+0x6a): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel4json5Value9GetDoubleEv[_ZN10open_spiel4json5Value9GetDoubleEv]+0x72): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::json::Value::GetInt()':
alpha_zero.cc:(.text._ZN10open_spiel4json5Value6GetIntEv[_ZN10open_spiel4json5Value6GetIntEv]+0x6a): undefined reference to `absl::StrCat(absl::AlphaNum const&, absl::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel4json5Value6GetIntEv[_ZN10open_spiel4json5Value6GetIntEv]+0x72): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::FileLogger::FileLogger(std::string const&, std::string const&, std::string const&)':
alpha_zero.cc:(.text._ZN10open_spiel10FileLoggerC2ERKSsS2_S2_[_ZN10open_spiel10FileLoggerC2ERKSsS2_S2_]+0x2c): undefined reference to `bool absl::str_format_internal::FormatArgImpl::Dispatch(absl::str_format_internal::FormatArgImpl::Data, absl::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLoggerC2ERKSsS2_S2_[_ZN10open_spiel10FileLoggerC2ERKSsS2_S2_]+0x5c): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLoggerC2ERKSsS2_S2_[_ZN10open_spiel10FileLoggerC2ERKSsS2_S2_]+0x70): undefined reference to `open_spiel::file::File::File(std::string const&, std::string const&)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLoggerC2ERKSsS2_S2_[_ZN10open_spiel10FileLoggerC2ERKSsS2_S2_]+0xb6): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `void open_spiel::Logger::Print(absl::str_format_internal::FormatSpecTemplate(), str_format_internal::ArgumentToConv(), str_format_internal::ArgumentToConv(), str_format_internal::ArgumentToConv(), str_format_internal::ArgumentToConv()> const&, int const&, double const&, double const&, int const&, unsigned long const&)':
alpha_zero.cc:(.text._ZN10open_spiel6Logger5PrintIiJddimEEEvRKN4absl19str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS5_DpRKS6_[_ZN10open_spiel6Logger5PrintIiJddimEEEvRKN4absl19str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS5_DpRKS6_]+0x83): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::FileLogger::Print(std::string const&)':
alpha_zero.cc:(.text._ZN10open_spiel10FileLogger5PrintERKSs[_ZN10open_spiel10FileLogger5PrintERKSs]+0x33): undefined reference to `absl::FormatTime(std::basic_string_view >, absl::Time, absl::TimeZone)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLogger5PrintERKSs[_ZN10open_spiel10FileLogger5PrintERKSs]+0x3f): undefined reference to `bool absl::str_format_internal::FormatArgImpl::Dispatch(absl::str_format_internal::FormatArgImpl::Data, absl::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLogger5PrintERKSs[_ZN10open_spiel10FileLogger5PrintERKSs]+0x6d): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::SerializableCircularBuffer::LoadBuffer(std::string const&)':
alpha_zero.cc:(.text._ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs[_ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs]+0x19f): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl,
alpha_zero.cc:(.text._ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs[_ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs]+0x19f): undefined reference to `absl::str_format_internal::FormatPack(absl::str_format_internal::UntypedFormatSpecImpl, absl::Span)'
...
```
And I think the problem might be related to linking with ABSL?
Please help me solving this problem, big thank you!

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.