-
Notifications
You must be signed in to change notification settings - Fork 212
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
Fix support for assimp 5.1.0 #817
Conversation
Note that Ubuntu Jammy uses assimp 5.1.4 (see https://launchpad.net/ubuntu/jammy/+source/assimp), so this PR could be useful for ros2/ros2#1221 . |
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.
Nice, thanks for this! Confirmed that I can build on macOS Monterey after this PR. I'm going to run CI on our normal stuff, plus Jammy just to ensure that this works there as well.
Sorry @clalancette, I had missed your reply. The Jammy CI is failing with the error:
I had a similar error (i.e. related to draco) on a Debian Testing CI (that I set up exactly to early catch problem that will arise in future Ubuntu distro) in robotology/robotology-superbuild#974 . I think there are several problem related to the fact that the Debian packaging of assimp is tryng to patch assimp to make sure that the Debian's draco instead of the vendored one. However, the situation was in rapid evolution, so probably it could make sense to try to re-run Jammy CI. |
I did that (without this patch) here: https://ci.ros2.org/job/ci_linux/15962/console . Looks like it is still broken, so we may have to dig into the Debian/Ubuntu Jammy situation a bit more. |
I have another build on latest Jammy that works fine, so I guess it is some kind of error related to repeated CMake calls, i.e.:
I will quickly check on a Jammy instance. |
Bingo:
fails with:
while:
works fine. |
An even simpler example to reproduce the problem is: cmake_minimum_required(VERSION 3.16)
project(assimptest)
find_package(draco REQUIRED)
find_package(draco REQUIRED) (i.e. the issue is in |
I opened a upstream (Ubuntu) bug in https://bugs.launchpad.net/ubuntu/+source/draco/+bug/1958432 . As the problem originates in Debian, it would have been more appropriate to report in Debian, but to be completly honest I am not an expert use of reportbug and all the machinery required to report bugs in Debian. On the other hand, the upstream mantainer is @roehling, and he seems to be interested in ROS, so perhaps it could be interested in the problem and the suggested solution even if not reported via Debian's bug tracker. |
I just uploaded a fixed version of draco to Debian unstable, and it should find its way to Ubuntu within a couple of days, since Ubuntu 22.04 is still syncing with Debian. @traversaro: I am not notified about new bugs which are filed in Launchpad, which is the main reason why it is better to report Debian related bugs in Debian. Mentioning me on Github does help, though. ;) |
Great, thanks!
Yes, I suspected that. On the other hand, I am a bit afraid afraid of doing something wrong when submitting Debian bugs as I need to manually compose mails, without the possibility of validating (as far as I know) the message before I send it. |
So it looks like the new Unfortunately, I think the changes in this PR aren't sufficient. With the newest
@traversaro Would you mind taking a look? |
I added 2e47d07 that should fix the issue. |
Thanks for giving it a try again. Unfortunately, I still have exactly the same issue on Jammy, even with the updated code. Any other thoughts on what it might be? |
Interesting. Do you have a log to check? Otherwise I will try to setup an instance on which to debug the problem, but it may take longer on my side. |
Ah, I may have found it. I think |
Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
This reverts commit 2f86475.
I'm not sure if the issue was fixed by this, but I had to export |
Hm, interesting. It actually looks like Separately, the Linux Jammy job is still failing with the |
No problem for me to just wait for the Dockerfile update to merge this. |
It doesn't directly depend on it, so it should not include it. Signed-off-by: Chris Lalancette <clalancette@openrobotics.org>
Yeah, that worked fine for me locally, so 0d26798 removes it. |
I re-ran the job on Jammy, and it looks like the Docker images were updated over the weekend. So the build passed (there are a bunch of warnings on Jammy, but those are completely unrelated to this PR). So I'm going to go ahead and merge this; thanks for the fix @traversaro ! |
Thanks for merging @clalancette ! |
@clalancette Can this be backported to the galactic and foxy branches? Is there an automated tool to do this? If not, I can make the PR. |
This pull request has been mentioned on ROS Discourse. There might be relevant details there: https://discourse.ros.org/t/ros-2-tsc-meeting-january-20th-2022/23986/1 |
I'm somewhat hesitant to do it, just because this changes enough of how things are done that it could cause problems in Foxy and Galactic. Are you more interested in the support for assimp 5.1.0, or in the part of this PR where we did the export of |
@clalancette I'm interested in the support for assimp 5.1.0, which I don't think will cause any issues in Foxy and Galactic. |
assimp 5.1.0 has a relativly working CMake support (after the upstream work in assimp/assimp#3455) and
assimp::assimp
imported target, so if assimp > 5.0.1 we can avoid to used the custom logic necessary for old assimp versions.Fix ros2/ros2#1222 .