Progress on Snap Packaging project for ODM

I’ve been working hard, and have filed fixing PRs for the following:

I’ve got a complete build of ODM in a Snap but there are a few issues to work through including:

  • Need to ensure that OpenSfM is up-to-date so that the change above is included to enable the newer OpenCV to be usable - @pierotofy has a PR which I hope will help here
  • Need to ensure that the update to OpenCV 4.5.0 doesn’t break anything
  • Need to work out the required Snap permissions (interfaces) for the package to be functional
  • OpenCV 4.5.0 appears to be good-to-go. I’ve successfully parsed at least the mygla dataset using the Docker build (non-portable - I need to double check the portable build edit: portable also works).
  • Piero merged the OpenCV changes into their work-in-progress to update OpenSfM.
  • Piero discovered a problem with the OpenCV update which is due to an issue with the GCC wrapper scripts used to enforce the nehalem architecture baseline for the built binaries. I’ve created a PR to fix the GCC wrappers

Good news! My snapcraft.yaml build recipe is now merged. This will, when used with the snapcraft utility or the service run by Canonical, build ODM into a Snap Package based on core18 (in turn based on Ubuntu 18.04) ready for distribution via the Snap Store.

My next efforts will be directed towards a filesystem image for use on WSL, installable via a PowerShell incantation like:

wsl --import OpenDroneMap "${env:APPDATA}\OpenDroneMap" "Z:\path\to\odm-filesystem-image.tar.gz"

With today’s flurry of PRs filed, I believe we’re fully Snapped, WSLed, and Ported to Ubuntu 20.04!

I think that leaves just making sure the GitHub Actions workflows are operating correctly, and then I’ll be done :slight_smile:

Edit: Fix GitHub Actions

Edit 2: now including WSL instructions

Edit 3: now including Snap instructions