-
Notifications
You must be signed in to change notification settings - Fork 497
Symbol collision for BUILD_TYPE_*
variables with dart
#2343
Comments
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters). cc @mxgrey |
Original comment by Michael Grey (Bitbucket: mxgrey, GitHub: mxgrey). Good to know. I wonder how many other cmake-based projects run into this issue, and how others have handled it. One solution is to qualify the macros with the project name (e.g. Maybe we could instead mask these variables with some |
Original comment by Michael Grey (Bitbucket: mxgrey, GitHub: mxgrey). Actually, after some further thought, these files are configured at config time, which means the value set by Gazebo can't affect the DART header. That would suggest that namespacing these macros would be the right way to go. However, I'm a bit perplexed about how these macros would affect things when multiple build types are installed at once. The macro that's set for the header you use might not match the build type of the library you link against. I wonder if both DART and Gazebo should keep these macros private rather than have them in a public-facing header. |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters). yeah, we should probably just move those variables to a private header. gazebo just seems to use them in some of the tests note that we have them in most of the ignition projects too |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters). |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters). now see pull request #2846 instead |
Original comment by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).
symbols renamed to |
Original report (archived issue) by Steve Peters (Bitbucket: Steven Peters, GitHub: scpeters).
We recently started installing dart for gazebo CI jobs on Ubuntu, and I just noticed a new compiler warning in the Release build of the default branch:
I believe this occurs because these variables are exposed in similar header files generated by cmake for both gazebo and dart:
We usually don't see this conflict because gazebo uses the
RelWithDebInfo
build type by default, but the conflict occurs when both build in Release mode.I think there may be some other symbol collisions as well, like
HAVE_BULLET
.The text was updated successfully, but these errors were encountered: