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

struggling compiling alphazero_torch version #872

Closed
roolio opened this issue Jun 29, 2022 · 6 comments
Closed

struggling compiling alphazero_torch version #872

roolio opened this issue Jun 29, 2022 · 6 comments

Comments

@roolio
Copy link

roolio commented Jun 29, 2022

Hello,
(and Kudos for the amazing work!)
I'm struggling since a couple of days to have a working version of alphazero libtorch version (python version works fine, but I guess it'll takes ages to train a model)

During compilation phase (/build_and_run_tests.sh), I get compilation errors on alpha_zero_torch_example or torch_integration_test like those :

/usr/bin/ld: vpnet.cc:(.text+0x1508): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, a
bsl::lts_20211102::AlphaNum const&)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libtorch/CMakeFiles/torch_integration_test.dir/build.make:530: libtorch/torch_integration_test] Error 1

Some context info:

  • container (using Docker) : nvcr.io/nvidia/tensorflow:21.06-tf2-py3
    (basically I modified the provided Dockerfile.base to include nvidia/cuda/cudnn stuff)
  • python : 3.8.5
  • libtorch : 1.11.0+cu113
  • cuda : cuda_11.3.r11.3/compiler.29920130_0

So my question is : would you have a reference configuration that enable usage of alphazero libtorch version ? (os|libtorch version | cuda ...)?

Many thanks in advance

Julien

@lanctot
Copy link
Collaborator

lanctot commented Jun 29, 2022

On first glance it seems like you are not linking in some abseil targets. Possibly the linker is picking up the binary abseil libraries from a different location which are missing those symbols (or you're just not linking them at all for some reason?) Abseil would be downloaded and installed when you run ./install.sh. Maybe those steps are done manually in the Docker files, I have not checked in a while.) Can you tell me if you have a abseil-cpp in the open_spiel directory (and possible what commit number or what version of abseil is in there?)

We run the AlphaZero torch test every time a new PR is submitted and every time we sync to github each week, and it's run on Ubuntu 22.04 in this CI target here: https://github.com/deepmind/open_spiel/blob/6a49b935bf674920071d0a23464a6d4fa3b39618/.github/workflows/actions.yml#L15

I expect it can be fixed by settings some paths differently. I'll respond more after you answer the first few questions above.

@lanctot
Copy link
Collaborator

lanctot commented Jun 29, 2022

I noticed tensorflow in the Docker image name. I believe Tensorflow includes past versions of abseil in it, so it's possible that your linker is finding and linking against those, rather than the ones included in OpenSpiel.

Can you inspect the output to see if it lists the path to the abseil library it's trying to link against? It might have something like libabsl_strings in the name. Can you show me the contents of build/abseil-cpp/absl/strings/ ?

@lanctot
Copy link
Collaborator

lanctot commented Jul 6, 2022

Any luck?

@lanctot lanctot closed this as completed Jul 18, 2022
@mcc311
Copy link

mcc311 commented Nov 19, 2022

Hi, I also met the same problem.
I use following setting:

OS: Ubuntu 22.04
libtorch: 1.13
CUDA: 11.7
Python 3.10 (Conda)

First, I can build without libtorch setting (OPEN_SPIEL_BUILD_WITH_LIBTORCH='OFF' ... etc).
It work. But then I do the setting following THIS.
As I run 'open_spiel/script/build_and_run_tests.sh', errors comes like:

/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::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: vpnet_test.cc:(.text+0x16f2): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x1917): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x1ad1): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: vpnet_test.cc:(.text+0x2f0b): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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/dqn_torch_test.dir/dqn_torch_test.cc.o: in function `main':
dqn_torch_test.cc:(.text+0x1c4): undefined reference to `open_spiel::efg_game::GetSimpleForkEFGData()'
/usr/bin/ld: dqn_torch_test.cc:(.text+0x1d1): undefined reference to `open_spiel::efg_game::LoadEFGGame(std::string const&)'
/usr/bin/ld: dqn_torch_test.cc:(.text+0x70f): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: dqn_torch_test.cc:(.text+0xd6b): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: dqn_torch_test.cc:(.text+0x173d): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: dqn_torch_test.cc:(.text+0x17af): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: dqn_torch_test.cc:(.text+0x1802): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: dqn_torch_test.cc:(.text+0x1855): 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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::unique_ptr<open_spiel::algorithms::MCTSBot, std::default_delete<open_spiel::algorithms::MCTSBot> >, std::allocator<std::unique_ptr<open_spiel::algorithms::MCTSBot, std::default_delete<open_spiel::algorithms::MCTSBot> > > >*, std::mersenne_twister_engine<unsigned long, 32ul, 624ul, 397ul, 31ul, 2567483615ul, 11ul, 4294967295ul, 7ul, 2636928640ul, 15ul, 4022730752ul, 18ul, 1812433253ul>*, double, int, double, bool)':
alpha_zero.cc:(.text+0x10fa): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x111f): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x13ba): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x13f6): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/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<open_spiel::algorithms::torch_az::Trajectory>*, std::shared_ptr<open_spiel::algorithms::torch_az::VPNetEvaluator>, open_spiel::StopToken*)':
alpha_zero.cc:(.text+0x1860): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::algorithms::torch_az::VPNetEvaluator>, open_spiel::StopToken*)':
alpha_zero.cc:(.text+0x21b3): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x2847): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/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::algorithms::torch_az::VPNetEvaluator>, open_spiel::ThreadedQueue<open_spiel::algorithms::torch_az::Trajectory>*, 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::lts_20211102::Time)'
/usr/bin/ld: alpha_zero.cc:(.text+0x30c7): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x30f9): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x4118): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x42bb): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x4896): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x48cb): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x5f25): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x607a): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x6600): undefined reference to `open_spiel::DataLoggerJsonLines::Write(std::map<std::string, open_spiel::json::Value, std::less<std::string>, std::allocator<std::pair<std::string const, open_spiel::json::Value> > >)'
/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/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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x8096): undefined reference to `open_spiel::file::Exists(std::string const&)'
CMakeFiles/dqn_torch.dir/dqn.cc.o/usr/bin/ld: in function `: alpha_zero.cc:open_spiel::algorithms::torch_dqn::DQN::Step(open_spiel::State const&, bool)(':
.text+0xdqn.cc:84d4().text: undefined reference to `+0xopen_spiel::file::File::File(std::string const&, std::string const&)a78'
): undefined reference to `/usr/bin/ld: open_spiel::SpielFatalError(std::string const&)'
alpha_zero.cc:(.text+0x8526): undefined reference to `open_spiel::json::ToString(std::map<std::string, open_spiel::json::Value, std::less<std::string>, std::allocator<std::pair<std::string const, open_spiel::json::Value> > > const&, bool, int)'
/usr/bin/ld: /usr/bin/ld: alpha_zero.cc:CMakeFiles/dqn_torch.dir/dqn.cc.o(:.textdqn.cc:+0x(9bf9.text)+0x: undefined reference to `41cfopen_spiel::SpielFatalError(std::string const&))'
: more undefined references to `/usr/bin/ldopen_spiel::SpielFatalError(std::string const&): ' follow
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: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::json::Value::GetDouble()':
alpha_zero.cc:(.text._ZN10open_spiel4json5Value9GetDoubleEv[_ZN10open_spiel4json5Value9GetDoubleEv]+0x64): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel4json5Value9GetDoubleEv[_ZN10open_spiel4json5Value9GetDoubleEv]+0x6c): 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::json::Value::GetInt()':
alpha_zero.cc:(.text._ZN10open_spiel4json5Value6GetIntEv[_ZN10open_spiel4json5Value6GetIntEv]+0x64): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel4json5Value6GetIntEv[_ZN10open_spiel4json5Value6GetIntEv]+0x6c): 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::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::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLoggerC2ERKSsS2_S2_[_ZN10open_spiel10FileLoggerC2ERKSsS2_S2_]+0x5c): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/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::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `void open_spiel::Logger::Print<int, double, double, int, unsigned long>(absl::lts_20211102::str_format_internal::FormatSpecTemplate<str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<unsigned long>()> const&, int const&, double const&, double const&, int const&, unsigned long const&)':
alpha_zero.cc:(.text._ZN10open_spiel6Logger5PrintIiJddimEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_[_ZN10open_spiel6Logger5PrintIiJddimEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_]+0x83): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: 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::lts_20211102::FormatTime(std::basic_string_view<char, std::char_traits<char> >, absl::lts_20211102::Time, absl::lts_20211102::TimeZone)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLogger5PrintERKSs[_ZN10open_spiel10FileLogger5PrintERKSs]+0x3f): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLogger5PrintERKSs[_ZN10open_spiel10FileLogger5PrintERKSs]+0x6d): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::SerializableCircularBuffer<open_spiel::algorithms::torch_az::VPNetModel::TrainInputs>::LoadBuffer(std::string const&)':
alpha_zero.cc:(.text._ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs[_ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs]+0x19f): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs[_ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs]+0x1a7): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `void open_spiel::Logger::Print<int, int, double, double, double>(absl::lts_20211102::str_format_internal::FormatSpecTemplate<str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<double>()> const&, int const&, int const&, double const&, double const&, double const&)':
alpha_zero.cc:(.text._ZN10open_spiel6Logger5PrintIiJidddEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_[_ZN10open_spiel6Logger5PrintIiJidddEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_]+0x7b): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `std::string absl::lts_20211102::strings_internal::JoinRange<__gnu_cxx::__normal_iterator<double const*, std::vector<double, std::allocator<double> > > >(__gnu_cxx::__normal_iterator<double const*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double const*, std::vector<double, std::allocator<double> > >, std::basic_string_view<char, std::char_traits<char> >)':
alpha_zero.cc:(.text._ZN4absl12lts_2021110216strings_internal9JoinRangeIN9__gnu_cxx17__normal_iteratorIPKdSt6vectorIdSaIdEEEEEESsT_SB_St17basic_string_viewIcSt11char_traitsIcEE[_ZN4absl12lts_2021110216strings_internal9JoinRangeIN9__gnu_cxx17__normal_iteratorIPKdSt6vectorIdSaIdEEEEEESsT_SB_St17basic_string_viewIcSt11char_traitsIcEE]+0x67): undefined reference to `absl::lts_20211102::StrAppend(std::string*, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::SaveModelConfig(std::string const&, std::string const&, open_spiel::algorithms::torch_az::ModelConfig const&)':
vpnet.cc:(.text+0x76): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::LoadModelConfig(std::string const&, std::string const&)':
vpnet.cc:(.text+0x253): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::VPNetModel(open_spiel::Game const&, std::string const&, std::string const&, std::string const&)':
vpnet.cc:(.text+0xce8): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: vpnet.cc:(.text+0xd54): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::SaveCheckpoint(int)':
vpnet.cc:(.text+0xea8): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: vpnet.cc:(.text+0xee2): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: vpnet.cc:(.text+0xf3c): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::LoadCheckpoint(int)':
vpnet.cc:(.text+0x107b): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::LoadCheckpoint(std::string const&)':
vpnet.cc:(.text+0x1134): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: vpnet.cc:(.text+0x11bc): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::lts_20211102::flags_internal::FlagOps<std::string>(absl::lts_20211102::flags_internal::FlagOp, void const*, void*, void*)':
alpha_zero_torch_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsISsEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsISsEEPvNS1_6FlagOpEPKvS3_S3_]+0x11f): undefined reference to `absl::lts_20211102::flags_internal::AbslUnparseFlag(std::basic_string_view<char, std::char_traits<char> >)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsISsEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsISsEEPvNS1_6FlagOpEPKvS3_S3_]+0x1a1): undefined reference to `absl::lts_20211102::flags_internal::AbslParseFlag(std::basic_string_view<char, std::char_traits<char> >, std::string*, std::string*)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_example.dir/alpha_zero_torch_example.cc.o: in function `void* absl::lts_20211102::flags_internal::FlagOps<int>(absl::lts_20211102::flags_internal::FlagOp, void const*, void*, void*)':
alpha_zero_torch_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsIiEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsIiEEPvNS1_6FlagOpEPKvS3_S3_]+0x70): undefined reference to `absl::lts_20211102::flags_internal::AbslParseFlag(std::basic_string_view<char, std::char_traits<char> >, int*, std::string*)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsIiEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsIiEEPvNS1_6FlagOpEPKvS3_S3_]+0x8e): undefined reference to `absl::lts_20211102::flags_internal::Unparse(int)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_example.dir/alpha_zero_torch_example.cc.o: in function `void* absl::lts_20211102::flags_internal::FlagOps<double>(absl::lts_20211102::flags_internal::FlagOp, void const*, void*, void*)':
alpha_zero_torch_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsIdEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsIdEEPvNS1_6FlagOpEPKvS3_S3_]+0x7b): undefined reference to `absl::lts_20211102::flags_internal::AbslParseFlag(std::basic_string_view<char, std::char_traits<char> >, double*, std::string*)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsIdEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsIdEEPvNS1_6FlagOpEPKvS3_S3_]+0x9f): undefined reference to `absl::lts_20211102::flags_internal::Unparse(double)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_example.dir/alpha_zero_torch_example.cc.o: in function `void* absl::lts_20211102::flags_internal::FlagOps<bool>(absl::lts_20211102::flags_internal::FlagOp, void const*, void*, void*)':
alpha_zero_torch_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsIbEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsIbEEPvNS1_6FlagOpEPKvS3_S3_]+0x73): undefined reference to `absl::lts_20211102::flags_internal::AbslParseFlag(std::basic_string_view<char, std::char_traits<char> >, bool*, std::string*)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsIbEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsIbEEPvNS1_6FlagOpEPKvS3_S3_]+0x92): undefined reference to `absl::lts_20211102::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::string, open_spiel::json::Value, std::less<std::string>, std::allocator<std::pair<std::string const, open_spiel::json::Value> > > const&)':
alpha_zero_torch_example.cc:(.text._ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE[_ZN10open_spiel10algorithms8torch_az15AlphaZeroConfig8FromJsonERKSt3mapISsNS_4json5ValueESt4lessISsESaISt4pairIKSsS5_EEE]+0x16ef): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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]+0x64): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZNK10open_spiel4json5Value6GetIntEv[_ZNK10open_spiel4json5Value6GetIntEv]+0x6c): 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]+0x63): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZNK10open_spiel4json5Value7GetBoolEv[_ZNK10open_spiel4json5Value7GetBoolEv]+0x6b): 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]+0x65): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero_torch_example.cc:(.text._ZNK10open_spiel4json5Value9GetDoubleEv[_ZNK10open_spiel4json5Value9GetDoubleEv]+0x6d): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/torch_integration_test.dir/torch_integration_test.cc.o: in function `main':
torch_integration_test.cc:(.text+0x335): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/dqn_torch_example.dir/dqn_torch_example.cc.o: in function `main':
dqn_torch_example.cc:(.text+0x3a4): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: dqn_torch_example.cc:(.text+0xae1): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: dqn_torch_example.cc:(.text+0x178b): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: CMakeFiles/dqn_torch_example.dir/dqn_torch_example.cc.o: in function `void* absl::lts_20211102::flags_internal::FlagOps<int>(absl::lts_20211102::flags_internal::FlagOp, void const*, void*, void*)':
dqn_torch_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsIiEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsIiEEPvNS1_6FlagOpEPKvS3_S3_]+0x70): undefined reference to `absl::lts_20211102::flags_internal::AbslParseFlag(std::basic_string_view<char, std::char_traits<char> >, int*, std::string*)'
/usr/bin/ld: dqn_torch_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsIiEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsIiEEPvNS1_6FlagOpEPKvS3_S3_]+0x8e): undefined reference to `absl::lts_20211102::flags_internal::Unparse(int)'
/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::lts_20211102::strings_internal::CatPieces(std::initializer_list<std::basic_string_view<char, std::char_traits<char> > >)'
/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_game_example.dir/alpha_zero_torch_game_example.cc.o: in function `InitBot(std::string, open_spiel::Game const&, int, std::shared_ptr<open_spiel::algorithms::Evaluator>, std::shared_ptr<open_spiel::algorithms::torch_az::VPNetEvaluator>)':
alpha_zero_torch_game_example.cc:(.text+0x5a4): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_game_example.dir/alpha_zero_torch_game_example.cc.o: in function `PlayGame(open_spiel::Game const&, std::vector<std::unique_ptr<open_spiel::Bot, std::default_delete<open_spiel::Bot> >, std::allocator<std::unique_ptr<open_spiel::Bot, std::default_delete<open_spiel::Bot> > > >&, std::mersenne_twister_engine<unsigned long, 32ul, 624ul, 397ul, 31ul, 2567483615ul, 11ul, 4294967295ul, 7ul, 2636928640ul, 15ul, 4022730752ul, 18ul, 1812433253ul>&, std::vector<std::string, std::allocator<std::string> > const&)':
alpha_zero_torch_game_example.cc:(.text+0x143d): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero_torch_game_example.cc:(.text+0x144a): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_game_example.dir/alpha_zero_torch_game_example.cc.o: in function `main':
alpha_zero_torch_game_example.cc:(.text+0x1740): undefined reference to `open_spiel::LoadGame(std::string const&)'
/usr/bin/ld: alpha_zero_torch_game_example.cc:(.text+0x3360): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: alpha_zero_torch_game_example.cc:(.text+0x3380): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: alpha_zero_torch_game_example.cc:(.text+0x33a0): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: alpha_zero_torch_game_example.cc:(.text+0x33c0): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: alpha_zero_torch_game_example.cc:(.text+0x33e0): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_game_example.dir/alpha_zero_torch_game_example.cc.o: in function `void* absl::lts_20211102::flags_internal::FlagOps<std::string>(absl::lts_20211102::flags_internal::FlagOp, void const*, void*, void*)':
alpha_zero_torch_game_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsISsEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsISsEEPvNS1_6FlagOpEPKvS3_S3_]+0x11f): undefined reference to `absl::lts_20211102::flags_internal::AbslUnparseFlag(std::basic_string_view<char, std::char_traits<char> >)'
/usr/bin/ld: alpha_zero_torch_game_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsISsEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsISsEEPvNS1_6FlagOpEPKvS3_S3_]+0x1a1): undefined reference to `absl::lts_20211102::flags_internal::AbslParseFlag(std::basic_string_view<char, std::char_traits<char> >, std::string*, std::string*)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_game_example.dir/alpha_zero_torch_game_example.cc.o: in function `void* absl::lts_20211102::flags_internal::FlagOps<double>(absl::lts_20211102::flags_internal::FlagOp, void const*, void*, void*)':
alpha_zero_torch_game_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsIdEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsIdEEPvNS1_6FlagOpEPKvS3_S3_]+0x7b): undefined reference to `absl::lts_20211102::flags_internal::AbslParseFlag(std::basic_string_view<char, std::char_traits<char> >, double*, std::string*)'
/usr/bin/ld: alpha_zero_torch_game_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsIdEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsIdEEPvNS1_6FlagOpEPKvS3_S3_]+0x9f): undefined reference to `absl::lts_20211102::flags_internal::Unparse(double)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_game_example.dir/alpha_zero_torch_game_example.cc.o: in function `void* absl::lts_20211102::flags_internal::FlagOps<int>(absl::lts_20211102::flags_internal::FlagOp, void const*, void*, void*)':
alpha_zero_torch_game_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsIiEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsIiEEPvNS1_6FlagOpEPKvS3_S3_]+0x70): undefined reference to `absl::lts_20211102::flags_internal::AbslParseFlag(std::basic_string_view<char, std::char_traits<char> >, int*, std::string*)'
/usr/bin/ld: alpha_zero_torch_game_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsIiEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsIiEEPvNS1_6FlagOpEPKvS3_S3_]+0x8e): undefined reference to `absl::lts_20211102::flags_internal::Unparse(int)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_game_example.dir/alpha_zero_torch_game_example.cc.o: in function `void* absl::lts_20211102::flags_internal::FlagOps<bool>(absl::lts_20211102::flags_internal::FlagOp, void const*, void*, void*)':
alpha_zero_torch_game_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsIbEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsIbEEPvNS1_6FlagOpEPKvS3_S3_]+0x73): undefined reference to `absl::lts_20211102::flags_internal::AbslParseFlag(std::basic_string_view<char, std::char_traits<char> >, bool*, std::string*)'
/usr/bin/ld: alpha_zero_torch_game_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsIbEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsIbEEPvNS1_6FlagOpEPKvS3_S3_]+0x92): undefined reference to `absl::lts_20211102::flags_internal::Unparse(bool)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch_game_example.dir/alpha_zero_torch_game_example.cc.o: in function `void* absl::lts_20211102::flags_internal::FlagOps<unsigned long>(absl::lts_20211102::flags_internal::FlagOp, void const*, void*, void*)':
alpha_zero_torch_game_example.cc:(.text._ZN4absl12lts_2021110214flags_internal7FlagOpsImEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsImEEPvNS1_6FlagOpEPKvS3_S3_]+0x77): undefined reference to `absl::lts_20211102::flags_internal::AbslParseFlag(std::basic_string_view<char, std::char_traits<char> >, unsigned long*, std::string*)'
/usr/bin/ld: /usr/bin/ldalpha_zero_torch_game_example.cc:: (.text._ZN4absl12lts_2021110214flags_internal7FlagOpsImEEPvNS1_6FlagOpEPKvS3_S3_[_ZN4absl12lts_2021110214flags_internal7FlagOpsImEEPvNS1_6FlagOpEPKvS3_S3_]+0x98): undefined reference to `absl::lts_20211102::flags_internal::Unparse(unsigned long)'
../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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x90e): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld/usr/bin/ld: : CMakeFiles/alpha_zero_torch_game_example.dir/alpha_zero_torch_game_example.cc.o: in function `../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `std::string absl::lts_20211102::strings_internal::JoinRange<__gnu_cxx::__normal_iterator<double const*, std::vector<double, std::allocator<double> > > >(__gnu_cxx::__normal_iterator<double const*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double const*, std::vector<double, std::allocator<double> > >, std::basic_string_view<char, std::char_traits<char> >)':
alpha_zero_torch_game_example.cc:(.text._ZN4absl12lts_2021110216strings_internal9JoinRangeIN9__gnu_cxx17__normal_iteratorIPKdSt6vectorIdSaIdEEEEEESsT_SB_St17basic_string_viewIcSt11char_traitsIcEE[_ZN4absl12lts_2021110216strings_internal9JoinRangeIN9__gnu_cxx17__normal_iteratorIPKdSt6vectorIdSaIdEEEEEESsT_SB_St17basic_string_viewIcSt11char_traitsIcEE]+0x67): undefined reference to `open_spiel::algorithms::torch_az::PlayGame(open_spiel::Logger*, int, open_spiel::Game const&, std::vector<std::unique_ptr<open_spiel::algorithms::MCTSBot, std::default_delete<open_spiel::algorithms::MCTSBot> >, std::allocator<std::unique_ptr<open_spiel::algorithms::MCTSBot, std::default_delete<open_spiel::algorithms::MCTSBot> > > >*, std::mersenne_twister_engine<unsigned long, 32ul, 624ul, 397ul, 31ul, 2567483615ul, 11ul, 4294967295ul, 7ul, 2636928640ul, 15ul, 4022730752ul, 18ul, 1812433253ul>*, double, int, double, bool)absl::lts_20211102::StrAppend(std::string*, absl::lts_20211102::AlphaNum const&)':
'
alpha_zero.cc:(.text+0x10fa): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x111f): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x13ba): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: /usr/bin/ld: alpha_zero.cc:(.text+0x13f6CMakeFiles/alpha_zero_torch_game_example.dir/alpha_zero_torch_game_example.cc.o): in function `: undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)std::string absl::lts_20211102::strings_internal::JoinRange<__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > > >(__gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, __gnu_cxx::__normal_iterator<int const*, std::vector<int, std::allocator<int> > >, std::basic_string_view<char, std::char_traits<char> >)'
':
alpha_zero_torch_game_example.cc:/usr/bin/ld(: .text._ZN4absl12lts_2021110216strings_internal9JoinRangeIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEEESsT_SB_St17basic_string_viewIcSt11char_traitsIcEE[_ZN4absl12lts_2021110216strings_internal9JoinRangeIN9__gnu_cxx17__normal_iteratorIPKiSt6vectorIiSaIiEEEEEESsT_SB_St17basic_string_viewIcSt11char_traitsIcEE]+0x68): undefined reference to `../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.oabsl::lts_20211102::StrAppend(std::string*, absl::lts_20211102::AlphaNum const&): in function `'
open_spiel::algorithms::torch_az::actor(open_spiel::Game const&, open_spiel::algorithms::torch_az::AlphaZeroConfig const&, int, open_spiel::ThreadedQueue<open_spiel::algorithms::torch_az::Trajectory>*, std::shared_ptr<open_spiel::algorithms::torch_az::VPNetEvaluator>, open_spiel::StopToken*)':
alpha_zero.cc:(.text+0x1860): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::algorithms::torch_az::VPNetEvaluator>, open_spiel::StopToken*)':
alpha_zero.cc:(.text+0x21b3): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x2847): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/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::algorithms::torch_az::VPNetEvaluator>, open_spiel::ThreadedQueue<open_spiel::algorithms::torch_az::Trajectory>*, 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::lts_20211102::Time)'
/usr/bin/ld: alpha_zero.cc:(.text+0x30c7): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x30f9): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x4118): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x42bb): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x4896): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x48cb): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x5f25): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x607a): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x6600): undefined reference to `open_spiel::DataLoggerJsonLines::Write(std::map<std::string, open_spiel::json::Value, std::less<std::string>, std::allocator<std::pair<std::string const, open_spiel::json::Value> > >)'
/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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::string, open_spiel::json::Value, std::less<std::string>, std::allocator<std::pair<std::string const, open_spiel::json::Value> > > 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]+0x64): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel4json5Value9GetDoubleEv[_ZN10open_spiel4json5Value9GetDoubleEv]+0x6c): 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]+0x64): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel4json5Value6GetIntEv[_ZN10open_spiel4json5Value6GetIntEv]+0x6c): 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::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLoggerC2ERKSsS2_S2_[_ZN10open_spiel10FileLoggerC2ERKSsS2_S2_]+0x5c): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/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::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `void open_spiel::Logger::Print<int, double, double, int, unsigned long>(absl::lts_20211102::str_format_internal::FormatSpecTemplate<str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<unsigned long>()> const&, int const&, double const&, double const&, int const&, unsigned long const&)':
alpha_zero.cc:(.text._ZN10open_spiel6Logger5PrintIiJddimEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_[_ZN10open_spiel6Logger5PrintIiJddimEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_]+0x83): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/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::lts_20211102::FormatTime(std::basic_string_view<char, std::char_traits<char> >, absl::lts_20211102::Time, absl::lts_20211102::TimeZone)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLogger5PrintERKSs[_ZN10open_spiel10FileLogger5PrintERKSs]+0x3f): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLogger5PrintERKSs[_ZN10open_spiel10FileLogger5PrintERKSs]+0x6d): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::SerializableCircularBuffer<open_spiel::algorithms::torch_az::VPNetModel::TrainInputs>::LoadBuffer(std::string const&)':
alpha_zero.cc:(.text._ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs[_ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs]+0x19f): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs[_ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs]+0x1a7): 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 `void open_spiel::Logger::Print<int, int, double, double, double>(absl::lts_20211102::str_format_internal::FormatSpecTemplate<str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<double>()> const&, int const&, int const&, double const&, double const&, double const&)':
alpha_zero.cc:(.text._ZN10open_spiel6Logger5PrintIiJidddEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_[_ZN10open_spiel6Logger5PrintIiJidddEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_]+0x7b): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `std::string absl::lts_20211102::strings_internal::JoinRange<__gnu_cxx::__normal_iterator<double const*, std::vector<double, std::allocator<double> > > >(__gnu_cxx::__normal_iterator<double const*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double const*, std::vector<double, std::allocator<double> > >, std::basic_string_view<char, std::char_traits<char> >)':
alpha_zero.cc:(.text._ZN4absl12lts_2021110216strings_internal9JoinRangeIN9__gnu_cxx17__normal_iteratorIPKdSt6vectorIdSaIdEEEEEESsT_SB_St17basic_string_viewIcSt11char_traitsIcEE[_ZN4absl12lts_2021110216strings_internal9JoinRangeIN9__gnu_cxx17__normal_iteratorIPKdSt6vectorIdSaIdEEEEEESsT_SB_St17basic_string_viewIcSt11char_traitsIcEE]+0x67): undefined reference to `absl::lts_20211102::StrAppend(std::string*, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::SaveModelConfig(std::string const&, std::string const&, open_spiel::algorithms::torch_az::ModelConfig const&)':
vpnet.cc:(.text+0x76): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::LoadModelConfig(std::string const&, std::string const&)':
vpnet.cc:(.text+0x253): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::VPNetModel(open_spiel::Game const&, std::string const&, std::string const&, std::string const&)':
vpnet.cc:(.text+0xce8): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: vpnet.cc:(.text+0xd54): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::SaveCheckpoint(int)':
vpnet.cc:(.text+0xea8): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: vpnet.cc:(.text+0xee2): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: vpnet.cc:(.text+0xf3c): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::LoadCheckpoint(int)':
vpnet.cc:(.text+0x107b): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::LoadCheckpoint(std::string const&)':
vpnet.cc:(.text+0x1134): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: vpnet.cc:(.text+0x11bc): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [algorithms/dqn_torch/CMakeFiles/dqn_torch_test.dir/build.make:546:algorithms/dqn_torch/dqn_torch_test] 錯誤 1
make[2]: *** [algorithms/alpha_zero_torch/CMakeFiles/torch_vpnet_test.dir/build.make:550:algorithms/alpha_zero_torch/torch_vpnet_test] 錯誤 1
make[1]: *** [CMakeFiles/Makefile2:6279:algorithms/dqn_torch/CMakeFiles/dqn_torch_test.dir/all] 錯誤 2
make[1]: *** 正在等待未完成的作業....
make[1]: *** [CMakeFiles/Makefile2:6111:algorithms/alpha_zero_torch/CMakeFiles/torch_vpnet_test.dir/all] 錯誤 2
/usr/bin/ld: ../algorithms/dqn_torch/CMakeFiles/dqn_torch.dir/dqn.cc.o: in function `open_spiel::algorithms::torch_dqn::DQN::Step(open_spiel::State const&, bool)':
dqn.cc:(.text+0xa78): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: ../algorithms/dqn_torch/CMakeFiles/dqn_torch.dir/dqn.cc.o: in function `open_spiel::algorithms::torch_dqn::DQN::Learn()':
dqn.cc:(.text+0x41cf): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: ../algorithms/dqn_torch/CMakeFiles/dqn_torch.dir/dqn.cc.o: in function `open_spiel::algorithms::torch_dqn::RunEpisodes(std::mersenne_twister_engine<unsigned long, 32ul, 624ul, 397ul, 31ul, 2567483615ul, 11ul, 4294967295ul, 7ul, 2636928640ul, 15ul, 4022730752ul, 18ul, 1812433253ul>*, open_spiel::Game const&, std::vector<open_spiel::algorithms::torch_dqn::Agent*, std::allocator<open_spiel::algorithms::torch_dqn::Agent*> > const&, int, bool)':
dqn.cc:(.text+0x5031): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: dqn.cc:(.text+0x509e): 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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::unique_ptr<open_spiel::algorithms::MCTSBot, std::default_delete<open_spiel::algorithms::MCTSBot> >, std::allocator<std::unique_ptr<open_spiel::algorithms::MCTSBot, std::default_delete<open_spiel::algorithms::MCTSBot> > > >*, std::mersenne_twister_engine<unsigned long, 32ul, 624ul, 397ul, 31ul, 2567483615ul, 11ul, 4294967295ul, 7ul, 2636928640ul, 15ul, 4022730752ul, 18ul, 1812433253ul>*, double, int, double, bool)':
alpha_zero.cc:(.text+0x10fa): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x111f): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x13ba): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x13f6): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/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<open_spiel::algorithms::torch_az::Trajectory>*, std::shared_ptr<open_spiel::algorithms::torch_az::VPNetEvaluator>, open_spiel::StopToken*)':
alpha_zero.cc:(.text+0x1860): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::algorithms::torch_az::VPNetEvaluator>, open_spiel::StopToken*)':
alpha_zero.cc:(.text+0x21b3): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x2847): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/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::algorithms::torch_az::VPNetEvaluator>, open_spiel::ThreadedQueue<open_spiel::algorithms::torch_az::Trajectory>*, 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::lts_20211102::Time)'
/usr/bin/ld: alpha_zero.cc:(.text+0x30c7): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x30f9): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x4118): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x42bb): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x4896): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x48cb): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x5f25): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x607a): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x6600): undefined reference to `open_spiel::DataLoggerJsonLines::Write(std::map<std::string, open_spiel::json::Value, std::less<std::string>, std::allocator<std::pair<std::string const, open_spiel::json::Value> > >)'
/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:(.text+0x7e11): undefined reference to `open_spiel::file::IsDirectory(std::string const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x7f72): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::string, open_spiel::json::Value, std::less<std::string>, std::allocator<std::pair<std::string const, open_spiel::json::Value> > > 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: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::json::Value::GetDouble()':
alpha_zero.cc:(.text._ZN10open_spiel4json5Value9GetDoubleEv[_ZN10open_spiel4json5Value9GetDoubleEv]+0x64): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel4json5Value9GetDoubleEv[_ZN10open_spiel4json5Value9GetDoubleEv]+0x6c): 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::json::Value::GetInt()':
alpha_zero.cc:(.text._ZN10open_spiel4json5Value6GetIntEv[_ZN10open_spiel4json5Value6GetIntEv]+0x64): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel4json5Value6GetIntEv[_ZN10open_spiel4json5Value6GetIntEv]+0x6c): 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::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::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLoggerC2ERKSsS2_S2_[_ZN10open_spiel10FileLoggerC2ERKSsS2_S2_]+0x5c): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/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::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `void open_spiel::Logger::Print<int, double, double, int, unsigned long>(absl::lts_20211102::str_format_internal::FormatSpecTemplate<str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<unsigned long>()> const&, int const&, double const&, double const&, int const&, unsigned long const&)':
alpha_zero.cc:(.text._ZN10open_spiel6Logger5PrintIiJddimEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_[_ZN10open_spiel6Logger5PrintIiJddimEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_]+0x83): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: 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::lts_20211102::FormatTime(std::basic_string_view<char, std::char_traits<char> >, absl::lts_20211102::Time, absl::lts_20211102::TimeZone)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLogger5PrintERKSs[_ZN10open_spiel10FileLogger5PrintERKSs]+0x3f): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLogger5PrintERKSs[_ZN10open_spiel10FileLogger5PrintERKSs]+0x6d): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::SerializableCircularBuffer<open_spiel::algorithms::torch_az::VPNetModel::TrainInputs>::LoadBuffer(std::string const&)':
alpha_zero.cc:(.text._ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs[_ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs]+0x19f): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs[_ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs]+0x1a7): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `void open_spiel::Logger::Print<int, int, double, double, double>(absl::lts_20211102::str_format_internal::FormatSpecTemplate<str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<double>()> const&, int const&, int const&, double const&, double const&, double const&)':
alpha_zero.cc:(.text._ZN10open_spiel6Logger5PrintIiJidddEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_[_ZN10open_spiel6Logger5PrintIiJidddEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_]+0x7b): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `std::string absl::lts_20211102::strings_internal::JoinRange<__gnu_cxx::__normal_iterator<double const*, std::vector<double, std::allocator<double> > > >(__gnu_cxx::__normal_iterator<double const*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double const*, std::vector<double, std::allocator<double> > >, std::basic_string_view<char, std::char_traits<char> >)':
alpha_zero.cc:(.text._ZN4absl12lts_2021110216strings_internal9JoinRangeIN9__gnu_cxx17__normal_iteratorIPKdSt6vectorIdSaIdEEEEEESsT_SB_St17basic_string_viewIcSt11char_traitsIcEE[_ZN4absl12lts_2021110216strings_internal9JoinRangeIN9__gnu_cxx17__normal_iteratorIPKdSt6vectorIdSaIdEEEEEESsT_SB_St17basic_string_viewIcSt11char_traitsIcEE]+0x67): undefined reference to `absl::lts_20211102::StrAppend(std::string*, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::SaveModelConfig(std::string const&, std::string const&, open_spiel::algorithms::torch_az::ModelConfig const&)':
vpnet.cc:(.text+0x76): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::LoadModelConfig(std::string const&, std::string const&)':
vpnet.cc:(.text+0x253): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::VPNetModel(open_spiel::Game const&, std::string const&, std::string const&, std::string const&)':
vpnet.cc:(.text+0xce8): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: vpnet.cc:(.text+0xd54): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::SaveCheckpoint(int)':
vpnet.cc:(.text+0xea8): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: vpnet.cc:(.text+0xee2): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: vpnet.cc:(.text+0xf3c): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::LoadCheckpoint(int)':
vpnet.cc:(.text+0x107b): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::LoadCheckpoint(std::string const&)':
vpnet.cc:(.text+0x1134): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: vpnet.cc:(.text+0x11bc): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::unique_ptr<open_spiel::algorithms::MCTSBot, std::default_delete<open_spiel::algorithms::MCTSBot> >, std::allocator<std::unique_ptr<open_spiel::algorithms::MCTSBot, std::default_delete<open_spiel::algorithms::MCTSBot> > > >*, std::mersenne_twister_engine<unsigned long, 32ul, 624ul, 397ul, 31ul, 2567483615ul, 11ul, 4294967295ul, 7ul, 2636928640ul, 15ul, 4022730752ul, 18ul, 1812433253ul>*, double, int, double, bool)':
alpha_zero.cc:(.text+0x10fa): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x111f): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x13ba): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x13f6): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/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<open_spiel::algorithms::torch_az::Trajectory>*, std::shared_ptr<open_spiel::algorithms::torch_az::VPNetEvaluator>, open_spiel::StopToken*)':
alpha_zero.cc:(.text+0x1860): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::algorithms::torch_az::VPNetEvaluator>, open_spiel::StopToken*)':
alpha_zero.cc:(.text+0x21b3): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text+0x2847): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/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::algorithms::torch_az::VPNetEvaluator>, open_spiel::ThreadedQueue<open_spiel::algorithms::torch_az::Trajectory>*, 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::lts_20211102::Time)'
/usr/bin/ld: alpha_zero.cc:(.text+0x30c7): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x30f9): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x4118): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x42bb): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x4896): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text+0x48cb): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x5f25): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x607a): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text+0x6600): undefined reference to `open_spiel::DataLoggerJsonLines::Write(std::map<std::string, open_spiel::json::Value, std::less<std::string>, std::allocator<std::pair<std::string const, open_spiel::json::Value> > >)'
/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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::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::string, open_spiel::json::Value, std::less<std::string>, std::allocator<std::pair<std::string const, open_spiel::json::Value> > > 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]+0x64): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel4json5Value9GetDoubleEv[_ZN10open_spiel4json5Value9GetDoubleEv]+0x6c): 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]+0x64): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel4json5Value6GetIntEv[_ZN10open_spiel4json5Value6GetIntEv]+0x6c): 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::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLoggerC2ERKSsS2_S2_[_ZN10open_spiel10FileLoggerC2ERKSsS2_S2_]+0x5c): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/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::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `void open_spiel::Logger::Print<int, double, double, int, unsigned long>(absl::lts_20211102::str_format_internal::FormatSpecTemplate<str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<unsigned long>()> const&, int const&, double const&, double const&, int const&, unsigned long const&)':
alpha_zero.cc:(.text._ZN10open_spiel6Logger5PrintIiJddimEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_[_ZN10open_spiel6Logger5PrintIiJddimEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_]+0x83): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/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::lts_20211102::FormatTime(std::basic_string_view<char, std::char_traits<char> >, absl::lts_20211102::Time, absl::lts_20211102::TimeZone)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLogger5PrintERKSs[_ZN10open_spiel10FileLogger5PrintERKSs]+0x3f): undefined reference to `bool absl::lts_20211102::str_format_internal::FormatArgImpl::Dispatch<std::string>(absl::lts_20211102::str_format_internal::FormatArgImpl::Data, absl::lts_20211102::str_format_internal::FormatConversionSpecImpl, void*)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel10FileLogger5PrintERKSs[_ZN10open_spiel10FileLogger5PrintERKSs]+0x6d): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/alpha_zero.cc.o: in function `open_spiel::SerializableCircularBuffer<open_spiel::algorithms::torch_az::VPNetModel::TrainInputs>::LoadBuffer(std::string const&)':
alpha_zero.cc:(.text._ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs[_ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs]+0x19f): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: alpha_zero.cc:(.text._ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs[_ZN10open_spiel26SerializableCircularBufferINS_10algorithms8torch_az10VPNetModel11TrainInputsEE10LoadBufferERKSs]+0x1a7): 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 `void open_spiel::Logger::Print<int, int, double, double, double>(absl::lts_20211102::str_format_internal::FormatSpecTemplate<str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<int>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<double>(), str_format_internal::ArgumentToConv<double>()> const&, int const&, int const&, double const&, double const&, double const&)':
alpha_zero.cc:(.text._ZN10open_spiel6Logger5PrintIiJidddEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_[_ZN10open_spiel6Logger5PrintIiJidddEEEvRKN4absl12lts_2021110219str_format_internal18FormatSpecTemplateIJXclsr19str_format_internalE14ArgumentToConvIT_EEEXspclsr19str_format_internalE14ArgumentToConvIT0_EEEEEERKS6_DpRKS7_]+0x7b): undefined reference to `absl::lts_20211102::str_format_internal::FormatPack(absl::lts_20211102::str_format_internal::UntypedFormatSpecImpl, absl::lts_20211102::Span<absl::lts_20211102::str_format_internal::FormatArgImpl const>)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::SaveModelConfig(std::string const&, std::string const&, open_spiel::algorithms::torch_az::ModelConfig const&)':
vpnet.cc:(.text+0x76): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::LoadModelConfig(std::string const&, std::string const&)':
vpnet.cc:(.text+0x253): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::VPNetModel(open_spiel::Game const&, std::string const&, std::string const&, std::string const&)':
vpnet.cc:(.text+0xce8): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: vpnet.cc:(.text+0xd54): undefined reference to `open_spiel::SpielFatalError(std::string const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::SaveCheckpoint(int)':
vpnet.cc:(.text+0xea8): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: vpnet.cc:(.text+0xee2): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: vpnet.cc:(.text+0xf3c): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::LoadCheckpoint(int)':
vpnet.cc:(.text+0x107b): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: ../algorithms/alpha_zero_torch/CMakeFiles/alpha_zero_torch.dir/vpnet.cc.o: in function `open_spiel::algorithms::torch_az::VPNetModel::LoadCheckpoint(std::string const&)':
vpnet.cc:(.text+0x1134): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
/usr/bin/ld: vpnet.cc:(.text+0x11bc): undefined reference to `absl::lts_20211102::StrCat(absl::lts_20211102::AlphaNum const&, absl::lts_20211102::AlphaNum const&)'
clang: error: linker command failed with exit code 1 (use -v to see invocation)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libtorch/CMakeFiles/torch_integration_test.dir/build.make:542:libtorch/torch_integration_test] 錯誤 1
make[1]: *** [CMakeFiles/Makefile2:3687:libtorch/CMakeFiles/torch_integration_test.dir/all] 錯誤 2
make[2]: *** [examples/CMakeFiles/alpha_zero_torch_example.dir/build.make:550:examples/alpha_zero_torch_example] 錯誤 1
make[1]: *** [CMakeFiles/Makefile2:8187:examples/CMakeFiles/alpha_zero_torch_example.dir/all] 錯誤 2
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [examples/CMakeFiles/dqn_torch_example.dir/build.make:546:examples/dqn_torch_example] 錯誤 1
make[1]: *** [CMakeFiles/Makefile2:8363:examples/CMakeFiles/dqn_torch_example.dir/all] 錯誤 2
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [algorithms/alpha_zero_torch/CMakeFiles/torch_model_test.dir/build.make:550:algorithms/alpha_zero_torch/torch_model_test] 錯誤 1
make[1]: *** [CMakeFiles/Makefile2:6023:algorithms/alpha_zero_torch/CMakeFiles/torch_model_test.dir/all] 錯誤 2
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [examples/CMakeFiles/alpha_zero_torch_game_example.dir/build.make:550:examples/alpha_zero_torch_game_example] 錯誤 1
make[1]: *** [CMakeFiles/Makefile2:8275:examples/CMakeFiles/alpha_zero_torch_game_example.dir/all] 錯誤 2
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:409:16: error: redefinition of 'ssize_t_cast'
inline ssize_t ssize_t_cast(const IntType &val) {
               ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:412:16: note: previous definition is here
inline ssize_t ssize_t_cast(const IntType &val) {
               ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:415:12: error: redefinition of 'return_value_policy'
enum class return_value_policy : uint8_t {
           ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:418:12: note: previous definition is here
enum class return_value_policy : uint8_t {
           ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:468:48: error: redefinition of default argument
inline static constexpr int log2(size_t n, int k = 0) {
                                               ^   ~
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:492:48: note: previous definition is here
inline static constexpr int log2(size_t n, int k = 0) {
                                               ^   ~
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:473:32: error: redefinition of 'size_in_ptrs'
inline static constexpr size_t size_in_ptrs(size_t s) {
                               ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:497:32: note: previous definition is here
inline static constexpr size_t size_in_ptrs(size_t s) {
                               ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:483:18: error: redefinition of 'instance_simple_holder_in_ptrs'
constexpr size_t instance_simple_holder_in_ptrs() {
                 ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:507:18: note: previous definition is here
constexpr size_t instance_simple_holder_in_ptrs() {
                 ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:493:8: error: redefinition of 'nonsimple_values_and_holders'
struct nonsimple_values_and_holders {
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:517:8: note: previous definition is here
struct nonsimple_values_and_holders {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:499:8: error: redefinition of 'instance'
struct instance {
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:523:8: note: previous definition is here
struct instance {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:584:8: error: redefinition of 'remove_cvref'
struct remove_cvref {
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:608:8: note: previous definition is here
struct remove_cvref {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:610:8: error: redefinition of 'select_indices_impl'
struct select_indices_impl {
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:634:8: note: previous definition is here
struct select_indices_impl {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:614:8: error: redefinition of 'select_indices_impl<index_sequence<IPrev...>, I, B, Bs...>'
struct select_indices_impl<index_sequence<IPrev...>, I, B, Bs...>
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:638:8: note: previous definition is here
struct select_indices_impl<index_sequence<IPrev...>, I, B, Bs...>
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:625:8: error: redefinition of 'negation'
struct negation : bool_constant<!T::value> {};
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:649:8: note: previous definition is here
struct negation : bool_constant<!T::value> {};
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:635:8: error: redefinition of 'void_t_impl'
struct void_t_impl {
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:659:8: note: previous definition is here
struct void_t_impl {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:675:8: error: redefinition of 'remove_class'
struct remove_class {};
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:699:8: note: previous definition is here
struct remove_class {};
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:677:8: error: redefinition of 'remove_class<R (C::*)(A...)>'
struct remove_class<R (C::*)(A...)> {
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:701:8: note: previous definition is here
struct remove_class<R (C::*)(A...)> {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:681:8: error: redefinition of 'remove_class<R (C::*)(A...) const>'
struct remove_class<R (C::*)(A...) const> {
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:705:8: note: previous definition is here
struct remove_class<R (C::*)(A...) const> {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:687:8: error: redefinition of 'intrinsic_type'
struct intrinsic_type {
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:711:8: note: previous definition is here
struct intrinsic_type {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:691:8: error: redefinition of 'intrinsic_type<const T>'
struct intrinsic_type<const T> {
       ^~~~~~~~~~~~~~~~~~~~~~~
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:715:8: note: previous definition is here
struct intrinsic_type<const T> {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:695:8: error: redefinition of 'intrinsic_type<T *>'
struct intrinsic_type<T *> {
       ^~~~~~~~~~~~~~~~~~~
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:719:8: note: previous definition is here
struct intrinsic_type<T *> {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_euchre.cc:26:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:699:8: error: redefinition of 'intrinsic_type<T &>'
struct intrinsic_type<T &> {
       ^~~~~~~~~~~~~~~~~~~
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:723:8: note: previous definition is here
struct intrinsic_type<T &> {
       ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:409:16: error: redefinition of 'ssize_t_cast'
inline ssize_t ssize_t_cast(const IntType &val) {
               ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:412:16: note: previous definition is here
inline ssize_t ssize_t_cast(const IntType &val) {
               ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:415:12: error: redefinition of 'return_value_policy'
enum class return_value_policy : uint8_t {
           ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:418:12: note: previous definition is here
enum class return_value_policy : uint8_t {
           ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:468:48: error: redefinition of default argument
inline static constexpr int log2(size_t n, int k = 0) {
                                               ^   ~
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:492:48: note: previous definition is here
inline static constexpr int log2(size_t n, int k = 0) {
                                               ^   ~
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:473:32: error: redefinition of 'size_in_ptrs'
inline static constexpr size_t size_in_ptrs(size_t s) {
                               ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:497:32: note: previous definition is here
inline static constexpr size_t size_in_ptrs(size_t s) {
                               ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:483:18: error: redefinition of 'instance_simple_holder_in_ptrs'
constexpr size_t instance_simple_holder_in_ptrs() {
                 ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:507:18: note: previous definition is here
constexpr size_t instance_simple_holder_in_ptrs() {
                 ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:493:8: error: redefinition of 'nonsimple_values_and_holders'
struct nonsimple_values_and_holders {
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:517:8: note: previous definition is here
struct nonsimple_values_and_holders {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:499:8: error: redefinition of 'instance'
struct instance {
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:523:8: note: previous definition is here
struct instance {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:584:8: error: redefinition of 'remove_cvref'
struct remove_cvref {
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:608:8: note: previous definition is here
struct remove_cvref {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:610:8: error: redefinition of 'select_indices_impl'
struct select_indices_impl {
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:634:8: note: previous definition is here
struct select_indices_impl {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:614:8: error: redefinition of 'select_indices_impl<index_sequence<IPrev...>, I, B, Bs...>'
struct select_indices_impl<index_sequence<IPrev...>, I, B, Bs...>
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:638:8: note: previous definition is here
struct select_indices_impl<index_sequence<IPrev...>, I, B, Bs...>
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:625:8: error: redefinition of 'negation'
struct negation : bool_constant<!T::value> {};
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:649:8: note: previous definition is here
struct negation : bool_constant<!T::value> {};
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:635:8: error: redefinition of 'void_t_impl'
struct void_t_impl {
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:659:8: note: previous definition is here
struct void_t_impl {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:675:8: error: redefinition of 'remove_class'
struct remove_class {};
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:699:8: note: previous definition is here
struct remove_class {};
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:677:8: error: redefinition of 'remove_class<R (C::*)(A...)>'
struct remove_class<R (C::*)(A...)> {
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:701:8: note: previous definition is here
struct remove_class<R (C::*)(A...)> {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:681:8: error: redefinition of 'remove_class<R (C::*)(A...) const>'
struct remove_class<R (C::*)(A...) const> {
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:705:8: note: previous definition is here
struct remove_class<R (C::*)(A...) const> {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:687:8: error: redefinition of 'intrinsic_type'
struct intrinsic_type {
       ^
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:711:8: note: previous definition is here
struct intrinsic_type {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:691:8: error: redefinition of 'intrinsic_type<const T>'
struct intrinsic_type<const T> {
       ^~~~~~~~~~~~~~~~~~~~~~~
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:715:8: note: previous definition is here
struct intrinsic_type<const T> {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:695:8: error: redefinition of 'intrinsic_type<T *>'
struct intrinsic_type<T *> {
       ^~~~~~~~~~~~~~~~~~~
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:719:8: note: previous definition is here
struct intrinsic_type<T *> {
       ^
In file included from /home/mcc311/open_spiel/open_spiel/python/pybind11/games_gin_rummy.cc:28:
In file included from /home/mcc311/open_spiel/open_spiel/python/../pybind11_abseil/pybind11_abseil/absl_casters.h:33:
In file included from /home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/cast.h:13:
/home/mcc311/open_spiel/open_spiel/libtorch/libtorch/include/pybind11/detail/common.h:699:8: error: redefinition of 'intrinsic_type<T &>'
struct intrinsic_type<T &> {
       ^~~~~~~~~~~~~~~~~~~
/home/mcc311/open_spiel/open_spiel/../pybind11/include/pybind11/detail/common.h:723:8: note: previous definition is here
struct intrinsic_type<T &> {
       ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]

And yes, I have 'abseil-cpp' folder in '/build'. Thanks for reading this!

@lanctot
Copy link
Collaborator

lanctot commented Nov 21, 2022

Thanks @mcc311. Just for completion, I'm pointing to your main thread about this: #966. This is probably related to abseil. See details in that thread.

@lanctot
Copy link
Collaborator

lanctot commented Nov 22, 2022

Hi @roolio, I know it's months late reply but we managed to get it working (with some not so clean solutions). See the new thread @mc311 started above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants