-
Notifications
You must be signed in to change notification settings - Fork 506
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
atom-shell causing problems #226
Comments
I can try sending a patch. I remember looking into it one time and not quite being able to figure out how their homegrown release script updated version numbers. |
That would be good. However, Node forkers need to backport that patch too, because having it only in the very latest version of v8 won't do much good in the short time. |
You can detect that the version macro is not there, that at least tells you something. But yes, it won't do a great deal of good in the short term. |
What if every fork could add a define to node-version.h #define MY_UNIQUE_DEFINITION 1 or use a standard name, but unique value, #define NODE_FORK_IDENTIFIER 23 |
It could work but it's not ideal because we're really only interested in the V8 version. Also, it may be an unreliable indicator when linked against a shared libv8. |
Here's some workaround possibilities; tl;dr PREPARSER_H in in 3.25 and 3.26 but not in 3.29, lots of changes in v8 3.14 to 3.25 (V8_ARRAY_BUFFER_VIEW_INTERNAL_FIELD_COUNT for instance) I have not downloaded iojs yet. node 11.14 and 11.13 (v8 3.26.33, 3.25.30)
atom-shell (v8 3.29.88.17)
node 10.35 (v8 3.14.5.9)
|
Seems atom-shell is about to upgrade to Chromium 40 and will raise However, being able to actually condition on the v8 version is still highly desirable. |
100? lol. But there are still incompatible v8 that contextify (among others) have to worry about, though now it's 3 instead of 4 (although I don't know what will happen with node-webkit) if I remember correctly, the list node minor = 10,11,13,17,100 (but 100 == 17), or are you saying that io.js will also change to 100, but no atom might want their freedom and fork io.js too. I think I have a solution in mind though, but it will take some cooperation. Does anyone not use node-gyp these days? |
io.js will stay in range 42 -- 100, atom will be 100+, nw.js will bundle io.js This might all still be manageable, but the underlying problem of not being able to reliably identify the version of v8 remains. |
Why do node.js and io.js not offer a V8 version macro of the embedded version? I think the V8 team won't add a macro because there were some tries before and they were rejected. But still a backporting problem :/ |
The problem is shared dependencies. Lesser packagers insist on removing bundled dependencies with no regard to patches and modifications. |
This can be solved, I feel, so long as the maintainers of node-gyp are agreeable. |
Hi, I'm upgrading atom-shell to Chrome 40, and I have noticed the problem with compatibility with nan. In v1.6, nan assumes Once after atom-shell starts to use Chrome 41, I can safely set How about making nan compatible with V8 3.30.33.15 (used by Chrome 40) when And please make sure |
That might work, but the version matrix is already rather complicated. Adding another exception is not the preferred way, but remains a last resort. A related problem is testing, does atom run on travis? How to set it up? Can't know if something breaks if we can't test it. io.js would not be interested in following chrome versions, will this problem not show up again in the future? |
There is still some ongoing discussion on how to set up the release train (nodejs/node#544) but I believe everyone agrees that io.js will stick to stable V8 releases in the future, meaning it's going to ship the V8 from the latest Chrome release. We're currently at 4.1 and that won't change until 4.2 goes stable. |
The essence of this is to support a pre-release of io.js, so I don't think it is really an exception. Another way is to use the I also tried to tweak the
The simplest way to build $ npm install -g atom-package-manager
$ cd /path/to/a-native-module
$ env ATOM_NODE_VERSION=0.21.0 apm install . You can also use node-gyp or npm to test, the trick is to replace the
As long as io.js bumps the
I'm glad to see this, from the perspective of embedders, this is really good news. |
brianmcd/contextify#145
I hope this is just some temporary fork and that they'll move to io.js instead of running yet another fork. It will be impossible to support three things each claiming to be Node without any reliable way of telling them apart. Why can't v8 announce which version it is?
The text was updated successfully, but these errors were encountered: