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
python39Packages.opensfm: init at 0.5.2 #152957
Conversation
b35086a
to
31a4150
Compare
31a4150
to
31745dc
Compare
This pull request has been mentioned on NixOS Discourse. There might be relevant details there: |
aa75e4d
to
a7d9ff2
Compare
I've found this suffers from spurious segfaults when using HAHOG descriptors or when using multithreading or just randomly when computing depthmaps, so I'm converting this into a draft until I'm done with debugging |
15a70f7
to
ca6b196
Compare
No more disabled tests, and no segfaults! I've bumped this to the (unreleased) I think the derivation is ready to be merged. Now that everything works I would reach out the upstream developers: hopefully they'd be willing to cooperate and remove the need for all the patches I've introduced. If that works out, I'll open a follow-up PR to remove the ad hoc hacks and ensure integration with One more thing, I've been checking shebangs manually as follows:
(there's been a lot of issues with shebangs) How should I automate this sort of a test? |
This allows not to fetch the submodules. Additionally, the original eigen cmake patch missed out ceres (miraculously it worked for some opensfm revisions, and gave unresolved symbols on others, at runtime).
b023062
to
d87c3a2
Compare
In 21.05 ceres hasn't been split yet
- avoid having two opencvs in closure - disable tests with lowerbounded residuals (smh darwin build converges to better minima - maybe different fp precision?)
|
Actually, is it at all a good idea to have something as big and brittle as opencv4 in |
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch). Result of 2 packages built:
|
@SuperSandro2000 thank you for all of your comments and advice, this has been a pleasant journey The derivation can still see some improvement, but I'll try to get the remaining patches upstream first! |
…nd Ceres (#872) Summary: - [x] Upstream documentation suggests eigen be used through the `Eigen3::Eigen` target: https://eigen.tuxfamily.org/dox/TopicCMakeGuide.html - [x] Eliminates the need for custom FindEigen.cmake and hard-coded paths - [x] Makes it easier to package opensfm for distributions - [x] Closes: #802 - [x] Checked `docker build -f Dockerfile.ceres2 .` and `nix build` - [ ] `target_link_libraries` vs `target_include_directories` propagation rules: cf. bottom of the section https://cmake.org/cmake/help/latest/manual/cmake-buildsystem.7.html#transitive-usage-requirements I needed these changes in the process of packaging OpenSfM for nixpkgs, which significantly simplifies the building and deployment compared to plain docker: NixOS/nixpkgs#152957 You can see the build status, including the tests (currently failing to build for macos) at: https://github.com/SomeoneSerge/pkgs/actions I'd hope to follow up with a few more changes that I found I needed, but I'd need your advice on how to go about them: - Discovering system-distributed gtest? #870 - Discovering system-distributed pybind? #871 Thank you! Pull Request resolved: #872 Reviewed By: YanNoun Differential Revision: D34521618 Pulled By: fabianschenk fbshipit-source-id: 462b5c63f3c32c4d5fb9f105b7a52dd3b12635e9
Motivation for this change
Adds OpenSfM - an opensource structure from motion (reconstruction of a sparse 3d point cloud from images, similar to
nixpkgs#colmap
) framework maintained by MapillaryThings done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)nixos/doc/manual/md-to-db.sh
to update generated release notes