8000 Create build_directory if it does not exist when generating ninja bui… · pytorch/pytorch@f9e99fc · GitHub
[go: up one dir, main page]

Skip to content

Commit f9e99fc

Browse files
pytorchbotatalman
andauthored
Create build_directory if it does not exist when generating ninja build file (#143345)
Create build_directory if it does not exist when generating ninja build file (#143328) Fixes: pytorch/vision#8816 I am observing this failure on Windows, Python 3.13 vision builds: ``` Emitting ninja build file C:\actions-runner\_work\vision\vision\pytorch\vision\build\temp.win-amd64-cpython-313\Release\build.ninja... error: [Errno 2] No such file or directory: 'C:\\actions-runner\\_work\\vision\\vision\\pytorch\\vision\\build\\temp.win-amd64-cpython-313\\Release\\build.ninja' ERROR conda.cli.main_run:execute(49): `conda run packaging/windows/internal/vc_env_helper.bat python setup.py bdist_wheel` failed. (See above for error) ``` Adding the code above fixes it, confirmed by running `` python setup.py bdist_wheel`` : ``` building 'torchvision._C' extension Emitting ninja build file C:\actions-runner\_work\vision\vision\pytorch\vision\build\temp.win-amd64-cpython-313\Release\build.ninja... Creating build directory C:\actions-runner\_work\vision\vision\pytorch\vision\build\temp.win-amd64-cpython-313\Release Compiling objects... Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N) [1/26] cl /showIncludes /nologo /O2 /W3 /GL /DNDEBUG /MD /MD /wd4819 /wd4251 /wd4244 /wd4267 /wd4275 /wd4018 /wd4190 /wd4624 /wd4067 /wd4068 /EHsc -Dtorchvision_EXPORTS -IC:\actions-runner\_work\vision\vision\pytorch\vision\torchvision\csrc -IC:\actions-runner\_work\_temp\conda_environment_12361066769\Lib\site-packages\torch\include -IC:\actions-runner\_work\_temp\conda_environment_12361066769\Lib\site-packages\torch\include\torch\csrc\api\include -IC:\actions-runner\_work\_temp\conda_environment_12361066769\Lib\site-packages\torch\include\TH -IC:\actions-runner\_work\_temp\conda_environment_12361066769\Lib\site-packages\torch\include\THC -IC:\actions-runner\_work\_temp\conda_environment_12361066769\include -IC:\actions-runner\_work\_temp\conda_environment_12361066769\Include "-IC:\Pr ``` Pull Request resolved: #143328 Approved by: https://github.com/kit1980, https://github.com/albanD (cherry picked from commit dd2cd42) Co-authored-by: atalman <atalman@fb.com>
1 parent 1d3ffeb commit f9e99fc

File tree

1 file changed

+16
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -1818,6 +1818,14 @@ def _write_ninja_file_and_compile_objects(
18181818
build_file_path = os.path.join(build_directory, 'build.ninja')
18191819
if verbose:
18201820
print(f'Emitting ninja build file {build_file_path}...', file=sys.stderr)
1821+
1822+
# Create build_directory if it does not exist
1823+
if not os.path.exists(build_directory):
1824+
if verbose:
1825+
print(f'Creating directory {build_directory}...', file=sys.stderr)
1826+
# This is like mkdir -p, i.e. will also create parent directories.
1827+
os.makedirs(build_directory, exist_ok=True)
1828+
18211829
_write_ninja_file(
18221830
path=build_file_path,
18231831
cflags=cflags,
@@ -1866,6 +1874,14 @@ def _write_ninja_file_and_build_library(
18661874
build_file_path = os.path.join(build_directory, 'build.ninja')
18671875
if verbose:
18681876
print(f'Emitting ninja build file {build_file_path}...', file=sys.stderr)
1877+
1878+
# Create build_directory if it does not exist
1879+
if not os.path.exists(build_directory):
1880+
if verbose:
1881+
print(f'Creating directory {build_directory}...', file=sys.stderr)
1882+
# This is like mkdir -p, i.e. will also create parent directories.
1883+
os.makedirs(build_directory, exist_ok=True)
1884+
18691885
# NOTE: Emitting a new ninja build file does not cause re-compilation if
18701886
# the sources did not change, so it's ok to re-emit (and it's fast).
18711887
_write_ninja_file_to_build_library(