-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build: use bin path override if no python is found in PATH #16241
build: use bin path override if no python is found in PATH #16241
Conversation
This happens with the recently released v8.7.0 as well, so if it's possible to land this on v8.x, I'd be very appreciative. :) |
Wow, never occurred to me that there were systems/configurations without a cc/ @forivall @addaleax @bengl @bnoordhuis @nodejs/python , PTAL |
I am sorry, but not sure I understand - |
I'm guessing that it means systems where there's a |
That's correct. There is |
thanks @forivall and @bradleythughes. Can you also please have a look at #16058 and #14737 and see that this is supplementing / complimenting to those? I am also trying to relate these. |
@gireeshpunathil Yes, I found both of those PRs when I hit the configure error shown above with the v8.7.0 release. This PR addresses a specific situation not covered by the other two, so yes, I would say this PR is both complimentary and supplementary. 🙂 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM modulo style nit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with @bnoordhuis's comment.
On systems with no "python" in the PATH, e.g. FreeBSD, we should always create a python symlink in get_bin_override(). Otherwise, configure fails with the following error: Traceback (most recent call last): File "./configure", line 1461, in <module> bin_override = get_bin_override() File "./configure", line 1360, in get_bin_override if os.path.realpath(which('python')) == os.path.realpath(sys.executable): File "/usr/local/lib/python2.7/posixpath.py", line 375, in realpath path, ok = _joinrealpath('', filename, {}) File "/usr/local/lib/python2.7/posixpath.py", line 381, in _joinrealpath if isabs(rest): File "/usr/local/lib/python2.7/posixpath.py", line 54, in isabs return s.startswith('/') AttributeError: 'NoneType' object has no attribute 'startswith'
b165063
to
0f1872c
Compare
More CI failures than I can comprehend, running it once again: |
Landed in 02a5267 Thanks! |
On systems with no "python" in the PATH, e.g. FreeBSD, we should always create a python symlink in get_bin_override(). PR-URL: #16241 Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
On systems with no "python" in the PATH, e.g. FreeBSD, we should always create a python symlink in get_bin_override(). PR-URL: #16241 Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
On systems with no "python" in the PATH, e.g. FreeBSD, we should always create a python symlink in get_bin_override(). PR-URL: nodejs/node#16241 Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
can we get a backport to v6.x? |
Backporting now. |
On systems with no "python" in the PATH, e.g. FreeBSD, we should always create a python symlink in get_bin_override(). PR-URL: #16241 Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
On systems with no "python" in the PATH, e.g. FreeBSD, we should always create a python symlink in get_bin_override(). PR-URL: #16241 Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
On systems with no "python" in the PATH, e.g. FreeBSD, we should always create a python symlink in get_bin_override(). PR-URL: #16241 Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
On systems with no "python" in the PATH, e.g. FreeBSD, we should always create a python symlink in get_bin_override(). PR-URL: nodejs/node#16241 Reviewed-By: Gibson Fahnestock <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]> Reviewed-By: Sakthipriyan Vairamani <[email protected]> Reviewed-By: Refael Ackermann <[email protected]>
On systems with no "python" in the PATH, e.g. when building with poudriere on FreeBSD, we should always create a python symlink in get_bin_override(). Otherwise, configure fails with the following error:
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passesAffected core subsystem(s)
build