Can you please distribute sdk.proto instead of sdk.pb.h?

Hi there,

I’m building the CPP server SDK 3.1.5 on Amazon Linux.

Though Amazon Linux has a relatively old build tools chain, it seems the SDK requires recent cmake, protobuf, and gcc. So, I’m trying to tweak the 3.1.5 source to make it compilable with cmake 2.8, protobuf 2.5, and gcc 4.8.3, which are default on Amazon Linux.

During the effort, I ran into an issue complaining “protocols/sdk.pb.h” has been generated by a newer protoc. IMHO it’s more portable to generate pb.h from a proto file at a build time than to ship generated .pb.h. So, I’m wondering if you have any plan to distribute “.proto” files and to update CMakeLists.txt so that it can generate .pb.h from .proto using an installed protoc.

Thanks,

DK


[ 42%] Building CXX object CMakeFiles/aws-cpp-sdk-gamelift-server.dir/source/aws/gamelift/server/GameLiftServerState.cpp.o
In file included from /home/ec2-user/workspace/Gamelift-SDK-Release-3.1.5/GameLift-Cpp-ServerSDK-3.1.5/gamelift-server-sdk/include/aws/gamelift/internal/network/AuxProxyMessageSender.h:19:0,
from /home/ec2-user/workspace/Gamelift-SDK-Release-3.1.5/GameLift-Cpp-ServerSDK-3.1.5/gamelift-server-sdk/include/aws/gamelift/internal/network/Network.h:14,
from /home/ec2-user/workspace/Gamelift-SDK-Release-3.1.5/GameLift-Cpp-ServerSDK-3.1.5/gamelift-server-sdk/include/aws/gamelift/internal/GameLiftServerState.h:16,
from /home/ec2-user/workspace/Gamelift-SDK-Release-3.1.5/GameLift-Cpp-ServerSDK-3.1.5/gamelift-server-sdk/source/aws/gamelift/server/GameLiftServerState.cpp:12:
/home/ec2-user/workspace/Gamelift-SDK-Release-3.1.5/GameLift-Cpp-ServerSDK-3.1.5/gamelift-server-sdk/include/aws/gamelift/server/protocols/sdk.pb.h:12:2: error: #error This file was generated by a newer version of protoc which is
#error This file was generated by a newer version of protoc which is
^
/home/ec2-user/workspace/Gamelift-SDK-Release-3.1.5/GameLift-Cpp-ServerSDK-3.1.5/gamelift-server-sdk/include/aws/gamelift/server/protocols/sdk.pb.h:13:2: error: #error incompatible with your Protocol Buffer headers. Please update
#error incompatible with your Protocol Buffer headers. Please update
^
/home/ec2-user/workspace/Gamelift-SDK-Release-3.1.5/GameLift-Cpp-ServerSDK-3.1.5/gamelift-server-sdk/include/aws/gamelift/server/protocols/sdk.pb.h:14:2: error: #error your headers.
#error your headers.
^
/home/ec2-user/workspace/Gamelift-SDK-Release-3.1.5/GameLift-Cpp-ServerSDK-3.1.5/gamelift-server-sdk/include/aws/gamelift/server/protocols/sdk.pb.h:22:35: fatal error: google/protobuf/arena.h: No such file or directory
#include <google/protobuf/arena.h>
^

I’ve asked the team about plans for this feature.

Hi DKMoon,

Thank you for looking into this. Seems that you have a valid use case here. I’ll communicate with the GameLift team and make sure they take this into consideration for upcoming releases of the GameLift server SDK.