-
Notifications
You must be signed in to change notification settings - Fork 203
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
Update to assimp 5.2.2 #968
Conversation
1064e05
to
8e2dc12
Compare
Signed-off-by: Scott K Logan <logans@cottsay.net>
8e2dc12
to
51a4fe9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
While this compiles just fine, I'd like to hear from someone on the RViz team about how this package is used in RViz and how we could verify that things still work as expected. |
I've found one issue with this so far. It appears that if an unacceptable version of assimp is installed, the cmake config for that version might be used and successfully discover the newer version that is being vendored, but may not match the configuration that was built in the vendor package, which will cause the library to be Uninstalling the system package resolves the issue, but that's not a solution. Still working on that. |
Alright, this is blocked on #970. Without that change, downstream builds will fail on platforms which have a system assimp package which defines a CMake target but is less than 5.2.0. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
conflicts
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me with green CI.
@ros-pull-request-builder retest this please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there are two remaining issues with this PR:
- The patches are failing to apply on Windows. That probably has something to do with line endings or something else fun.
- I think we should probably remove all of the
ASSIMP_CXX_FLAGS
when building on GCC/Clang except for-std=c++14
. In my testing locally, all of the warnings there are actually fixed in the code in assimp 5.2.2, so there is no need for us to pass them anymore.
Looks like line 13 (an empty line) in the patch file has a space, but in the upstream code there is no space on that line. Apparently For reference, this is the upstream line: I couldn't see the difference until downloading each file and looking in a hex editor to be certain; it seems spaces are sometimes not visible in the GitHub UI. |
Actually, I don't think that is the issue. At least, in the testing I did locally, removing that space didn't make a difference. I think the problem is more subtle. In particular, it looks like Git will automatically convert The good news is that there seems to be a workaround by adding a |
Yes indeed! Line endings strike again. I just made a PR to this PR that adds the |
With the upgrade to 5.2.2, these aren't necessary anymore. Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Sigh. There is one more warning on Windows:
I have no idea what that means, but we'll need to fix that as well. |
As far as we can tell, this is already the default on Linux. Building with and without this line in place on Linux ended up with the same installation directory structure. Also, specifying this causes a warning on Windows where it isn't used. Since this is just setting the default anyway, remove it. Signed-off-by: Chris Lalancette <clalancette@gmail.com>
RPM distros use |
Yeah, good point. If the previous CI was successful I was going to run more comprehensive CI, but I'll try this locally on RHEL first and see what happens. |
It is needed on RHEL. So make sure to only set it if we are !WIN32. Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
And you were right about this; that line is needed for RHEL. I've added it back conditionally, only on |
This is an attempt to make Windows Debug work. Signed-off-by: Chris Lalancette <clalancette@gmail.com>
This reverts commit f5cd512.
This is failing to work on Windows Debug, and we really don't need it for a vendored library. Signed-off-by: Chris Lalancette <clalancette@gmail.com>
Signed-off-by: Chris Lalancette <clalancette@gmail.com>
All right, everything here is green. This update was a bit more...delicate than I would have liked, but we seemed to have successfully danced our way around the issues. Going ahead and merging. |
This matches the version distributed in Ubuntu Jammy: https://packages.ubuntu.com/jammy/libassimp-dev