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.78k stars 1.93k forks source link

subprocess-exited-with-error , running build_ext error: [WinError 2] The system cannot find the file specified #926

Open RJ1227 opened 3 months ago

RJ1227 commented 3 months ago

(base) C:\Users\rishu\gaussian-splatting>conda env create --file environment.yml Channels:

Downloading and Extracting Packages:

Preparing transaction: done Verifying transaction: done Executing transaction: done Installing pip dependencies: / Ran pip subprocess with arguments: ['C:\Users\rishu\.conda\envs\gaussian_splatting\python.exe', '-m', 'pip', 'install', '-U', '-r', 'C:\Users\rish] Pip subprocess output:

C:\Users\rishu\gaussian-splatting>SET DISTUTILS_USE_SDK=1

C:\Users\rishu\gaussian-splatting>SET MSSdk=1

C:\Users\rishu\gaussian-splatting>SET "VS_VERSION=16.0"

C:\Users\rishu\gaussian-splatting>SET "VS_MAJOR=16"

C:\Users\rishu\gaussian-splatting>SET "VS_YEAR=2019"

C:\Users\rishu\gaussian-splatting>set "MSYS2_ARG_CONV_EXCL=/AI;/AL;/OUT;/out"

C:\Users\rishu\gaussian-splatting>set "MSYS2_ENV_CONV_EXCL=CL"

C:\Users\rishu\gaussian-splatting>set "PY_VCRUNTIME_REDIST=\bin\vcruntime140.dll"

C:\Users\rishu\gaussian-splatting>set "CXX=cl.exe"

C:\Users\rishu\gaussian-splatting>set "CC=cl.exe"

C:\Users\rishu\gaussian-splatting>set "VSINSTALLDIR="

C:\Users\rishu\gaussian-splatting>set "NEWER_VS_WITH_OLDER_VC=0"

C:\Users\rishu\gaussian-splatting>for /F "usebackq tokens=" %i in (`vswhere.exe -nologo -products -version [16.0,17.

C:\Users\rishu\gaussian-splatting>if not exist "" (for /F "usebackq tokens=" %i in (`vswhere.exe -nologo -products -( set "VSINSTALLDIR=%i\" set "NEWER_VS_WITH_OLDER_VC=1" ) )

C:\Users\rishu\gaussian-splatting>( set "VSINSTALLDIR=C:\Program Files\Microsoft Visual Studio\2022\Community\" set "NEWER_VS_WITH_OLDER_VC=1" )

C:\Users\rishu\gaussian-splatting>if not exist "C:\Program Files\Microsoft Visual Studio\2022\Community\" (for /F "useb( set "VSINSTALLDIR=%i\" set "NEWER_VS_WITH_OLDER_VC=1" ) )

C:\Users\rishu\gaussian-splatting>if not exist "C:\Program Files\Microsoft Visual Studio\2022\Community\" (set "VSINSTA

C:\Users\rishu\gaussian-splatting>if not exist "C:\Program Files\Microsoft Visual Studio\2022\Community\" (set "VSINSTA

C:\Users\rishu\gaussian-splatting>if not exist "C:\Program Files\Microsoft Visual Studio\2022\Community\" (set "VSINSTA

C:\Users\rishu\gaussian-splatting>if not exist "C:\Program Files\Microsoft Visual Studio\2022\Community\" (set "VSINSTA

C:\Users\rishu\gaussian-splatting>IF NOT "" == "" ( set "INCLUDE=;" set "LIB=;" set "CMAKE_PREFIX_PATH=;" )

C:\Users\rishu\gaussian-splatting>call :GetWin10SdkDir

C:\Users\rishu\gaussian-splatting>call :GetWin10SdkDirHelper HKLM\SOFTWARE\Wow6432Node 1>nul 2>&1

C:\Users\rishu\gaussian-splatting>if errorlevel 1 call :GetWin10SdkDirHelper HKCU\SOFTWARE\Wow6432Node 1>nul 2>&1

C:\Users\rishu\gaussian-splatting>if errorlevel 1 call :GetWin10SdkDirHelper HKLM\SOFTWARE 1>nul 2>&1

C:\Users\rishu\gaussian-splatting>if errorlevel 1 call :GetWin10SdkDirHelper HKCU\SOFTWARE 1>nul 2>&1

C:\Users\rishu\gaussian-splatting>if errorlevel 1 exit /B 1

C:\Users\rishu\gaussian-splatting>exit /B 0

C:\Users\rishu\gaussian-splatting>for /F %i in ('dir /ON /B "C:\Program Files (x86)\Windows Kits\10\include\10.*"') DO

C:\Users\rishu\gaussian-splatting>(SET WindowsSDKVer=10.0.22621.0 )

C:\Users\rishu\gaussian-splatting>if errorlevel 1 (echo "Didn't find any windows 10 SDK. I'm not sure if things will wo Windows SDK version found as: "10.0.22621.0"

C:\Users\rishu\gaussian-splatting>set "CMAKE_PLAT=x64"

C:\Users\rishu\gaussian-splatting>set "VCVARSBAT=64"

C:\Users\rishu\gaussian-splatting>set "CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release"

C:\Users\rishu\gaussian-splatting>IF "" == "1" (set "CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX= -DCM

C:\Users\rishu\gaussian-splatting>IF NOT "win-64" == "win-64" ( set "CONDA_BUILD_CROSS_COMPILATION=1" set "CMAKE_ARGS=-DCMAKE_BUILD_TYPE=Release -DCMAKE_SYSTEM_NAME=Windows -DCMAKE_SYSTEM_PROCESSOR=AMD64" ) else (set "CONDA_BUILD_CROSS_COMPILATION=0" )

C:\Users\rishu\gaussian-splatting>IF 2019 GEQ 2019 ( set "CMAKE_GEN=Visual Studio 16 2019" set "USE_NEW_CMAKE_GEN_SYNTAX=1" ) ELSE ( IF "win-64" == "win-64" (set "CMAKE_GEN=Visual Studio 16 2019 Win64" ) else (set "CMAKE_GEN=Visual Studio 16 2019" ) set "USE_NEW_CMAKE_GEN_SYNTAX=0" )

C:\Users\rishu\gaussian-splatting>echo "NEWER_VS_WITH_OLDER_VC=1" "NEWER_VS_WITH_OLDER_VC=1"

C:\Users\rishu\gaussian-splatting>if "1" == "1" (set /p NEWER_VS= 0<"C:\Program Files\Microsoft Visual Studio\2022\Comm

C:\Users\rishu\gaussian-splatting>type "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\Mic 14.40.33807

C:\Users\rishu\gaussian-splatting>dir "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC\" Volume in drive C is Windows-SSD Volume Serial Number is FEDF-1706

Directory of C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Redist\MSVC

08/08/2024 04:15

. 08/08/2024 02:31 .. 08/08/2024 02:37 14.29.30133 08/08/2024 04:16 14.40.33807 08/08/2024 04:15 v143 0 File(s) 0 bytes 5 Dir(s) 746,953,498,624 bytes free

C:\Users\rishu\gaussian-splatting>if "1" == "1" ( echo "14.40.33807" if "14.4" == "14.2" (set "CMAKE_GEN=Visual Studio 16 2019" ) else (set "CMAKE_GEN=Visual Studio 17 2022" ) set "USE_NEW_CMAKE_GEN_SYNTAX=1" ) "14.40.33807"

C:\Users\rishu\gaussian-splatting>IF "" == "" SET "CMAKE_GENERATOR=Visual Studio 17 2022"

C:\Users\rishu\gaussian-splatting>IF "1" == "1" ( IF "" == "" SET "CMAKE_GENERATOR_PLATFORM=x64" IF "" == "" SET "CMAKE_GENERATOR_TOOLSET=v142" )

C:\Users\rishu\gaussian-splatting>pushd C:\Program Files\Microsoft Visual Studio\2022\Community\

C:\Program Files\Microsoft Visual Studio\2022\Community>CALL "VC\Auxiliary\Build\vcvars64.bat" -vcvars_ver=14.29 10.0.2


Visual Studio 2022 Developer Command Prompt v17.10.5 Copyright (c) 2022 Microsoft Corporation


[vcvarsall.bat] Environment initialized for: 'x64'

C:\Users\rishu\gaussian-splatting>if defined INCLUDE (set "INCLUDE_CONDA_NVCC_BACKUP=C:\Program Files\Microsoft Visual

C:\Users\rishu\gaussian-splatting>set "INCLUDE=C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14 Processing c:\users\rishu\gaussian-splatting\submodules\diff-gaussian-rasterization Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Processing c:\users\rishu\gaussian-splatting\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 ╰─> [8 lines of output] running bdist_wheel running build running build_py creating build\lib.win-amd64-cpython-38 creating build\lib.win-amd64-cpython-38\diff_gaussian_rasterization copying diff_gaussian_rasterization__init__.py -> build\lib.win-amd64-cpython-38\diff_gaussian_rasterization running build_ext error: [WinError 2] The system cannot find the file specified [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 ╰─> [4 lines of output] running bdist_wheel running build running build_ext error: [WinError 2] The system cannot find the file specified [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 ╰─> [17 lines of output] running install C:\Users\rishu.conda\envs\gaussian_splatting\lib\site-packages\setuptools_distutils\cmd.py:66: SetuptoolsDeprec. !!

          ********************************************************************************
          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
  error: [WinError 2] The system cannot find the file specified
  [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 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 I tried #923 on windows but got this error can anyone help?
ath92 commented 3 months ago

I'm running into this now. Did you manage to figure this one out?

RJ1227 commented 3 months ago

I solved the issue for Windows. First, download Visual Studio 2022 with the following configuration. WhatsApp Image 2024-08-12 at 14 54 14_5ce65819 Please, make sure that you have already installed colmap and ffmpeg and added them to your environment variable path.

You also need to install the Cuda toolkit; I used Cuda 12.1 for mine. Additionally, add C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64 to your path in the environment variable.

Next, go to notepad, run it as an administrator, and open the file "yourcudatoolkitdir\CUDA\v12.1\include\crt\host_config.h". Then, replace the code:

if _MSC_VER < 1910 || _MSC_VER >= 1910

error -- unsupported Microsoft Visual Studio version! Only the versions between 2017 and 2022 (inclusive) are supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk.

elif _MSC_VER >= 1910 && _MSC_VER < 1910

with:

if _MSC_VER < 1910 || _MSC_VER >= 2940

error -- unsupported Microsoft Visual Studio version! Only the versions between 2017 and 2022 (inclusive) are supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk.

elif _MSC_VER >= 1910 && _MSC_VER < 1910

Save the file.

You'll also need to make changes in the environment.yml for Cuda 12.1. Here is an example of a yml file:

name: gaussian_splatting channels:

Now, follow the installation instructions as before, and it should work.