I have built colmap successfully on an HPC cluster without a GPU and am prepared to (a) wait :-) and (b) use pmvs2 for dense reconstruction.
but when I get to exhaustive_matcher, it fails apparently checking for a GPU when I've asked it not to use one (using false for use_gpu doesn't change the outcome):
$ colmap exhaustive_matcher --database_path $PWD/trial.db --SiftMatching.num_threads 8 --SiftMatching.use_gpu 0
F0313 13:35:24.440341 18815 matching.cc:605] Check failed: num_cuda_devices > 0 (0 vs. 0)
*** Check failure stack trace: ***
@ 0xda8db0 google::LogMessage::Fail()
@ 0xda8d0d google::LogMessage::SendToLog()
@ 0xda8671 google::LogMessage::Flush()
@ 0xdab750 google::LogMessageFatal::~LogMessageFatal()
@ 0x75e65d colmap::SiftFeatureMatcher::SiftFeatureMatcher()
@ 0x75e8d0 colmap::ExhaustiveFeatureMatcher::ExhaustiveFeatureMatcher()
@ 0x59fe87 RunExhaustiveMatcher()
@ 0x58ab83 main
@ 0x2ae3587cbc05 __libc_start_main
@ 0x591637 (unknown)
@ (nil) (unknown)
Aborted (core dumped)