AcademySoftwareFoundation / AcademySoftwareFoundation/openvdb

[BUILD] nanovdb compile errors

Open
#1,364 0 comments 0 reactions 0 assignees View on GitHub
nanovdb
Dominant language
C++
Stars
3.4k
Forks
774
Avg merge
3d 9h
Merged PRs (30d)
34

Description

### 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::GridHandle::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’
/tmp/openvdb-nanovdb/nanovdb/nanovdb/examples/benchmark/Benchmark.cpp:701:24: error: invalid initialization of reference of type ‘const nanovdb::GridHandle&’ from expression of type ‘nanovdb::GridHandle’
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::Type>::value, "initTorus: expect floating point");

/tmp/openvdb-nanovdb/nanovdb/nanovdb/./nanovdb/util/GridBuilder.h:713:38: error: cannot convert ‘nanovdb::LeafData::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;

Contributor guide

Open the contributing guide

Research direction

Reproduce the build with Manjaro Linux, CMake 3.22.1, GCC 11.1, CUDA 11.2, and commit 4a186c2ed4fe3ea925b9c1c6251ac8d0ad3772f. Start with examples/benchmark/Benchmark.cpp and the reported locations in nanovdb/util/GridHandle.h, Primitives.h, GridBuilder.h, and GridStats.h; done means the listed NanoVDB compilation errors no longer occur.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake, cpp
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.