puzzlepaint / surfelmeshing

Real-time surfel-based mesh reconstruction from RGB-D video.
BSD 3-Clause "New" or "Revised" License
420 stars 83 forks source link

Compilation issue with ubuntu 16.04 #7

Closed pavan4 closed 5 years ago

pavan4 commented 5 years ago

Hi @puzzlepaint,

I did notice you mentioned that this compiles with Ubuntu 14.04. I am trying to work with 16.04

When I compile I get the following issue

nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified

in the generated cmake file for the cuda code specifically for cuda_unprojection_lookup.cu and cuda_buffer.cu

Any obvious fixes here?

I tried changing cmake versions from 2.8.12, 3.2.2, 3.5.1 All have the same issue. I am on cuda 8.0.

puzzlepaint commented 5 years ago

Hi, I can't remember seeing this error before. Just a guess: are there perhaps any spaces in the paths? Maybe those aren't properly handled. Otherwise, I would try to run VERBOSE=1 make which should print the exact compiler invocations that are being done. Then one can try to modify the problematic ones to find out what exactly is wrong with them.

pavan4 commented 5 years ago

It was a bug inside nvcc cmake

Fix: find this file - run_nvcc.cmake usually something like /usr/share/cmake-3.5/Modules/FindCUDA/run_nvcc.cmake

and change set(nvcc_flags @nvcc_flags@) to set(nvcc_flags "@nvcc_flags@") (add double quotes)