graphdeco-inria / gaussian-splatting

Original reference implementation of "3D Gaussian Splatting for Real-Time Radiance Field Rendering"
https://repo-sam.inria.fr/fungraph/3d-gaussian-splatting/
Other
14.8k stars 1.94k forks source link

Ubuntu 24.04 & CUDA 12 Support #923

Open pens opened 3 months ago

pens commented 3 months ago

Apologies as this isn't an issue per se. I just finished getting training and the local viewer working on Ubuntu 24.04 with CUDA 12. As the process was a little involved I hope that sharing the changes needed might be useful.

environment.yml

name: gaussian_splatting
channels:
  - pytorch
  - conda-forge
  - defaults
  - nvidia
dependencies:
  - cuda-toolkit=12.4
  - plyfile
  - python=3.8
  - pip=22.3.1
  - pytorch
  - torchaudio
  - torchvision
  - tqdm
  - pytorch-cuda=12.4
  - pip:
    - submodules/diff-gaussian-rasterization
    - submodules/simple-knn

submodules/simple-knn/simple-knn.cu

The newer NVIDIA headers (seem to) no longer export FLT_MIN & FLT_MAX, so float.h needs to be explicitly included.

simple-knn.patch.txt

SIBR_viewers

Both Embree and FFmpeg have removed parts of their APIs that SIBR was using. I didn't test this with the remote viewer at all, as I was really just trying to get the local viewer building and running.

I updated the FFmpeg part with something that seemed in the right direction, but it's probably broken. I really have no idea if I hit the Embree path or not.

SIBR_viewers.patch.txt

CudaRasterizer

Also probably due to NVIDIA's headers, CudaRasterizer/CudaRasterizer/cuda_rasterizer/rasterizer_impl.h requires cstdint to be included.

mazy1998 commented 3 months ago

Works like a charm, thanks

Miaoing commented 2 months ago

Thank you very much!!! It saves me for hours of work & debugging.

Pydes-boop commented 2 months ago

Did you encounter any issues with installing simple-knn except for including the float.h header as you mentioned @pens ? I seem unable to get this going on my system currently and im seeing some other discussions around the issues with simple-knn and different cuda versions but cant seem to fix the installation on my side.

Ive looked into these but my system still does not want to finish the install

317 #297 #257

Did you have any additional changes or install specific versions of gcc g++ or anything like that for your setup with wsl?

pens commented 2 months ago

Did you encounter any issues with installing simple-knn except for including the float.h header as you mentioned @pens ? I seem unable to get this going on my system currently and im seeing some other discussions around the issues with simple-knn and different cuda versions but cant seem to fix the installation on my side.

Ive looked into these but my system still does not want to finish the install #317 #297 #257

Did you have any additional changes or install specific versions of gcc g++ or anything like that for your setup with wsl?

To be honest, I don't recall. You mention WSL though, so I should point out that this was done on a bare metal Ubuntu installation. The system itself was more or less a clean install.

aruiplex commented 1 month ago

Hi! I am using the patch file you provided. It still has some errors when I compile the SIBR.

This is the way I use the patch file:

# In the directory gaussian-splatting/SIBR_viewers 
patch -p1 < SIBR_viewers.patch.txt

Then I build by using the README way

cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release -G Ninja # add -G Ninja to build faster
cmake --build build --target install --config RelWithDebInfo

Here is the error info, I picked some text.

[36/136] Building CUDA object /<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/build/CMakeFiles/CudaRasterizer.dir/cuda_rasterizer/rasterizer_impl.cu.o
FAILED: /<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/build/CMakeFiles/CudaRasterizer.dir/cuda_rasterizer/rasterizer_impl.cu.o 
/usr/local/cuda-12.6/bin/nvcc -forward-unknown-to-host-compiler -DBOOST_ALL_DYN_LINK -DBOOST_ALL_NO_LIB -DEIGEN_INITIALIZE_MATRICES_BY_ZERO -DGLEW_EGL -DOPENCV_TRAITS_ENABLE_DEPRECATED -I/usr/include/eigen3 -I/home/aruix/miniconda3/envs/3d/include -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/imgui -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/imgui/imgui -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/nativefiledialog -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/nativefiledialog/nativefiledialog -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/mrf -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/mrf/mrf -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/nanoflann -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/nanoflann/nanoflann -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/picojson -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/picojson/picojson -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/rapidxml -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/rapidxml/rapidxml -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/xatlas -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/xatlas/xatlas -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/xatlas/xatlas/source/xatlas -I/<my-path>/gaussian-splatting/SIBR_viewers/src/. -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/CudaRasterizer/cuda_rasterizer -I/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/CudaRasterizer/third_party/glm -I/usr/local/cuda-12.6/targets/x86_64-linux/include -O3 -DNDEBUG -std=c++14 "--generate-code=arch=compute_70,code=[compute_70,sm_70]" "--generate-code=arch=compute_75,code=[compute_75,sm_75]" "--generate-code=arch=compute_86,code=[compute_86,sm_86]"   -fpermissive -fPIC -Wall -Wno-unknown-pragmas -Wno-sign-compare -g -std=c++17 -D__forceinline="inline __attribute__((always_inline))" -MD -MT /<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/build/CMakeFiles/CudaRasterizer.dir/cuda_rasterizer/rasterizer_impl.cu.o -MF /<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/build/CMakeFiles/CudaRasterizer.dir/cuda_rasterizer/rasterizer_impl.cu.o.d -x cu -c /<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/CudaRasterizer/cuda_rasterizer/rasterizer_impl.cu -o /<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/build/CMakeFiles/CudaRasterizer.dir/cuda_rasterizer/rasterizer_impl.cu.o
nvcc warning : incompatible redefinition for option 'std', the last value of this option was used
/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/CudaRasterizer/cuda_rasterizer/rasterizer_impl.h(24): error: namespace "std" has no member "uintptr_t"
    std::size_t offset = (reinterpret_cast<std::uintptr_t>(chunk) + alignment - 1) & ~(alignment - 1);
                                                ^

/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/CudaRasterizer/cuda_rasterizer/rasterizer_impl.h(40): error: identifier "uint32_t" is undefined
    uint32_t* point_offsets;
    ^

/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/CudaRasterizer/cuda_rasterizer/rasterizer_impl.h(41): error: identifier "uint32_t" is undefined
    uint32_t* tiles_touched;
    ^

/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/CudaRasterizer/cuda_rasterizer/rasterizer_impl.h(49): error: identifier "uint32_t" is undefined
    uint32_t* n_contrib;
    ^

/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/CudaRasterizer/cuda_rasterizer/rasterizer_impl.h(58): error: identifier "uint64_t" is undefined
    uint64_t* point_list_keys_unsorted;
    ^

/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/CudaRasterizer/cuda_rasterizer/rasterizer_impl.h(59): error: identifier "uint64_t" is undefined
    uint64_t* point_list_keys;
    ^

/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/CudaRasterizer/cuda_rasterizer/rasterizer_impl.h(60): error: identifier "uint32_t" is undefined
    uint32_t* point_list_unsorted;
    ^

/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/CudaRasterizer/cuda_rasterizer/rasterizer_impl.h(61): error: identifier "uint32_t" is undefined
    uint32_t* point_list;
    ^

/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/CudaRasterizer/cuda_rasterizer/rasterizer_impl.cu(188): warning #549-D: variable "binning" is used before its value is set
   obtain(chunk, binning.point_list, P, 128);
                 ^

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

8 errors detected in the compilation of "/<my-path>/gaussian-splatting/SIBR_viewers/extlibs/CudaRasterizer/CudaRasterizer/cuda_rasterizer/rasterizer_impl.cu".
arhanjain commented 1 month ago

lifesaver!! :heart_eyes:

pens commented 1 month ago

@aruiplex, that file is missing the necessary include (https://en.cppreference.com/w/cpp/types/integer). Try adding #include <cstdint> to the top of rasterizer_impl.h.

MMMaverick commented 4 weeks ago

Thank you, you are my God!!!

amiryanj commented 2 weeks ago

Hey @pens Thanks for sharing this. Did you need to install cuda separately? 12.4 or 12.6? since I see the cuda official download does not propose Cuda12.4 for Ubuntu 24.04. Then it makes some issues for installing the submodule diff-gaussian-rasterization

kurryd commented 1 day ago

I used the following configuration:

name: gaussian_splatting
channels:
  - pytorch
  - conda-forge
  - defaults
  - nvidia
dependencies:
  - cuda-toolkit=12.4
  - plyfile
  - python=3.8
  - pip=22.3.1
  - pytorch
  - torchaudio
  - torchvision
  - tqdm
  - pytorch-cuda=12.4
  - pip:
    - submodules/diff-gaussian-rasterization
    - submodules/simple-knn

And I got this error: ['/home/videopro/miniconda3/envs/gaussian_splatting/bin/python', '-m', 'pip', 'install', '-U', '-r', '/home/videopro/3dgs/gaussian-splatting/condaenv.m50ugbmw.requirements.txt', '--exists-action=b']
Pip subprocess output:
Processing ./submodules/diff-gaussian-rasterization
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Processing ./submodules/simple-knn
Preparing metadata (setup.py): started
Preparing metadata (setup.py): finished with status 'done'
Building wheels for collected packages: diff_gaussian_rasterization, simple_knn
Building wheel for diff_gaussian_rasterization (setup.py): started
Building wheel for diff_gaussian_rasterization (setup.py): finished with status 'error'
Running setup.py clean for diff_gaussian_rasterization
Building wheel for simple_knn (setup.py): started
Building wheel for simple_knn (setup.py): finished with status 'error'
Running setup.py clean for simple_knn
Failed to build diff_gaussian_rasterization simple_knn
Installing collected packages: simple_knn, diff_gaussian_rasterization
Running setup.py install for simple_knn: started
Running setup.py install for simple_knn: finished with status 'error'

Pip subprocess error:
error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [151 lines of output]
running bdist_wheel
running build
running build_py
creating build/lib.linux-x86_64-cpython-38/diff_gaussian_rasterization
copying diff_gaussian_rasterization/init.py -> build/lib.linux-x86_64-cpython-38/diff_gaussian_rasterization
running build_ext /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py:414: UserWarning: The detected CUDA version (12.6) has a minor version mismatch with the version that was used to compile PyTorch (12.4). Most likely this shouldn't be a problem. warnings.warn(CUDA_MISMATCH_WARN.format(cuda_str_version, torch.version.cuda)) /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py:424: UserWarning: There are no /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-c++ version bounds defined for CUDA version 12.6 warnings.warn(f'There are no {compiler_name} version bounds defined for CUDA version {cuda_str_version}') building 'diff_gaussian_rasterization._C' extension creating /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/cuda_rasterizer /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py:1965: UserWarning: TORCH_CUDA_ARCH_LIST is not set, all archs for visible cards are included for compilation. If this is not desired, please set os.environ['TORCH_CUDA_ARCH_LIST']. warnings.warn( Emitting ninja build file /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/build.ninja... Compiling objects... Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N) [1/5] /usr/local/cuda-12.6/bin/nvcc --generate-dependencies-with-compile --dependency-output /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/rasterize_points.o.d -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/rasterize_points.cu -o /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/rasterize_points.o -DCUDA_NO_HALF_OPERATORS -DCUDA_NO_HALF_CONVERSIONS -DCUDA_NO_BFLOAT16_CONVERSIONS -DCUDA_NO_HALF2_OPERATORS --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -I/home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/ -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -ccbin /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-cc -std=c++17 FAILED: /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/rasterize_points.o /usr/local/cuda-12.6/bin/nvcc --generate-dependencies-with-compile --dependency-output /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/rasterize_points.o.d -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/rasterize_points.cu -o /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/rasterize_points.o -DCUDA_NO_HALF_OPERATORS -DCUDA_NO_HALF_CONVERSIONS -DCUDA_NO_BFLOAT16_CONVERSIONS -DCUDA_NO_HALF2_OPERATORS --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -I/home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/ -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -ccbin /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-cc -std=c++17 In file included from /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/python_headers.h:12, from /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/Device.h:4, from /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/python.h:8, from /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/extension.h:9, from /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/rasterize_points.cu:13: /home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8/Python.h:44:10: fatal error: crypt.h: No such file or directory 44 | #include | ^~~~~ compilation terminated. [2/5] /usr/local/cuda-12.6/bin/nvcc --generate-dependencies-with-compile --dependency-output /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/cuda_rasterizer/rasterizer_impl.o.d -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.cu -o /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/cuda_rasterizer/rasterizer_impl.o -DCUDA_NO_HALF_OPERATORS -DCUDA_NO_HALF_CONVERSIONS -DCUDA_NO_BFLOAT16_CONVERSIONS -DCUDA_NO_HALF2_OPERATORS --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -I/home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/ -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -ccbin /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-cc -std=c++17 FAILED: /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/cuda_rasterizer/rasterizer_impl.o /usr/local/cuda-12.6/bin/nvcc --generate-dependencies-with-compile --dependency-output /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/cuda_rasterizer/rasterizer_impl.o.d -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.cu -o /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/cuda_rasterizer/rasterizer_impl.o -DCUDA_NO_HALF_OPERATORS -DCUDA_NO_HALF_CONVERSIONS -DCUDA_NO_BFLOAT16_CONVERSIONS -DCUDA_NO_HALF2_OPERATORS --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -I/home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/ -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -ccbin /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-cc -std=c++17 /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.h(24): error: namespace "std" has no member "uintptr_t" std::size_t offset = (reinterpret_cast(chunk) + alignment - 1) & ~(alignment - 1); ^

  /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.h(40): error: identifier "uint32_t" is undefined
      uint32_t* point_offsets;
      ^

  /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.h(41): error: identifier "uint32_t" is undefined
      uint32_t* tiles_touched;
      ^

  /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.h(49): error: identifier "uint32_t" is undefined
      uint32_t* n_contrib;
      ^

  /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.h(58): error: identifier "uint64_t" is undefined
      uint64_t* point_list_keys_unsorted;
      ^

  /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.h(59): error: identifier "uint64_t" is undefined
      uint64_t* point_list_keys;
      ^

  /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.h(60): error: identifier "uint32_t" is undefined
      uint32_t* point_list_unsorted;
      ^

  /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.h(61): error: identifier "uint32_t" is undefined
      uint32_t* point_list;
      ^

  /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.cu(184): warning #549-D: variable "binning" is used before its value is set
     obtain(chunk, binning.point_list, P, 128);
                   ^

  Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

  8 errors detected in the compilation of "/home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/rasterizer_impl.cu".
  [3/5] /usr/local/cuda-12.6/bin/nvcc --generate-dependencies-with-compile --dependency-output /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/cuda_rasterizer/forward.o.d -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/forward.cu -o /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/cuda_rasterizer/forward.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -I/home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/ -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -ccbin /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-cc -std=c++17
  /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/auxiliary.h(163): warning #177-D: variable "p_proj" was declared but never referenced
     float3 p_proj = { p_hom.x * p_w, p_hom.y * p_w, p_hom.z * p_w };
            ^

  Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

  [4/5] /usr/local/cuda-12.6/bin/nvcc --generate-dependencies-with-compile --dependency-output /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/cuda_rasterizer/backward.o.d -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/backward.cu -o /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/cuda_rasterizer/backward.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -I/home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/third_party/glm/ -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -ccbin /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-cc -std=c++17
  /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/cuda_rasterizer/auxiliary.h(163): warning #177-D: variable "p_proj" was declared but never referenced
     float3 p_proj = { p_hom.x * p_w, p_hom.y * p_w, p_hom.z * p_w };
            ^

  Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

  [5/5] /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-c++ -MMD -MF /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/ext.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /home/videopro/miniconda3/envs/gaussian_splatting/include -fPIC -O2 -isystem /home/videopro/miniconda3/envs/gaussian_splatting/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/videopro/miniconda3/envs/gaussian_splatting/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/videopro/miniconda3/envs/gaussian_splatting/include -fPIC -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/ext.cpp -o /home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/build/temp.linux-x86_64-cpython-38/ext.o -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
  ninja: build stopped: subcommand failed.
  Traceback (most recent call last):
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 2105, in _run_ninja_build
      subprocess.run(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/subprocess.py", line 516, in run
      raise CalledProcessError(retcode, process.args,
  subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

  The above exception was the direct cause of the following exception:

  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/home/videopro/3dgs/gaussian-splatting/submodules/diff-gaussian-rasterization/setup.py", line 17, in <module>
      setup(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/__init__.py", line 117, in setup
      return distutils.core.setup(**attrs)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 183, in setup
      return run_commands(dist)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 199, in run_commands
      dist.run_commands()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 954, in run_commands
      self.run_command(cmd)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/dist.py", line 999, in run_command
      super().run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
      cmd_obj.run()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/command/bdist_wheel.py", line 410, in run
      self.run_command("build")
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/dist.py", line 999, in run_command
      super().run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
      cmd_obj.run()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/dist.py", line 999, in run_command
      super().run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
      cmd_obj.run()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 98, in run
      _build_ext.run(self)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 359, in run
      self.build_extensions()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 866, in build_extensions
      build_ext.build_extensions(self)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 476, in build_extensions
      self._build_extensions_serial()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 502, in _build_extensions_serial
      self.build_extension(ext)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 263, in build_extension
      _build_ext.build_extension(self, ext)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 557, in build_extension
      objects = self.compiler.compile(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 679, in unix_wrap_ninja_compile
      _write_ninja_file_and_compile_objects(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1785, in _write_ninja_file_and_compile_objects
      _run_ninja_build(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 2121, in _run_ninja_build
      raise RuntimeError(message) from e
  RuntimeError: Error compiling objects for extension
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for diff_gaussian_rasterization error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> [102 lines of output] running bdist_wheel running build running build_ext /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py:414: UserWarning: The detected CUDA version (12.6) has a minor version mismatch with the version that was used to compile PyTorch (12.4). Most likely this shouldn't be a problem. warnings.warn(CUDA_MISMATCH_WARN.format(cuda_str_version, torch.version.cuda)) /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py:424: UserWarning: There are no /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-c++ version bounds defined for CUDA version 12.6 warnings.warn(f'There are no {compiler_name} version bounds defined for CUDA version {cuda_str_version}') building 'simple_knn._C' extension creating /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38 /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py:1965: UserWarning: TORCH_CUDA_ARCH_LIST is not set, all archs for visible cards are included for compilation. If this is not desired, please set os.environ['TORCH_CUDA_ARCH_LIST']. warnings.warn( Emitting ninja build file /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/build.ninja... Compiling objects... Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N) [1/3] /usr/local/cuda-12.6/bin/nvcc --generate-dependencies-with-compile --dependency-output /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/spatial.o.d -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/spatial.cu -o /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/spatial.o -DCUDA_NO_HALF_OPERATORS -DCUDA_NO_HALF_CONVERSIONS -DCUDA_NO_BFLOAT16_CONVERSIONS -DCUDA_NO_HALF2_OPERATORS --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -ccbin /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-cc -std=c++17 FAILED: /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/spatial.o /usr/local/cuda-12.6/bin/nvcc --generate-dependencies-with-compile --dependency-output /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/spatial.o.d -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/spatial.cu -o /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/spatial.o -DCUDA_NO_HALF_OPERATORS -DCUDA_NO_HALF_CONVERSIONS -DCUDA_NO_BFLOAT16_CONVERSIONS -DCUDA_NO_HALF2_OPERATORS --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -ccbin /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-cc -std=c++17 In file included from /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/python_headers.h:12, from /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/Device.h:4, from /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/python.h:8, from /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/extension.h:9, from /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/spatial.h:12, from /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/spatial.cu:12: /home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8/Python.h:44:10: fatal error: crypt.h: No such file or directory 44 #include ^~~~~ compilation terminated. [2/3] /usr/local/cuda-12.6/bin/nvcc --generate-dependencies-with-compile --dependency-output /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/simple_knn.o.d -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/simple_knn.cu -o /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/simple_knn.o -DCUDA_NO_HALF_OPERATORS -DCUDA_NO_HALF_CONVERSIONS -DCUDA_NO_BFLOAT16_CONVERSIONS -DCUDA_NO_HALF2_OPERATORS --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -ccbin /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-cc -std=c++17 /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/simple_knn.cu:24: warning: "CUDACC" redefined 24 #define CUDACC
  <command-line>: note: this is the location of the previous definition
  /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/simple_knn.cu:24: warning: "__CUDACC__" redefined
     24 | #define __CUDACC__
        |
  <command-line>: note: this is the location of the previous definition
  [3/3] /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-c++ -MMD -MF /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/ext.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /home/videopro/miniconda3/envs/gaussian_splatting/include -fPIC -O2 -isystem /home/videopro/miniconda3/envs/gaussian_splatting/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/videopro/miniconda3/envs/gaussian_splatting/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/videopro/miniconda3/envs/gaussian_splatting/include -fPIC -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/ext.cpp -o /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/ext.o -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
  ninja: build stopped: subcommand failed.
  Traceback (most recent call last):
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 2105, in _run_ninja_build
      subprocess.run(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/subprocess.py", line 516, in run
      raise CalledProcessError(retcode, process.args,
  subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

  The above exception was the direct cause of the following exception:

  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/setup.py", line 21, in <module>
      setup(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/__init__.py", line 117, in setup
      return distutils.core.setup(**attrs)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 183, in setup
      return run_commands(dist)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 199, in run_commands
      dist.run_commands()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 954, in run_commands
      self.run_command(cmd)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/dist.py", line 999, in run_command
      super().run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
      cmd_obj.run()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/command/bdist_wheel.py", line 410, in run
      self.run_command("build")
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/dist.py", line 999, in run_command
      super().run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
      cmd_obj.run()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/dist.py", line 999, in run_command
      super().run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
      cmd_obj.run()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 98, in run
      _build_ext.run(self)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 359, in run
      self.build_extensions()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 866, in build_extensions
      build_ext.build_extensions(self)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 476, in build_extensions
      self._build_extensions_serial()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 502, in _build_extensions_serial
      self.build_extension(ext)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 263, in build_extension
      _build_ext.build_extension(self, ext)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 557, in build_extension
      objects = self.compiler.compile(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 679, in unix_wrap_ninja_compile
      _write_ninja_file_and_compile_objects(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1785, in _write_ninja_file_and_compile_objects
      _run_ninja_build(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 2121, in _run_ninja_build
      raise RuntimeError(message) from e
  RuntimeError: Error compiling objects for extension
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. ERROR: Failed building wheel for simple_knn error: subprocess-exited-with-error

× Running setup.py install for simple_knn did not run successfully. │ exit code: 1 ╰─> [117 lines of output] running install /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !!

          ********************************************************************************
          Please avoid running ``setup.py`` directly.
          Instead, use pypa/build, pypa/installer or other
          standards-based tools.

          See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
          ********************************************************************************

  !!
    self.initialize_options()
  running build
  running build_ext
  /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py:414: UserWarning: The detected CUDA version (12.6) has a minor version mismatch with the version that was used to compile PyTorch (12.4). Most likely this shouldn't be a problem.
    warnings.warn(CUDA_MISMATCH_WARN.format(cuda_str_version, torch.version.cuda))
  /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py:424: UserWarning: There are no /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-c++ version bounds defined for CUDA version 12.6
    warnings.warn(f'There are no {compiler_name} version bounds defined for CUDA version {cuda_str_version}')
  building 'simple_knn._C' extension
  creating /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38
  /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py:1965: UserWarning: TORCH_CUDA_ARCH_LIST is not set, all archs for visible cards are included for compilation.
  If this is not desired, please set os.environ['TORCH_CUDA_ARCH_LIST'].
    warnings.warn(
  Emitting ninja build file /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/build.ninja...
  Compiling objects...
  Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N)
  [1/3] /usr/local/cuda-12.6/bin/nvcc --generate-dependencies-with-compile --dependency-output /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/spatial.o.d -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/spatial.cu -o /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/spatial.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -ccbin /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-cc -std=c++17
  FAILED: /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/spatial.o
  /usr/local/cuda-12.6/bin/nvcc --generate-dependencies-with-compile --dependency-output /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/spatial.o.d -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/spatial.cu -o /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/spatial.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -ccbin /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-cc -std=c++17
  In file included from /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/python_headers.h:12,
                   from /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/Device.h:4,
                   from /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/python.h:8,
                   from /home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/extension.h:9,
                   from /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/spatial.h:12,
                   from /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/spatial.cu:12:
  /home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8/Python.h:44:10: fatal error: crypt.h: No such file or directory
     44 | #include <crypt.h>
        |          ^~~~~~~~~
  compilation terminated.
  [2/3] /usr/local/cuda-12.6/bin/nvcc --generate-dependencies-with-compile --dependency-output /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/simple_knn.o.d -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/simple_knn.cu -o /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/simple_knn.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -ccbin /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-cc -std=c++17
  /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/simple_knn.cu:24: warning: "__CUDACC__" redefined
     24 | #define __CUDACC__
        |
  <command-line>: note: this is the location of the previous definition
  /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/simple_knn.cu:24: warning: "__CUDACC__" redefined
     24 | #define __CUDACC__
        |
  <command-line>: note: this is the location of the previous definition
  [3/3] /home/videopro/miniconda3/envs/gaussian_splatting/bin/x86_64-conda-linux-gnu-c++ -MMD -MF /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/ext.o.d -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /home/videopro/miniconda3/envs/gaussian_splatting/include -fPIC -O2 -isystem /home/videopro/miniconda3/envs/gaussian_splatting/include -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/videopro/miniconda3/envs/gaussian_splatting/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/videopro/miniconda3/envs/gaussian_splatting/include -fPIC -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/TH -I/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/include/THC -I/usr/local/cuda-12.6/include -I/home/videopro/miniconda3/envs/gaussian_splatting/include/python3.8 -c -c /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/ext.cpp -o /home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/build/temp.linux-x86_64-cpython-38/ext.o -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++17
  ninja: build stopped: subcommand failed.
  Traceback (most recent call last):
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 2105, in _run_ninja_build
      subprocess.run(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/subprocess.py", line 516, in run
      raise CalledProcessError(retcode, process.args,
  subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

  The above exception was the direct cause of the following exception:

  Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/home/videopro/3dgs/gaussian-splatting/submodules/simple-knn/setup.py", line 21, in <module>
      setup(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/__init__.py", line 117, in setup
      return distutils.core.setup(**attrs)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 183, in setup
      return run_commands(dist)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 199, in run_commands
      dist.run_commands()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 954, in run_commands
      self.run_command(cmd)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/dist.py", line 999, in run_command
      super().run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
      cmd_obj.run()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/command/install.py", line 90, in run
      return super().run()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/install.py", line 695, in run
      self.run_command('build')
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/dist.py", line 999, in run_command
      super().run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
      cmd_obj.run()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 316, in run_command
      self.distribution.run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/dist.py", line 999, in run_command
      super().run_command(command)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 973, in run_command
      cmd_obj.run()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 98, in run
      _build_ext.run(self)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 359, in run
      self.build_extensions()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 866, in build_extensions
      build_ext.build_extensions(self)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 476, in build_extensions
      self._build_extensions_serial()
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 502, in _build_extensions_serial
      self.build_extension(ext)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 263, in build_extension
      _build_ext.build_extension(self, ext)
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/setuptools/_distutils/command/build_ext.py", line 557, in build_extension
      objects = self.compiler.compile(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 679, in unix_wrap_ninja_compile
      _write_ninja_file_and_compile_objects(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1785, in _write_ninja_file_and_compile_objects
      _run_ninja_build(
    File "/home/videopro/miniconda3/envs/gaussian_splatting/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 2121, in _run_ninja_build
      raise RuntimeError(message) from e
  RuntimeError: Error compiling objects for extension
  [end of output]

note: This error originates from a subprocess, and is likely not a problem with pip. error: legacy-install-failure

× Encountered error while trying to install package. ╰─> simple_knn

note: This is an issue with the package mentioned above, not pip. hint: See above for output from the failure.

failed

CondaEnvException: Pip failed