Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
0.10.0
-
None
-
Ubuntu 14.04, used docker environment to build debian packages with "dpkg-buildpackage -d -tc" inside the docker environment.
Description
The built debian package installs /usr/include/thrift/config.h which has a #define VERSION in it. This is likely to conflict with third party packages or end-user code. It should be changed to THRIFT_VERSION as soon as possible. I recognize this is a breaking change but also an easy one for people to absorb. It just bit me on a project where VERSION was used as a variable name in some tests, and in some generated code where VERSION was used as the name of a string in a thrift structure, i.e.
struct SomeStruct
{ 1: string VERSION }This won't build because the compiler will see VERSION in the generated code and change it to a string constant from thrift/config.h, which won't compile.
Follow-up: THRIFT-3873 changed from "VERSION" to "PACKAGE_VERSION", not "THRIFT_VERSION" which was prescribed here.
Attachments
Issue Links
- is related to
-
THRIFT-3873 Fix various build warnings when using Visual Studio
- Closed