[
https://issues.apache.org/jira/browse/THRIFT-3847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
James E. King, III resolved THRIFT-3847.
----------------------------------------
Resolution: Fixed
Fix Version/s: 0.11.0
Resolved as part of https://github.com/apache/thrift/pull/1128
> thrift/config.h includes a #define for VERSION which will likely conflict
> with existing user environment or code
> ----------------------------------------------------------------------------------------------------------------
>
> Key: THRIFT-3847
> URL: https://issues.apache.org/jira/browse/THRIFT-3847
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Affects Versions: 0.10.0
> Environment: Ubuntu 14.04, used docker environment to build debian
> packages with "dpkg-buildpackage -d -tc" inside the docker environment.
> Reporter: James E. King, III
> Assignee: James E. King, III
> Priority: Minor
> Fix For: 0.11.0
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)