Blizzard / s2client-api

StarCraft II Client - C++ library supported on Windows, Linux and Mac designed for building scripted bots and research using the SC2API.
MIT License
1.66k stars 282 forks source link

Error when running ./all_tests on Linux #336

Open Felixvillas opened 1 year ago

Felixvillas commented 1 year ago

The following error was encountered while testing ./all_tests on Linux.

The command I run is as follow (${my_StarCraftII_path} and ${my_s2client-api_path} denote the path of my StarCraftII and s2client-api, respectively):

./all_tests -e ${my_StarCraftII_path}/Versions/Base69232/SC2_x64

And the output of this command are as follows:

Running test: sc2::TestAbilityRemap
Launched SC2 (${my_StarCraftII_path}/Versions/Base69232/SC2_x64), PID: 145940
${my_StarCraftII_path}/Versions/Base69232/SC2_x64: /lib64/libstdc++.so.6: version GLIBCXX_3.4.21' not found (required by ${my_StarCraftII_path}/Versions/Base69232/SC2_x64) 
Waiting for connection.....................................................................................
................................... 
Unable to connect to game all_tests: ${my_s2client-api_path}/src/sc2api/sc2_coordinator.cc:94: bool sc2::AttachClients(sc2::ProcessSettings&, std::vector<sc2::Client*>): Assertion connected' failed.
Aborted

It's quite strange that I got "/lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ${my_StarCraftII_path}/Versions/Base69232/SC2_x64)" when launching SC2, as I can start SC2 manually by following commands:

cd ${my_StarCraftII_path}/Versions/Base69232/
./SC2_x64 -listen 127.0.0.1 -port 37688

And the output of the commands are:

Version: B69232 (SC2.4.6-Publish)
Build: Oct 23 2018 01:43:04
Command Line: '"./SC2_x64" -listen 127.0.0.1 -port 37688'
Starting up...
Startup Phase 1 complete
Startup Phase 2 complete
Creating stub renderer...
Listening on: 127.0.0.1:37688
Startup Phase 3 complete. Ready for commands.

In my opinion, SC2 is started by this way in my Linux. Besides, SC2 can also be started by other ways like python interface shown in pysc2 and smac. So I think my StarCraftII can work properly.

So, why won't StarCraft II start when I run ./all_tests?