jkulhanek / tetra-nerf

Official implementation for Tetra-NeRF paper - NeRF represented as triangulation of input point cloud.
https://jkulhanek.com/tetra-nerf
MIT License
278 stars 14 forks source link

Unable to build Docker image with Optix 7.7 #1

Closed neekolas closed 1 year ago

neekolas commented 1 year ago

I tried building the Docker image with the latest version of Optix from NVIDIA's site. Receive this error message during the build. Downgrading to 7.5 seems to work fine.

#0 5.341 Installing collected packages: tetra-nerf
#0 5.341   Running setup.py develop for tetra-nerf
#0 19.38     error: subprocess-exited-with-error
#0 19.38     
#0 19.38     × python setup.py develop did not run successfully.
#0 19.38     │ exit code: 1
#0 19.38     ╰─> [129 lines of output]
#0 19.38         running develop
#0 19.38         /usr/lib/python3/dist-packages/setuptools/command/easy_install.py:158: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
#0 19.38           warnings.warn(
#0 19.38         /usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
#0 19.38           warnings.warn(
#0 19.38         running egg_info
#0 19.38         creating tetra_nerf.egg-info
#0 19.38         writing tetra_nerf.egg-info/PKG-INFO
#0 19.38         writing dependency_links to tetra_nerf.egg-info/dependency_links.txt
#0 19.38         writing entry points to tetra_nerf.egg-info/entry_points.txt
#0 19.38         writing requirements to tetra_nerf.egg-info/requires.txt
#0 19.38         writing top-level names to tetra_nerf.egg-info/top_level.txt
#0 19.38         writing manifest file 'tetra_nerf.egg-info/SOURCES.txt'
#0 19.38         reading manifest file 'tetra_nerf.egg-info/SOURCES.txt'
#0 19.38         adding license file 'LICENSE'
#0 19.38         writing manifest file 'tetra_nerf.egg-info/SOURCES.txt'
#0 19.38         running build_ext
#0 19.38         -- The CXX compiler identification is GNU 11.3.0
#0 19.38         -- The CUDA compiler identification is NVIDIA 11.7.99
#0 19.38         -- Detecting CXX compiler ABI info
#0 19.38         -- Detecting CXX compiler ABI info - done
#0 19.38         -- Check for working CXX compiler: /usr/bin/c++ - skipped
#0 19.38         -- Detecting CXX compile features
#0 19.38         -- Detecting CXX compile features - done
#0 19.38         -- Detecting CUDA compiler ABI info
#0 19.38         -- Detecting CUDA compiler ABI info - done
#0 19.38         -- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc - skipped
#0 19.38         -- Detecting CUDA compile features
#0 19.38         -- Detecting CUDA compile features - done
#0 19.38         No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
#0 19.38         No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
#0 19.38         No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
#0 19.38         -- Using torch libraries: /usr/local/lib/python3.10/dist-packages/torch/lib
#0 19.38         -- Using torch includes: /usr/local/lib/python3.10/dist-packages/torch/include;/usr/local/lib/python3.10/dist-packages/torch/include/torch/csrc/api/include;/usr/local/lib/python3.10/dist-packages/torch/include/TH;/usr/local/lib/python3.10/dist-packages/torch/include/THC
#0 19.38         -- Using CUDA toolkit: /usr/local/cuda
#0 19.38         -- Using CUDA architectures: 61;70;75;80;86
#0 19.38         CMake Warning at /usr/lib/x86_64-linux-gnu/cmake/CGAL/CGALConfig.cmake:92 (message):
#0 19.38           CGAL_DATA_DIR cannot be deduced, set the variable CGAL_DATA_DIR to set the
#0 19.38           default value of CGAL::data_file_path()
#0 19.38         Call Stack (most recent call first):
#0 19.38           CMakeLists.txt:17 (find_package)
#0 19.38         
#0 19.38         
#0 19.38         -- Using header-only CGAL
#0 19.38         -- Targetting Unix Makefiles
#0 19.38         -- Using /usr/bin/c++ compiler.
#0 19.38         -- Found GMP: /usr/lib/x86_64-linux-gnu/libgmp.so
#0 19.38         -- Found MPFR: /usr/lib/x86_64-linux-gnu/libmpfr.so
#0 19.38         -- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.48")
#0 19.38         -- Boost include dirs: /usr/include
#0 19.38         -- Boost libraries:
#0 19.38         -- Looking for C++ include pthread.h
#0 19.38         -- Looking for C++ include pthread.h - found
#0 19.38         -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
#0 19.38         -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
#0 19.38         -- Found Threads: TRUE
#0 19.38         -- Using gcc version 4 or later. Adding -frounding-math
#0 19.38         -- pybind11 v2.9.2
#0 19.38         -- Found PythonInterp: /usr/bin/python3 (found version "3.10.6")
#0 19.38         -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.10.so
#0 19.38         -- Performing Test HAS_FLTO
#0 19.38         -- Performing Test HAS_FLTO - Success
#0 19.38         -- Found CUDA: /usr/local/cuda (found version "11.7")
#0 19.38         -- Configuring done
#0 19.38         -- Generating done
#0 19.38         CMake Warning:
#0 19.38           Manually-specified variables were not used by the project:
#0 19.38         
#0 19.38             EXAMPLE_VERSION_INFO
#0 19.38         
#0 19.38         
#0 19.38         -- Build files have been written to: /home/user/tetra-nerf
#0 19.38         [ 12%] Building NVCC ptx file build/traversal_generated_optix_traversal.cu.ptx
#0 19.38         [ 25%] compiling (and embedding ptx from)
#0 19.38         [ 37%] Building CUDA object CMakeFiles/tetranerf_cpp_extension.dir/src/tetrahedra_tracer.cu.o
#0 19.38         [ 50%] Building CXX object CMakeFiles/tetranerf_cpp_extension.dir/src/tetrahedra_tracer.cpp.o
#0 19.38         In file included from /home/user/tetra-nerf/src/tetrahedra_tracer.cpp:14:
#0 19.38         /home/user/tetra-nerf/src/tetrahedra_tracer.cpp: In constructor ‘TetrahedraTracer::TetrahedraTracer(int8_t)’:
#0 19.38         /home/user/tetra-nerf/src/tetrahedra_tracer.cpp:192:25: error: ‘optixModuleCreateFromPTX’ was not declared in this scope; did you mean ‘optixModuleCreate’?
#0 19.38           192 |         OPTIX_CHECK_LOG(optixModuleCreateFromPTX(
#0 19.38               |                         ^~~~~~~~~~~~~~~~~~~~~~~~
#0 19.38         /home/user/tetra-nerf/src/utils/exception.h:60:27: note: in definition of macro ‘OPTIX_CHECK_LOG’
#0 19.38            60 |         OptixResult res = call;                                                \
#0 19.38               |                           ^~~~
#0 19.38         /home/user/tetra-nerf/src/tetrahedra_tracer.cpp:263:31: error: ‘OptixPipelineLinkOptions’ {aka ‘struct OptixPipelineLinkOptions’} has no member named ‘debugLevel’
#0 19.38           263 |         pipeline_link_options.debugLevel = OPTIX_COMPILE_DEBUG_LEVEL_FULL;
#0 19.38               |                               ^~~~~~~~~~
#0 19.38         In file included from /home/user/tetra-nerf/src/tetrahedra_tracer.cpp:14:
#0 19.38         /home/user/tetra-nerf/src/tetrahedra_tracer.cpp:277:54: error: too few arguments to function ‘OptixResult optixUtilAccumulateStackSizes(OptixProgramGroup, OptixStackSizes*, OptixPipeline)’
#0 19.38           277 |             OPTIX_CHECK(optixUtilAccumulateStackSizes(prog_group, &stack_sizes));
#0 19.38               |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
#0 19.38         /home/user/tetra-nerf/src/utils/exception.h:46:27: note: in definition of macro ‘OPTIX_CHECK’
#0 19.38            46 |         OptixResult res = call;                                                \
#0 19.38               |                           ^~~~
#0 19.38         In file included from /home/user/tetra-nerf/src/tetrahedra_tracer.cpp:4:
#0 19.38         /opt/optix/include/optix_stack_size.h:54:20: note: declared here
#0 19.38            54 | inline OptixResult optixUtilAccumulateStackSizes( OptixProgramGroup programGroup, OptixStackSizes* stackSizes, OptixPipeline pipeline )
#0 19.38               |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#0 19.38         gmake[2]: *** [CMakeFiles/tetranerf_cpp_extension.dir/build.make:101: CMakeFiles/tetranerf_cpp_extension.dir/src/tetrahedra_tracer.cpp.o] Error 1
#0 19.38         gmake[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/tetranerf_cpp_extension.dir/all] Error 2
#0 19.38         gmake: *** [Makefile:91: all] Error 2
#0 19.38         Traceback (most recent call last):
#0 19.38           File "<string>", line 2, in <module>
#0 19.38           File "<pip-setuptools-caller>", line 34, in <module>
#0 19.38           File "/home/user/tetra-nerf/setup.py", line 122, in <module>
#0 19.38             setup(
#0 19.38           File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 153, in setup
#0 19.38             return distutils.core.setup(**attrs)
#0 19.38           File "/usr/lib/python3.10/distutils/core.py", line 148, in setup
#0 19.38             dist.run_commands()
#0 19.38           File "/usr/lib/python3.10/distutils/dist.py", line 966, in run_commands
#0 19.38             self.run_command(cmd)
#0 19.38           File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
#0 19.38             cmd_obj.run()
#0 19.38           File "/usr/lib/python3/dist-packages/setuptools/command/develop.py", line 34, in run
#0 19.38             self.install_for_development()
#0 19.38           File "/usr/lib/python3/dist-packages/setuptools/command/develop.py", line 114, in install_for_development
#0 19.38             self.run_command('build_ext')
#0 19.38           File "/usr/lib/python3.10/distutils/cmd.py", line 313, in run_command
#0 19.38             self.distribution.run_command(command)
#0 19.38           File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
#0 19.38             cmd_obj.run()
#0 19.38           File "/home/user/tetra-nerf/setup.py", line 63, in run
#0 19.38             self.build_extension(ext)
#0 19.38           File "/home/user/tetra-nerf/setup.py", line 108, in build_extension
#0 19.38             subprocess.run(["cmake", "--build", ".", *build_args], cwd=ext.sourcedir, check=True)
#0 19.38           File "/usr/lib/python3.10/subprocess.py", line 524, in run
#0 19.38             raise CalledProcessError(retcode, process.args,
#0 19.38         subprocess.CalledProcessError: Command '['cmake', '--build', '.']' returned non-zero exit status 2.
#0 19.38         [end of output]
#0 19.38     
#0 19.38     note: This error originates from a subprocess, and is likely not a problem with pip.
#0 19.39 error: subprocess-exited-with-error
#0 19.39 
#0 19.39 × python setup.py develop did not run successfully.
#0 19.39 │ exit code: 1
#0 19.39 ╰─> [129 lines of output]
#0 19.39     running develop
#0 19.39     /usr/lib/python3/dist-packages/setuptools/command/easy_install.py:158: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
#0 19.39       warnings.warn(
#0 19.39     /usr/lib/python3/dist-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
#0 19.39       warnings.warn(
#0 19.39     running egg_info
#0 19.39     creating tetra_nerf.egg-info
#0 19.39     writing tetra_nerf.egg-info/PKG-INFO
#0 19.39     writing dependency_links to tetra_nerf.egg-info/dependency_links.txt
#0 19.39     writing entry points to tetra_nerf.egg-info/entry_points.txt
#0 19.39     writing requirements to tetra_nerf.egg-info/requires.txt
#0 19.39     writing top-level names to tetra_nerf.egg-info/top_level.txt
#0 19.39     writing manifest file 'tetra_nerf.egg-info/SOURCES.txt'
#0 19.39     reading manifest file 'tetra_nerf.egg-info/SOURCES.txt'
#0 19.39     adding license file 'LICENSE'
#0 19.39     writing manifest file 'tetra_nerf.egg-info/SOURCES.txt'
#0 19.39     running build_ext
#0 19.39     -- The CXX compiler identification is GNU 11.3.0
#0 19.39     -- The CUDA compiler identification is NVIDIA 11.7.99
#0 19.39     -- Detecting CXX compiler ABI info
#0 19.39     -- Detecting CXX compiler ABI info - done
#0 19.39     -- Check for working CXX compiler: /usr/bin/c++ - skipped
#0 19.39     -- Detecting CXX compile features
#0 19.39     -- Detecting CXX compile features - done
#0 19.39     -- Detecting CUDA compiler ABI info
#0 19.39     -- Detecting CUDA compiler ABI info - done
#0 19.39     -- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc - skipped
#0 19.39     -- Detecting CUDA compile features
#0 19.39     -- Detecting CUDA compile features - done
#0 19.39     No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
#0 19.39     No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
#0 19.39     No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda'
#0 19.39     -- Using torch libraries: /usr/local/lib/python3.10/dist-packages/torch/lib
#0 19.39     -- Using torch includes: /usr/local/lib/python3.10/dist-packages/torch/include;/usr/local/lib/python3.10/dist-packages/torch/include/torch/csrc/api/include;/usr/local/lib/python3.10/dist-packages/torch/include/TH;/usr/local/lib/python3.10/dist-packages/torch/include/THC
#0 19.39     -- Using CUDA toolkit: /usr/local/cuda
#0 19.39     -- Using CUDA architectures: 61;70;75;80;86
#0 19.39     CMake Warning at /usr/lib/x86_64-linux-gnu/cmake/CGAL/CGALConfig.cmake:92 (message):
#0 19.39       CGAL_DATA_DIR cannot be deduced, set the variable CGAL_DATA_DIR to set the
#0 19.39       default value of CGAL::data_file_path()
#0 19.39     Call Stack (most recent call first):
#0 19.39       CMakeLists.txt:17 (find_package)
#0 19.39     
#0 19.39     
#0 19.39     -- Using header-only CGAL
#0 19.39     -- Targetting Unix Makefiles
#0 19.39     -- Using /usr/bin/c++ compiler.
#0 19.39     -- Found GMP: /usr/lib/x86_64-linux-gnu/libgmp.so
#0 19.39     -- Found MPFR: /usr/lib/x86_64-linux-gnu/libmpfr.so
#0 19.39     -- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.74.0/BoostConfig.cmake (found suitable version "1.74.0", minimum required is "1.48")
#0 19.39     -- Boost include dirs: /usr/include
#0 19.39     -- Boost libraries:
#0 19.39     -- Looking for C++ include pthread.h
#0 19.39     -- Looking for C++ include pthread.h - found
#0 19.39     -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
#0 19.39     -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
#0 19.39     -- Found Threads: TRUE
#0 19.39     -- Using gcc version 4 or later. Adding -frounding-math
#0 19.39     -- pybind11 v2.9.2
#0 19.39     -- Found PythonInterp: /usr/bin/python3 (found version "3.10.6")
#0 19.39     -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.10.so
#0 19.39     -- Performing Test HAS_FLTO
#0 19.39     -- Performing Test HAS_FLTO - Success
#0 19.39     -- Found CUDA: /usr/local/cuda (found version "11.7")
#0 19.39     -- Configuring done
#0 19.39     -- Generating done
#0 19.39     CMake Warning:
#0 19.39       Manually-specified variables were not used by the project:
#0 19.39     
#0 19.39         EXAMPLE_VERSION_INFO
#0 19.39     
#0 19.39     
#0 19.39     -- Build files have been written to: /home/user/tetra-nerf
#0 19.39     [ 12%] Building NVCC ptx file build/traversal_generated_optix_traversal.cu.ptx
#0 19.39     [ 25%] compiling (and embedding ptx from)
#0 19.39     [ 37%] Building CUDA object CMakeFiles/tetranerf_cpp_extension.dir/src/tetrahedra_tracer.cu.o
#0 19.39     [ 50%] Building CXX object CMakeFiles/tetranerf_cpp_extension.dir/src/tetrahedra_tracer.cpp.o
#0 19.39     In file included from /home/user/tetra-nerf/src/tetrahedra_tracer.cpp:14:
#0 19.39     /home/user/tetra-nerf/src/tetrahedra_tracer.cpp: In constructor ‘TetrahedraTracer::TetrahedraTracer(int8_t)’:
#0 19.39     /home/user/tetra-nerf/src/tetrahedra_tracer.cpp:192:25: error: ‘optixModuleCreateFromPTX’ was not declared in this scope; did you mean ‘optixModuleCreate’?
#0 19.39       192 |         OPTIX_CHECK_LOG(optixModuleCreateFromPTX(
#0 19.39           |                         ^~~~~~~~~~~~~~~~~~~~~~~~
#0 19.39     /home/user/tetra-nerf/src/utils/exception.h:60:27: note: in definition of macro ‘OPTIX_CHECK_LOG’
#0 19.39        60 |         OptixResult res = call;                                                \
#0 19.39           |                           ^~~~
#0 19.39     /home/user/tetra-nerf/src/tetrahedra_tracer.cpp:263:31: error: ‘OptixPipelineLinkOptions’ {aka ‘struct OptixPipelineLinkOptions’} has no member named ‘debugLevel’
#0 19.39       263 |         pipeline_link_options.debugLevel = OPTIX_COMPILE_DEBUG_LEVEL_FULL;
#0 19.39           |                               ^~~~~~~~~~
#0 19.39     In file included from /home/user/tetra-nerf/src/tetrahedra_tracer.cpp:14:
#0 19.39     /home/user/tetra-nerf/src/tetrahedra_tracer.cpp:277:54: error: too few arguments to function ‘OptixResult optixUtilAccumulateStackSizes(OptixProgramGroup, OptixStackSizes*, OptixPipeline)’
#0 19.39       277 |             OPTIX_CHECK(optixUtilAccumulateStackSizes(prog_group, &stack_sizes));
#0 19.39           |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
#0 19.39     /home/user/tetra-nerf/src/utils/exception.h:46:27: note: in definition of macro ‘OPTIX_CHECK’
#0 19.39        46 |         OptixResult res = call;                                                \
#0 19.39           |                           ^~~~
#0 19.39     In file included from /home/user/tetra-nerf/src/tetrahedra_tracer.cpp:4:
#0 19.39     /opt/optix/include/optix_stack_size.h:54:20: note: declared here
#0 19.39        54 | inline OptixResult optixUtilAccumulateStackSizes( OptixProgramGroup programGroup, OptixStackSizes* stackSizes, OptixPipeline pipeline )
#0 19.39           |                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#0 19.39     gmake[2]: *** [CMakeFiles/tetranerf_cpp_extension.dir/build.make:101: CMakeFiles/tetranerf_cpp_extension.dir/src/tetrahedra_tracer.cpp.o] Error 1
#0 19.39     gmake[1]: *** [CMakeFiles/Makefile2:100: CMakeFiles/tetranerf_cpp_extension.dir/all] Error 2
#0 19.39     gmake: *** [Makefile:91: all] Error 2
#0 19.39     Traceback (most recent call last):
#0 19.39       File "<string>", line 2, in <module>
#0 19.39       File "<pip-setuptools-caller>", line 34, in <module>
#0 19.39       File "/home/user/tetra-nerf/setup.py", line 122, in <module>
#0 19.39         setup(
#0 19.39       File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line 153, in setup
#0 19.39         return distutils.core.setup(**attrs)
#0 19.39       File "/usr/lib/python3.10/distutils/core.py", line 148, in setup
#0 19.39         dist.run_commands()
#0 19.39       File "/usr/lib/python3.10/distutils/dist.py", line 966, in run_commands
#0 19.39         self.run_command(cmd)
#0 19.39       File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
#0 19.39         cmd_obj.run()
#0 19.39       File "/usr/lib/python3/dist-packages/setuptools/command/develop.py", line 34, in run
#0 19.39         self.install_for_development()
#0 19.39       File "/usr/lib/python3/dist-packages/setuptools/command/develop.py", line 114, in install_for_development
#0 19.39         self.run_command('build_ext')
#0 19.39       File "/usr/lib/python3.10/distutils/cmd.py", line 313, in run_command
#0 19.39         self.distribution.run_command(command)
#0 19.39       File "/usr/lib/python3.10/distutils/dist.py", line 985, in run_command
#0 19.39         cmd_obj.run()
#0 19.39       File "/home/user/tetra-nerf/setup.py", line 63, in run
#0 19.39         self.build_extension(ext)
#0 19.39       File "/home/user/tetra-nerf/setup.py", line 108, in build_extension
#0 19.39         subprocess.run(["cmake", "--build", ".", *build_args], cwd=ext.sourcedir, check=True)
#0 19.39       File "/usr/lib/python3.10/subprocess.py", line 524, in run
#0 19.39         raise CalledProcessError(retcode, process.args,
#0 19.39     subprocess.CalledProcessError: Command '['cmake', '--build', '.']' returned non-zero exit status 2.
#0 19.39     [end of output]
#0 19.39 
#0 19.39 note: This error originates from a subprocess, and is likely not a problem with pip.
jkulhanek commented 1 year ago

Sorry, Optix 7.7 is not supported yet. I have updated the docs and the comments in the docker file.

jkulhanek commented 1 year ago

Thank you for reporting!

jb892 commented 1 year ago

Hi @neekolas, I'm new to docker. Could you please specify the commands to build the Docker image with the latest version of Optix? Thanks in advance!