-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
nodejs14/15: don't require xcode. Allow ccache. #9164
Conversation
Notifying maintainers: |
BTW I can't build with |
You've only changed nodejs14 and nodejs15 here. Does that mean that you verified that nodejs13 and earlier really do still require Xcode?
Your change doesn't enable ccache, it disables it. |
Travis Build #15263 Passed. Lint results
The build timed out. |
I only tested node 14 and 15. I'm not planning to test this change with older versions.
I'm removing |
It's undesirable to have unnecessary differences between port versions so it would be good if someone could test this.
Oh, you're right.
Do you have the ccache port installed and have |
I can imagine that some older versions actually needed xcode.
Oh, I thought it was enabled by default. Just enabled it and recompiled with ccache couple of times and it works. I only tested 15 tho. |
Anyone? |
Travis Build #15412 Passed. Lint results
The build timed out. |
@ci42 @ryandesign could you merge? If |
Travis Build #15538 Passed. Lint results
The build timed out. |
Travis Build #15707 Passed. Lint results
The build timed out. |
Anyone? |
@ci42 could you please take a look? |
There were problems with certain versions of node and certain mixes of the CLTs https://github.com/nodejs/node-gyp/blob/master/macOS_Catalina.md#solutions. The problem shows up intermittently, and might happen to one person, but not the next, in an unpredictable way. There are many Trac tickets about this. The fact that nodeXY works on your particular system without any trouble is no reassurance that it will not happen again to the next person. The simplest solution was to require Xcode, so that is presumably what @ci42 did. There are many other ports that don't work right without a full Xcode installation. MacPorts had tried 18months ago to see how well it could operate with a full Xcode... the answer is "sorta". So:
If @ci42 doesn't commit this in a week (and I doubt he will, but who knows?) I think we'll go ahead and close it, if you don't mind, as the PR queue is very long and we have to focus on stuff we are going to commit here. Once again, thanks again, please PR more, we love submissions, upgrades to ports, especially with documented test runs that pass, etc, etc!!! Best, Ken |
I'm going to close this now. Please reopen if you can get buy-in from @ci42 |
The upgrading to 14.15.5 was broken due to this issue with only CLT installed. If this PR won't be accepted, maybe it is ideal to create a binary package instead? |
The maintainer of this port believes that nodejs* requires xcode to be installed for this port to reliably be installed. Sometimes, apparently, people can install nodejs* without xcode (as the PR purports). Other times, based on all the tickets, Xcode is required. Why this happens has not (apparently) been properly sorted out. Obviously, there is a reason for it. What the reason is I have no idea. The maintainer has not sorted it out either, so he forces Xcode. Until that gets explained, and the maintainer buys in, the port continues to require Xcode (as do many other ports, by the way). I don't think MacPorts is going to be installing binary packages of much of anything any time soon, but that is not up to me in the end. |
Please see some or all of these for inspiration on why things might be the way they are now: https://github.com/nodejs/node-gyp/blob/master/macOS_Catalina.md https://trac.macports.org/ticket/59382 https://trac.macports.org/ticket/59974 https://trac.macports.org/ticket/59419 For you, it looks like you're quite facile. It takes literally 10 seconds to do this:
if that works for you, all the better. if it always works for everybody -- take it up with @ci42 and see if you can convince him. It's not like he needs a PR for this. It's a flicker of a moment to do it. |
In case someone stumbles upon this issue, I decided to add additional instructions in addition to @kencu instructions. Before starting, you might make yourself familiar with the official guide on installing older versions. After that, the general gist is…
As mentioned by others, your milage may vary!… For some it works, for others it didn't!… |
Description
https://trac.macports.org/ticket/60973
I believe these options are outdated and just a copy-paste from the old versions of nodejs port.
I have no issies building nodejs without XCode and with ccache enabled.
Type(s)
Tested on
macOS 11.0.1 20B29
Xcode N/A
CLT 12.2.0.0.1.1604076827
Verification
Have you
port lint
?sudo port test
?sudo port -vst install
?sudo port -vst install
fails withToo many open files
.sudo port -vs install
works.