-
-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
flann: refactor #129491
flann: refactor #129491
Conversation
9d758bd
to
4da9729
Compare
Result of 1 package failed to build:2 packages skipped due to time constraints:
2 packages built successfully:
3 suggestions:
Note that build failures may predate this PR, and could be nondeterministic or hardware dependent. Result of 1 package failed to build:2 packages skipped due to time constraints:
2 packages built successfully:
3 suggestions:
Note that build failures may predate this PR, and could be nondeterministic or hardware dependent. |
So the issue with Hugin is that it uses an included
There is a newer release of Hugin (2020.0), but it doesn't seem to address this issue. I don't see a patch for this in Debian, so I'm not sure how it's working there either. If it needs to be patched, my inclination would be just to grab the https://github.com/PointCloudLibrary/pcl/blob/master/cmake/Modules/FindFLANN.cmake |
@mikepurvis the hugin in Debian is version 2020.0.0 and uses pkg-config and gets
|
@jspricke Thanks for jumping in here! On closer inspection, I see that the FindFLANN module does in fact use pkgconfig:
And it's unchanged between the 2019 and 2020 versions. Both fail in my local
I shall continue to investigate. |
@mikepurvis |
Seems reasonable, I think:
And this config also works fine with the PCL 1.11 build.
Yeah, I would have thought so too, and yet:
|
I had a look, the difference is:
NixOS
the NixOS
The problem is the semicolon, which is coming from |
Yes, I can confirm that removing the semicolon causes it to succeed when linking manually. I think this only works for PCL because its version of In any case, yes this should be fairly easy to patch up. |
This change adds two additional patches from Debian's version of libflann, which most critically fix an issue where the lz4 library was being bundled with flann, causing header conflicts when later packages would independently pull flann and another lz4. While I'm here, I've also disabled the unused examples and tests, as well as the MatLab bindings, and placed the Python bindings behind a flag (am open to the default being changed to true for this).
93a1d02
to
3fc8dda
Compare
3fc8dda
to
bc8249d
Compare
Have pushed a new version which I believe addresses all the feedback, and am locally re-running Regarding the Python story, it turns out it's pretty goofy; it isn't bindings at all, but rather just a handful of uninstalled files that make up a ctypes wrapper:
So I've left this is in for now, but it won't be much use to anyone unless the packaging is further updated to actually |
I'm not sure what the review-shell thing is all about here, but everything passed dependency rebuild, so I'm going to tick that off the list.
|
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
Awesome, thanks for the merge! |
Motivation for this change
Flann is an important package in the robotics community, as it is a dependency of PCL, the pointcloud library. Unfortunately, it hasn't received a release since 2016 and the repo has accumulated a large number of open issues and PRs:
https://github.com/flann-lib/flann/tags
Most notably, the 1.9.1 release has an issue where it bundles a copy of the lz4 headers. This change piggy-backs on the already-reviewed patches used in the Debian version of the package, prepared by @jspricke.
Things done
I'm a first-time contributor, so I don't know exactly what is best here, but in my local clone of nixpkgs (on NixOS) I ran:
And confirmed a successful build, with
enablePython
in both possible states.sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)Am running
nixpkgs-review pr 129491
, and so far I have the following failure:FYI @lopsided98