Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add full VERSIONs / SONAMEs to our libraries #273

Merged
merged 2 commits into from
Oct 19, 2016

Commits on Oct 19, 2016

  1. add full VERSIONs / SONAMEs to all core libraries

    As a result the libraries do not install as `libmoveit_xyz.so` anymore,
    but as `libmoveit_xyz.so.${MOVEIT_VERSION}` and only provide `libmoveit_xyz.so`
    as a symlink pointing to the versioned file.
    
    Because this sets each library's SONAME to the *full version*, this enforces
    that *every* binary links with the versioned library file from now on and
    has to be relinked with *each* new release of MoveIt!.
    
    The alternative would be to set the SONAME to `$MAJOR.$MINOR` and ignore the patch version,
    but because we currently stay with one `$MAJOR.$MINOR` number within each ROS distribution,
    we had (and likely will have) ABI changes in the `$PATCH` version releases too.
    
    The reason for this commit is that it is practically impossible to maintain full ABI compatibility
    within each ROS distribution and still add the the features/patches the community asks for.
    This has resulted in more than one ABI-incompatible MoveIt! release in the recent past
    within a ROS distribution. Because the libraries have not been versioned up to now,
    there was no way to indicate the incompatible changes and users who did not rebuild
    their whole workspace with the new release encountered weird and hard-to-track segfaults
    or broken behavior.
    v4hn committed Oct 19, 2016
    Configuration menu
    Copy the full SHA
    bb490fa View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    8f3d19a View commit details
    Browse the repository at this point in the history