OpenCV and CUDA packaging and release (debian/ubuntu)

Hi Guys,

I’m fairly new to this space so please bare with me. I’ve walked into this new
project that uses CUDA enabled OpenCV and have found that the build and release process to
be um… it has growth opportunities. Our whole project is built from source, including opencv
which takes about 2hrs. Our value add is a simple java front end/ c++ backend that would build in a min or two outside of these awkward dependencies.

Since the opencv build will just pickup any libs in the environment it could change from day to day depending on what the developer installed, container development (LXD GPU passthrough + Ubuntu 16.04) or not.

I want to just build opencv against our cuda 8.0, package it and call it a day. After looking around the
interwebs I have yet to find someone who has done the job. Debian experimental has come close, at least they
have opencv 3.3.0 packaged, with no cuda support of course.

https://packages.debian.org/source/experimental/opencv

The plan is to build a sandbox with the proper deps + cuda 8.0. I also plan to use the nvidia deb packages as dependencies.

Has anyone else done this? How are you managing development deps and release? We’re doing tarballs right now and it sucks. It’s awkward (and error prone) for us and the end user, it’s also a recipe for releasing snowflakes. The whole CUDA dependency puts a huge obstacle into getting back to a simple CI, test, and release cycle. How are you managing that?

Thank you.

Peter