openvdb
openvdb copied to clipboard
[BUILD] nanovdb compile errors
Environment
Operating System: Manjaro Linux Version / Commit SHA: 4a186c2ed4fe3ea925b9c1c6251ac8d0ad3772f0 CMake Version: 3.22.1 Compiler: gcc 11.1, CUDA 11.2
Describe the problem
Lots of compile errors:
/tmp/openvdb-nanovdb/nanovdb/nanovdb/examples/benchmark/Benchmark.cpp:675:24: error: no matching function for call to ‘nanovdb::GridHandlenanovdb::HostBuffer::deviceUpload(CUstream_st*&, bool)’ 675 | handle.deviceUpload(stream, false);
/tmp/openvdb-nanovdb/nanovdb/nanovdb/./nanovdb/util/GridHandle.h:160:5: error: no type named ‘type’ in ‘struct std::enable_if<false, void>’ /tmp/openvdb-nanovdb/nanovdb/nanovdb/examples/benchmark/Benchmark.cpp:701:24: error: invalid initialization of reference of type ‘const nanovdb::GridHandlenanovdb::CudaDeviceBuffer&’ from expression of type ‘nanovdb::GridHandlenanovdb::HostBuffer’ 701 | launch_kernels(handle, imgHandle, dev_camera, stream);
/tmp/openvdb-nanovdb/nanovdb/nanovdb/./nanovdb/util/Primitives.h:563:78: error: static assertion failed: initTorus: expect floating point 563 | (is_floating_point<typename BuildToValueMap<VoxelT>::Type>::value, "initTorus: expect floating point");
/tmp/openvdb-nanovdb/nanovdb/nanovdb/./nanovdb/util/GridBuilder.h:713:38: error: cannot convert ‘nanovdb::LeafData<nanovdb::CudaDeviceBuffer, nanovdb::Coord, nanovdb::Mask, 3>::ValueType*’ {aka ‘nanovdb::CudaDeviceBuffer*’} to ‘float*’ in initialization 713 | for (ValueT *dst = data->mValues, *end = dst + SrcNode0::SIZE; dst != end; dst += 4, src += 4) {
/tmp/openvdb-nanovdb/nanovdb/nanovdb/./nanovdb/util/GridStats.h:487:12: error: use of deleted function ‘nanovdb::CudaDeviceBuffer& nanovdb::CudaDeviceBuffer::operator=(const nanovdb::CudaDeviceBuffer&)’ 487 | mDelta = delta; // delta = voxel size for level sets, else 0
/tmp/openvdb-nanovdb/nanovdb/nanovdb/./nanovdb/util/GridBuilder.h:916:37: error: use of deleted function ‘nanovdb::CudaDeviceBuffer& nanovdb::CudaDeviceBuffer::operator=(const nanovdb::CudaDeviceBuffer&)’ 916 | data->mMinimum = data->mMaximum = data->mBackground = mRoot.mBackground;