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 281 forks source link

error: #error This file was generated by an older version of protoc which is #199

Closed slimak2 closed 6 years ago

slimak2 commented 7 years ago

Hi , could anyone help me?

I am trying to make work Commandcenter from David Churchill , but i got into problem with incompatibility of s2client-api and protobuf.

when i try to build it , it throws me error:

error This file was generated by an older version of protoc which is

error incompatible with your Protocol Buffer headers. Please

error regenerate this file with a newer version of protoc.

content of opt/local/include/s2clientprotocol/sc2api.pb.h is:

if GOOGLE_PROTOBUF_VERSION < 2007000

error This file was generated by a newer version of protoc which is

error incompatible with your Protocol Buffer headers. Please update

error your headers.

endif

if 2007000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION

error This file was generated by an older version of protoc which is

error incompatible with your Protocol Buffer headers. Please

error regenerate this file with a newer version of protoc.

endif

i tried ask dave churchils team for help, but they told me to ask you. here is link to this issue: https://github.com/davechurchill/commandcenter/issues/59

AnthonyBrunasso commented 6 years ago

This seems strange.

My guess is the generated .cc and .h files were generated by the API's protobuf but it is linking your systems protobuf which is an older version? Do you think that's possible? Are you linking the correct lib? libprotobuf from our library?

slimak2 commented 6 years ago

Yes , it is possible. How do i find out what it is linking?

alkurbatov commented 6 years ago

According to the original error we have:

[ 2%] Building CXX object src/CMakeFiles/CommandCenter.dir/BaseLocation.cpp.o
cd /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src && /usr/bin/c++ -DSC2API -isystem /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include -Wall -Wextra -std=gnu++14 -o CMakeFiles/CommandCenter.dir/BaseLocation.cpp.o -c /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp
In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5:0,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13,
from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.h:3,
from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BaseLocation.cpp:1:
/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:17:2: error: #error This file was generated by an older version of protoc which is
#error This file was generated by an older version of protoc which is
^

So '-isystem /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include' must contain all the needed headers and will be checked by g++ before the system directories. Probably there is something missing inside?

alkurbatov commented 6 years ago

On the second thought I believe the problem is in -isystem itself. We can try to patch CommandCenter using BEFORE flag as it is said here https://cmake.org/cmake/help/v3.0/command/include_directories.html

I’ll report the result shortly.

alkurbatov commented 6 years ago

No success.

The issue happens after

$ apt-get install protobuf-compiler

Seems that it is somehow related to the protoc utility.

AnthonyBrunasso commented 6 years ago

You shouldn't need to apt-get install the protobuf-compiler. The API builds protoc itself and runs it.

alkurbatov commented 6 years ago

I know. The problem is that @slimak2 has no admin permissions on his linux machine. Somebody did it so we can’t compile now.

Up: Probably the problem caused by one of the dependencies the protobuf compiler brings.

slimak2 commented 6 years ago

is there something i could try to do? or find out?

ATigerWang commented 6 years ago

@slimak2 I encountered the same problem, and I find that it's because the file include the protobuf from the system(mine is in /usr/include/google/protobuf which is older). Then I delete it and copy the files generated from s2client-api.

slimak2 commented 6 years ago

What exactly did you deleted? And where did you copy, witch files from s2client-api? please

ATigerWang commented 6 years ago

@slimak2 I deleted the /usr/include/google/protobuf directly and copid the s2client-api/contrib/protobuf/src/google/protobuf to the previous place. This may be an unsafe method to update the protobuf.

slimak2 commented 6 years ago

woa, i cant do that, i doubt that my school would allow me to change their system like that . Isn't there some way that i could change paths to protobuf somewhere in s2client-api?

ATigerWang commented 6 years ago

It doesn't matter. You can update your protobuf as suggested in https://github.com/google/protobuf/blob/master/src/README.md. Or as @alkurbatov recommended you can change the include order using include_directories(BEFORE SYSTEM "YOUR_PROTOBUF_INCLUDE_PATH").

alkurbatov commented 6 years ago

Finally I found why this happens. The problem is in CommandCenter 'FindSc2Api" side. When we have upstream protobuf installed the 'find' construction reports path to it, not to our custom location: @slimak2 to avoid the problem please apply this commit: https://github.com/alkurbatov/commandcenter/commit/ed234ecf7c99a65d70786b3ce209892cc143f381

I'll path CommandCenter later.

slimak2 commented 6 years ago

I used the new update and this time it got bit further , from [ 2%] Building CXX object src/CMakeFiles/CommandCenter.dir/BotAssert.cpp.o to [ 5%] Building CXX object src/CMakeFiles/CommandCenter.dir/BotConfig.cpp.o but it still failed on the same error. Could you please help me?

here is print of my command line:

xkraji11@athena1:/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter$ git checkout ed234ecf7c99a65d70786b3ce209892cc143f381 Checking out files: 100% (23/23), done. Note: checking out 'ed234ecf7c99a65d70786b3ce209892cc143f381'.

You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example:

git checkout -b

HEAD is now at ed234ec... cmake: Avoid collisions with upstream libprotobuf xkraji11@athena1:/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter$ cmake . -- The C compiler identification is GNU 5.4.0 -- The CXX compiler identification is GNU 5.4.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found SC2Api: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include;/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include;/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api -- Configuring done -- Generating done -- Build files have been written to: /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter xkraji11@athena1:/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter$ make Scanning dependencies of target CommandCenter [ 2%] Building CXX object src/CMakeFiles/CommandCenter.dir/BotAssert.cpp.o [ 5%] Building CXX object src/CMakeFiles/CommandCenter.dir/BotConfig.cpp.o In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:31:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/common.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/common.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/common.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:32:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/data.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/data.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/data.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:33:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/debug.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/debug.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/debug.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:34:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/error.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/error.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/error.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:35:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/query.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/query.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/query.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:36:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/raw.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/raw.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/raw.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:37:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/score.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/score.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/score.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:38:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/spatial.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/spatial.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/spatial.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:39:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/ui.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/ui.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/ui.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/google/protobuf/arenastring.h:40:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:23, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/google/protobuf/generated_message_util.h:121:67: error: expected initializer before âGOOGLE_ATTRIBUTE_NORETURNâ LIBPROTOBUF_EXPORT void MergeFromFail(const char* file, int line) GOOGLE_ATTRIBUTE_NORETURN; ^ src/CMakeFiles/CommandCenter.dir/build.make:86: nĂĄvod pro cĂ­l âsrc/CMakeFiles/CommandCenter.dir/BotConfig.cpp.oâ selhal make[2]: [src/CMakeFiles/CommandCenter.dir/BotConfig.cpp.o] Chyba 1 CMakeFiles/Makefile2:85: nĂĄvod pro cĂ­l âsrc/CMakeFiles/CommandCenter.dir/allâ selhal make[1]: [src/CMakeFiles/CommandCenter.dir/all] Chyba 2 Makefile:83: nĂĄvod pro cĂ­l âallâ selhal make: *** [all] Chyba 2

alkurbatov commented 6 years ago

You have to delete previously generated cmake files otherwise changes will not take effect. Cast the following command in root folder of the project before running cmake again: rm -rf CMakeCache.txt CMakeFiles

Or just make checkout into clean directory. If it fails show part of the output of VERBOSE=1 make

slimak2 commented 6 years ago

I did that, I deleted all directories and generated all s2client-api again with the same result.

Here is print after deleting CMakeCache.txt and CMakeFiles

xkraji11@athena1:/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api$ rm -rf CMakeCache.txt CMakeFiles xkraji11@athena1:/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api$ cd commandcenter/ xkraji11@athena1:/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter$ rm -rf CMakeCache.txt CMakeFiles xkraji11@athena1:/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter$ git checkout ed234ecf7c99a65d70786b3ce209892cc143f381 M cmake/FindSC2Api.cmake HEAD is now at ed234ec... cmake: Avoid collisions with upstream libprotobuf

xkraji11@athena1:/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter$ cmake . -- The C compiler identification is GNU 5.4.0 -- The CXX compiler identification is GNU 5.4.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found SC2Api: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include;/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include;/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api -- Configuring done -- Generating done -- Build files have been written to: /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter

xkraji11@athena1:/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter$ VERBOSE=1 make /usr/bin/cmake -H/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter -B/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter --check-build-system CMakeFiles/Makefile.cmake 0 /usr/bin/cmake -E cmake_progress_start /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/CMakeFiles /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/CMakeFiles/progress.marks make -f CMakeFiles/Makefile2 all make[1]: Vstupuje se do adresĂĄĹe â/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenterâ make -f src/CMakeFiles/CommandCenter.dir/build.make src/CMakeFiles/CommandCenter.dir/depend make[2]: Vstupuje se do adresĂĄĹe â/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenterâ cd /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/CMakeFiles/CommandCenter.dir/DependInfo.cmake --color= Dependee "/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/CMakeFiles/CommandCenter.dir/DependInfo.cmake" is newer than depender "/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/CMakeFiles/CommandCenter.dir/depend.internal". Dependee "/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/CMakeFiles/CMakeDirectoryInformation.cmake" is newer than depender "/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/CMakeFiles/CommandCenter.dir/depend.internal". Scanning dependencies of target CommandCenter make[2]: OpouĹĄtĂ­ se adresĂĄĹ â/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenterâ make -f src/CMakeFiles/CommandCenter.dir/build.make src/CMakeFiles/CommandCenter.dir/build make[2]: Vstupuje se do adresĂĄĹe â/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenterâ [ 2%] Building CXX object src/CMakeFiles/CommandCenter.dir/BotAssert.cpp.o cd /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src && /usr/bin/c++ -DSC2API -isystem /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include -isystem /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api -Wall -Wextra -std=gnu++14 -o CMakeFiles/CommandCenter.dir/BotAssert.cpp.o -c /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotAssert.cpp [ 5%] Building CXX object src/CMakeFiles/CommandCenter.dir/BotConfig.cpp.o cd /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src && /usr/bin/c++ -DSC2API -isystem /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include -isystem /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api -Wall -Wextra -std=gnu++14 -o CMakeFiles/CommandCenter.dir/BotConfig.cpp.o -c /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:31:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/common.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/common.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/common.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:32:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/data.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/data.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/data.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:33:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/debug.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/debug.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/debug.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:34:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/error.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/error.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/error.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:35:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/query.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/query.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/query.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:36:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/raw.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/raw.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/raw.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:37:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/score.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/score.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/score.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:38:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/spatial.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/spatial.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/spatial.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:39:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/ui.pb.h:17:2: error: #error This file was generated by an older version of protoc which is

error This file was generated by an older version of protoc which is

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/ui.pb.h:18:2: error: #error incompatible with your Protocol Buffer headers. Please

error incompatible with your Protocol Buffer headers. Please

^ /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/ui.pb.h:19:2: error: #error regenerate this file with a newer version of protoc.

error regenerate this file with a newer version of protoc.

^ In file included from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/google/protobuf/arenastring.h:40:0, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/s2clientprotocol/sc2api.pb.h:23, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_proto_interface.h:5, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_unit.h:6, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_interfaces.h:13, from /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api/sc2_api.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/Common.h:17, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.h:3, from /mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenter/src/BotConfig.cpp:1: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/google/protobuf/generated_message_util.h:121:67: error: expected initializer before âGOOGLE_ATTRIBUTE_NORETURNâ LIBPROTOBUF_EXPORT void MergeFromFail(const char* file, int line) GOOGLE_ATTRIBUTE_NORETURN; ^ src/CMakeFiles/CommandCenter.dir/build.make:86: nĂĄvod pro cĂ­l âsrc/CMakeFiles/CommandCenter.dir/BotConfig.cpp.oâ selhal make[2]: [src/CMakeFiles/CommandCenter.dir/BotConfig.cpp.o] Chyba 1 make[2]: OpouĹĄtĂ­ se adresĂĄĹ â/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenterâ CMakeFiles/Makefile2:85: nĂĄvod pro cĂ­l âsrc/CMakeFiles/CommandCenter.dir/allâ selhal make[1]: [src/CMakeFiles/CommandCenter.dir/all] Chyba 2 make[1]: OpouĹĄtĂ­ se adresĂĄĹ â/mnt/minerva1/nlp/projects/ai_in_games19/s2client-api/commandcenterâ Makefile:83: nĂĄvod pro cĂ­l âallâ selhal make: *** [all] Chyba 2

alkurbatov commented 6 years ago

Strange.

-- Found SC2Api: /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include;/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include;/mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api

means that your include directories are ok.

Are you sure that you copied all needed protobuf files to /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api ?

Any idea how to reproduce this problem?

slimak2 commented 6 years ago

what do you mean by clean project?

alkurbatov commented 6 years ago

E.g. after git clone or after removal of intermediate object files (make clean).

slimak2 commented 6 years ago

New Text Document (2).txt

slimak2 commented 6 years ago

I follow this procedure:

LD_LIBRARY_PATH=/mnt/minerva1/nlp/projects/ai_in_games19/:$LD_LIBRARY_PATH PATH=/mnt/minerva1/nlp/projects/ai_in_games19/:$PATH

git clone --recursive https://github.com/Blizzard/s2client-api && cd s2client-api git checkout aba2d3813571c344090f3de5b58a5c912cd5acb3 . mkdir build && cd build cmake ../ make Install the SC2 API libraries and headers to your system cd ../

mkdir -p /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include cp -R include/sc2api /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include cp -R include/sc2utils /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include cp -R build/generated/s2clientprotocol /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include

cp -R contrib/protobuf/src/google /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/include/sc2api cp -R contrib/protobuf/src/google /mnt/minerva1/nlp/projects/ai_in_games19/usr/include/google

mkdir -p /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/lib/sc2api cp build/bin/libcivetweb.a /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/lib/sc2api cp build/bin/libprotobuf.a /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/lib/sc2api cp build/bin/libsc2api.a /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/lib/sc2api cp build/bin/libsc2lib.a /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/lib/sc2api Build the bot git clone https://github.com/davechurchill/commandcenter.git && cd commandcenter git checkout ed234ecf7c99a65d70786b3ce209892cc143f381 . && cd cmake && vim FindSC2Api.cmake here i set paths in the file to /mnt/minerva1/nlp/projects/ai_in_games19/opt/local/.... cd .. cmake . make

alkurbatov commented 6 years ago

It looks correct, cmake output too.

Unfortunately I ran out of ideas now. I can only suggest you to try to build my own bot as it uses different way of project organization.

slimak2 commented 6 years ago

Thank you, its working for me now. I just forgot about libsc2protocol.a and libsc2utils.a .