-
-
Notifications
You must be signed in to change notification settings - Fork 228
Closed
Labels
Description
When using setuptools_scm on Windows, builds hang and don't proceed. This occurs because of the proc.wait() in def _git_ls_files_and_dirs in file_finder_git.py. After _git_interpret_archive returns, the call to proc.wait() never returns. This is because the stdout of the process is not empty. It is filled with a bunch of \x00 bytes.
Solutions that seem to work:
- Change
proc.wait()toproc.terminate()orproc.kill() - Before calling
proc.wait()callproc.stdout.close()to close the open fd. - Before calling
proc.wait()callproc.stdout.read()to read out the fd.
Tested while building robotpy/robotpy-wpilib. setuptools_scm==3.3.3 works but the latest release does not.
Output of python setup.py develop when the hang occurs:
running develop
running egg_info
writing wpilib.egg-info\PKG-INFO
writing dependency_links to wpilib.egg-info\dependency_links.txt
writing entry points to wpilib.egg-info\entry_points.txt
writing requirements to wpilib.egg-info\requires.txt
writing top-level names to wpilib.egg-info\top_level.txt
Data in proc.stdout after _git_interpret_archive returns:
\x00\x00\x00... (9728 null bytes)