[ https://issues.apache.org/jira/browse/THRIFT-3847?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James E. King, III reassigned THRIFT-3847: ------------------------------------------ Assignee: James E. King, III > 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 > > 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)