uci-rendering / psdr-cuda

Path-space differentiable renderer
BSD 3-Clause "New" or "Revised" License
155 stars 11 forks source link

Error while compiling #31

Open IbrH opened 1 year ago

IbrH commented 1 year ago

I'm using

When doing make -j I get the following output with an error at the end:

[  3%] Building NVCC ptx file lib/ptx/ptx_generated_psdr_cuda.cu.ptx
[  7%] Building CXX object CMakeFiles/psdr_cuda.dir/src/core/bitmap.cpp.o
[ 11%] Building CXX object CMakeFiles/psdr_cuda.dir/src/core/miniz.cpp.o
[ 15%] Building CXX object CMakeFiles/psdr_cuda.dir/src/core/sampler.cpp.o
[ 19%] Building CXX object CMakeFiles/psdr_cuda.dir/src/core/cube_distrb.cpp.o
[ 23%] Building CXX object CMakeFiles/psdr_cuda.dir/src/bsdf/diffuse.cpp.o
[ 30%] Building CXX object CMakeFiles/psdr_cuda.dir/src/core/bitmap_loader.cpp.o
[ 34%] Building CXX object CMakeFiles/psdr_cuda.dir/src/emitter/area.cpp.o
[ 34%] Building CXX object CMakeFiles/psdr_cuda.dir/src/core/pmf.cpp.o
[ 38%] Building CXX object CMakeFiles/psdr_cuda.dir/src/sensor/perspective.cpp.o
[ 42%] Building CXX object CMakeFiles/psdr_cuda.dir/src/shape/mesh.cpp.o
[ 46%] Building CXX object CMakeFiles/psdr_cuda.dir/src/bsdf/ggx.cpp.o
[ 50%] Building CXX object CMakeFiles/psdr_cuda.dir/src/scene/scene_optix.cpp.o
[ 53%] Building CXX object CMakeFiles/psdr_cuda.dir/src/bsdf/roughconductor.cpp.o
[ 57%] Building CXX object CMakeFiles/psdr_cuda.dir/src/integrator/direct.cpp.o
[ 61%] Building CXX object CMakeFiles/psdr_cuda.dir/src/scene/scene_loader.cpp.o
[ 65%] Building CXX object CMakeFiles/psdr_cuda.dir/src/emitter/envmap.cpp.o
[ 69%] Building CXX object CMakeFiles/psdr_cuda.dir/src/integrator/integrator.cpp.o
[ 73%] Building CXX object CMakeFiles/psdr_cuda.dir/src/integrator/field.cpp.o
[ 76%] Building CXX object CMakeFiles/psdr_cuda.dir/src/sensor/sensor.cpp.o
[ 84%] Building CXX object CMakeFiles/psdr_cuda.dir/src/optix/ptx.cpp.o
[ 84%] Building CXX object CMakeFiles/psdr_cuda.dir/src/scene/scene.cpp.o
[ 88%] Building CXX object CMakeFiles/psdr_cuda.dir/src/psdr.cpp.o
[ 92%] Building CXX object CMakeFiles/ptx.dir/cuda/psdr_cuda.cpp.o
[ 96%] Linking CXX executable bin/ptx
[ 96%] Built target ptx
In file included from /home/user/enoki/include/enoki/array.h:65,
                 from /home/user/psdr-cuda/include/psdr/types.h:3,
                 from /home/user/psdr-cuda/include/psdr/psdr.h:11,
                 from /home/user/psdr-cuda/include/psdr/core/pmf.h:3,
                 from /home/user/psdr-cuda/src/core/pmf.cpp:2:
/home/user/enoki/include/enoki/array_utils.h: In instantiation of ‘Index enoki::binary_search(enoki::scalar_t<Index>, enoki::scalar_t<Index>, const Predicate&) [with Predicate = psdr::DiscreteDistribution::sample(const FloatC&) const::<lambda(psdr::IntC)>; Args = std::tuple<enoki::CUDAArray<int> >; Index = enoki::CUDAArray<int>; enoki::scalar_t<Index> = int]’:
/home/user/psdr-cuda/src/core/pmf.cpp:22:29:   required from here
/home/user/enoki/include/enoki/array_utils.h:161:26: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘enoki::scalar_t<enoki::CUDAArray<int> >’ {aka ‘int’} [-Wsign-compare]
  161 |     for (size_t i = 0; i < iterations; ++i) {
      |                        ~~^~~~~~~~~~~~
/home/user/enoki/include/enoki/array_utils.h: In instantiation of ‘Index enoki::binary_search(enoki::scalar_t<Index>, enoki::scalar_t<Index>, const Predicate&) [with Predicate = psdr::DiscreteDistribution::sample_reuse<false>(psdr::Float<false>&) const::<lambda(psdr::IntC)>; Args = std::tuple<enoki::CUDAArray<int> >; Index = enoki::CUDAArray<int>; enoki::scalar_t<Index> = int]’:
/home/user/psdr-cuda/src/core/pmf.cpp:41:28:   required from ‘std::pair<enoki::CUDAArray<int>, enoki::CUDAArray<float> > psdr::DiscreteDistribution::sample_reuse(psdr::Float<ad>&) const [with bool ad = false; psdr::Float<ad> = enoki::CUDAArray<float>]’
/home/user/psdr-cuda/src/core/pmf.cpp:53:85:   required from here
/home/user/enoki/include/enoki/array_utils.h:161:26: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘enoki::scalar_t<enoki::CUDAArray<int> >’ {aka ‘int’} [-Wsign-compare]
/home/user/enoki/include/enoki/array_utils.h: In instantiation of ‘Index enoki::binary_search(enoki::scalar_t<Index>, enoki::scalar_t<Index>, const Predicate&) [with Predicate = psdr::DiscreteDistribution::sample_reuse<true>(psdr::Float<true>&) const::<lambda(psdr::IntC)>; Args = std::tuple<enoki::CUDAArray<int> >; Index = enoki::CUDAArray<int>; enoki::scalar_t<Index> = int]’:
/home/user/psdr-cuda/src/core/pmf.cpp:37:28:   required from ‘std::pair<enoki::CUDAArray<int>, enoki::CUDAArray<float> > psdr::DiscreteDistribution::sample_reuse(psdr::Float<ad>&) const [with bool ad = true; psdr::Float<ad> = enoki::DiffArray<enoki::CUDAArray<float> >]’
/home/user/psdr-cuda/src/core/pmf.cpp:54:85:   required from here
/home/user/enoki/include/enoki/array_utils.h:161:26: warning: comparison of integer expressions of different signedness: ‘size_t’ {aka ‘long unsigned int’} and ‘enoki::scalar_t<enoki::CUDAArray<int> >’ {aka ‘int’} [-Wsign-compare]
In file included from /home/user/psdr-cuda/src/core/bitmap_loader.cpp:8:
/home/user/psdr-cuda/include/psdr/core/tinyexr.h: In function ‘void tinyexr::CompressZip(unsigned char*, tinyexr::tinyexr_uint64&, const unsigned char*, long unsigned int)’:
/home/user/psdr-cuda/include/psdr/core/tinyexr.h:1282:13: warning: unused variable ‘ret’ [-Wunused-variable]
 1282 |         int ret = compress(dst, &outSize, static_cast<const Bytef*>(&tmpBuf.at(0)),
      |             ^~~
[100%] Linking CXX shared module lib/psdr_cuda.so
/usr/bin/ld: cannot find -lenoki-cuda: No such file or directory
/usr/bin/ld: cannot find -lenoki-autodiff: No such file or directory
/usr/bin/ld: cannot find -lenoki-cuda: No such file or directory
/usr/bin/ld: cannot find -lenoki-autodiff: No such file or directory
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/psdr_cuda.dir/build.make:437: lib/psdr_cuda.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:111: CMakeFiles/psdr_cuda.dir/all] Error 2
make: *** [Makefile:91: all] Error 2