ODM not building using Dockerfile or Natively

I am trying to rebuild the Image using Dockerfile for my own purposes and by modifying the code, no matter how many times I try building the image I get a OpenCV2 make build error, even using the older versions. Even the native build for Ubuntu 21.04 is not working and is throwing the same error.

1 Like

Welcome, Arjun!

Sorry for the trouble.

So even unmodified Docker builds fail?

Yes even the unmodified docker build fails,I have tried building the base image multiple times modified and unmodified, the build always fails.

1 Like

Sorry for the trouble! Could you please start with giving me a bit more information about your system?

For instance:

  1. Operating System and Version
    eg: Windows 11, MacOS 15.1, Ubuntu Linux 20.04LTS, etc…
  2. Hardware Specifications
    eg: 32GB RAM, i7-6700k, NVIDIA GTX 1050TI OC, 1TB SSD, etc…
1 Like

I have tried with Multiple machines Windows 11, Mac OS Monterey version 12.2.1 and Ubuntu 21.04 running on virtual machine and the WSL install.

Apple : M1 MacBook Air, 8gb ram, 512gb SSD
Windows11 : Intel i5 7th gen 7300HQ, NVIDIA GTX 1050 4gb, 16gb Ram (Laptop), 1tb Storage(non SSD)
Ubuntu : Running Virtual machine on Mac M1

I am basically trying to get this setup on a server so that my organisation can use OpenDroneMapp for Image Mapping

1 Like

Thanks for the extra information.

Have you tried running the images unmodified using the instructions from here:

Does that work on any of the three platforms above that you’ve listed? It should work fine for all three without any modifications.

I’m getting docker image build problems also.

Running docker build -t [tags] . using an unmodified clone of ODM from here: GitHub - OpenDroneMap/ODM: A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. 📷 failed setting up GDAL with pip.

Building a very slightly modified ODM the same way resulted in a lot of errors, I can capture the logs and send them over…

My platform: x86-64, ubuntu 22.04.

Using prebuilt images (docker pull ...) works just fine for both GPU and non GPU builds.



This is the very same issues I am also facing building an Unmodified or Modified docker image using the docker build -t tags . gets me an OpenCV2 build failed or a PCL error. But using the prebuilt images docker pull work just fine, But I need to modify the ODM commandline toolkit mentioned above to set up as a single container running on a server and I cannot build my own docker image from scratch. Since many are facing the same Issue it could be a bug


If anyone can help nail down what errors and what exact Steps To Reproduce are, I think opening an issue on our GitHub might be helpful:

Sure, Will open an issue on the GitHub Page as well, till then is there any alternative way you would suggest me to proceed forward with this ?

1 Like

Unfortunately, not at this time. I’m not well-versed in our build system yet, so I can’t help with troubleshooting build failures very much.

1 Like

Oh alright, that is fine, thanks for the help provided till now !!

1 Like

So ODM ‘plain’ is building - here is the docker build log:

My polar stereo image also just built… off to test it now.

What I think has been happening is intermittent ability to grab all that ODM needs from github.

Sorry to be so indefinite - its not that helpful to say ‘oh it worked on my machine now’ :confused:


No, that’s great, Adam. It is good to know if we’ve had any success.

Perhaps Arjun can re-try and see if things are behaving better or not.

(I need to get versed in building -_-)


I will give it another shot in rebuilding the image using the Dockerfile and Update it here


Yeah, I haven’t weighed in for that reason. I’ve been able to build without issue a few times in the last couple weeks and didn’t want to be that guy… :smiley: .


1 Like

It’s still pretty much ‘try it and see’ here. I’ll get a build, then 4 in a row not building with different errors… my hunch is that it just comes down to sometimes the internets freak out and prevent one component turning up properly from the many sources being pulled on.

It would be super cool if there was an incremental docker build method, eg ‘build all the things just replace the changed little bit of python or update from the last thing that broke’. Maybe there is?

…but thats a little OT