You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Linux foo 5.4.0-58-generic #64~18.04.1-Ubuntu SMP Wed Dec 9 17:11:11 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Subsystem
build
What steps will reproduce the bug?
No response
How often does it reproduce? Is there a required condition?
No response
What is the expected behavior?
No response
What do you see instead?
No response
Additional information
There is a race condition occurring when building node where one or more build steps are executed before the python environment is properly set up (e.g. modifying PATH to include a path in out/ containing a symlink to the detected Python 3.x binary). I have Python 2.x as /usr/bin/python but Python 3.6 is also installed (as /usr/bin/python3 and /usr/bin/python3.6).
When the environment isn't set up properly first the build (using make -j 8 for example) fails with:
Traceback (most recent call last):
File "tools/js2c.py", line 234, in <module>
main()
File "tools/js2c.py", line 219, in main
js_files = utils.SearchFiles(options.directory, 'js')
File "/home/foo/git/node/tools/utils.py", line 112, in SearchFiles
list = glob.glob(dir+ '/**/*.' + ext, recursive=True)
TypeError: glob() got an unexpected keyword argument 'recursive'
touch e6bf3e61ac02f989b2a33f551be26b7ec4082ec4.intermediate
libnode.target.mk:13: recipe for target '/home/foo/git/node/out/Release/obj/gen/node_javascript.cc' failed
At this point if I perform make (without a -j argument), then it works fine and once it gets past the part it was failing on I can abort the build and re-run make -j xxx and everything works fine from then on.
If I had to guess the command it's failing on it might be:
@mscdex As the comment #39465 (comment) suggests, can you check out the content of ./config.mk (which is generated by ./configure), and if out/tool/bin/python presents and where does it linking to? I tested on a Linux system with both python2 and python3 installed and python in PATH is linking to python2, sadly the problem didn't present.
Version
master
Platform
Linux foo 5.4.0-58-generic #64~18.04.1-Ubuntu SMP Wed Dec 9 17:11:11 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Subsystem
build
What steps will reproduce the bug?
No response
How often does it reproduce? Is there a required condition?
No response
What is the expected behavior?
No response
What do you see instead?
No response
Additional information
There is a race condition occurring when building node where one or more build steps are executed before the python environment is properly set up (e.g. modifying
PATH
to include a path in out/ containing a symlink to the detected Python 3.x binary). I have Python 2.x as /usr/bin/python but Python 3.6 is also installed (as /usr/bin/python3 and /usr/bin/python3.6).When the environment isn't set up properly first the build (using
make -j 8
for example) fails with:At this point if I perform
make
(without a-j
argument), then it works fine and once it gets past the part it was failing on I can abort the build and re-runmake -j xxx
and everything works fine from then on.If I had to guess the command it's failing on it might be:
The text was updated successfully, but these errors were encountered: