Skip to content
This repository has been archived by the owner on Jul 24, 2024. It is now read-only.

Support iojs v3 #1053

Closed
xzyfer opened this issue Aug 5, 2015 · 40 comments
Closed

Support iojs v3 #1053

xzyfer opened this issue Aug 5, 2015 · 40 comments

Comments

@xzyfer
Copy link
Contributor

xzyfer commented Aug 5, 2015

iojs v3 was released today, this means we need to update to nan v2 which has brought some massive breaking changes.

@saper
Copy link
Member

saper commented Aug 5, 2015

Working on it.

@andreimc
Copy link

andreimc commented Aug 5, 2015

👍

@xzyfer
Copy link
Contributor Author

xzyfer commented Aug 5, 2015

I made a start on it today but there were no end to the errors. I'm speaking at some events the next couple of days but I'll come back to this over the weekend if you don't get anywhere @saper.

@saper
Copy link
Member

saper commented Aug 5, 2015 via email

@xzyfer
Copy link
Contributor Author

xzyfer commented Aug 5, 2015

@saper I look very forward to seeing your PR. I originally made the mistake of running the nan conversion tool. It made a real mess of things.

@kenips
Copy link

kenips commented Aug 5, 2015

👍 thanks for the great news @saper

@saper
Copy link
Member

saper commented Aug 5, 2015 via email

@saper
Copy link
Member

saper commented Aug 5, 2015

It now compiles, just crashes :)

@saper
Copy link
Member

saper commented Aug 6, 2015

I am pushing commits to #1054 as I progress (https://github.com/saper/node-sass/tree/iojs45)

Currently I am stuck at the problem with creating instances of Color object:

https://travis-ci.org/sass/node-sass/jobs/74343260

#8  0x0000000802d492de in Nan::SetInternalFieldPointer (object=..., index=0, value=0x803419740) at ../node_modules/nan/nan.h:575
#9  0x0000000802d55a8b in SassTypes::SassValueWrapper<SassTypes::Color>::New (info=...) at ../src/sass_types/sass_value_wrapper.h:124
#10 0x0000000802d417cd in Nan::imp::FunctionCallbackWrapper (info=...) at ../node_modules/nan/nan_callbacks_12_inl.h:167
#11 0x00000000007f45a5 in v8::internal::FunctionCallbackArguments::Call (this=0x7fffffff5840, 

info.This()->InternalFieldCount() at this time is 0, which indicates an improperly constructed or deleted object.

Any help in troubleshooting this welcome :)

@saper
Copy link
Member

saper commented Aug 6, 2015

node 0.10 seems to go further and crashes in cli.js tests:

https://travis-ci.org/sass/node-sass/jobs/74343257

What is interesting here is that we should probably have an api.js test as well to reproduce the problem.

@saper
Copy link
Member

saper commented Aug 8, 2015

Above issues seem to be resolved, feel free to test #1054

@sc0ttwad3
Copy link

If this helps.. once upgrading to iojs 3.0.0...node-sass installation is failing as others have described...but of note is installation failing to download https://github.com/sass/node-sass/releases/download/v3.2.0/win32-x64-45_binding.node ... The releases only currently go up to win32-x64-44_binding.node

C:\Projects\Blog-Workspace\workspace {git}
npm install node-sass -g
C:\Users\swade\AppData\Roaming\npm\node-sass -> C:\Users\swade\AppData\Roaming\npm\node_modules\node-sass\bin\node-sass

> [email protected] install C:\Users\swade\AppData\Roaming\npm\node_modules\node-sass
> node scripts/install.js

Cannot download "https://github.com/sass/node-sass/releases/download/v3.2.0/win32-x64-45_binding.node": HTTP error 404 Not Found

> [email protected] postinstall C:\Users\swade\AppData\Roaming\npm\node_modules\node-sass
> node scripts/build.js

Building: C:\Program Files\iojs\node.exe node_modules\pangyp\bin\node-gyp rebuild --libsass_ext= --libsass_cflags= --libsass_ldflags= --    libsass_library=
gyp ERR! configure error
gyp ERR! stack Error: spawn C:\Python27 ENOENT
gyp ERR! stack     at exports._errnoException (util.js:812:11)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
gyp ERR! stack     at onErrorNT (internal/child_process.js:344:16)
gyp ERR! stack     at doNTCallback2 (node.js:429:9)
gyp ERR! stack     at process._tickCallback (node.js:343:17)
gyp ERR! System Windows_NT 6.3.9600
gyp ERR! command "C:\\Program Files\\iojs\\node.exe" "C:\\Users\\swade\\AppData\\Roaming\\npm\\node_modules\\node-    sass\\node_modules\\pangyp\\bin\\node-gyp" "rebuild" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd C:\Users\swade\AppData\Roaming\npm\node_modules\node-sass
gyp ERR! node -v v3.0.0
gyp ERR! pangyp -v v2.2.1
gyp ERR! not ok
Build failed
npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files\\iojs\\node.exe" "C:\\Program Files\\iojs\\node_modules\\npm\\bin\\npm-cli.js" "install" "node-sass" "-g"
npm ERR! node v3.0.0
npm ERR! npm  v2.13.3
npm ERR! code ELIFECYCLE

npm ERR! [email protected] postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] postinstall script 'node scripts/build.js'.
npm ERR! This is most likely a problem with the node-sass package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node scripts/build.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls node-sass
npm ERR! There is likely additional logging output above.

@saper
Copy link
Member

saper commented Aug 9, 2015

For testing, one needs to check out the modified code of node-sass in the source form (for example by using git clone --branch iojs45 https://github.com/saper/node-sass).

Then it is necessary to compile the code from source, npm install will not fetch the binary as we haven't tested those changes yet.

@devinus
Copy link

devinus commented Aug 10, 2015

What's the status of this?

@saper
Copy link
Member

saper commented Aug 10, 2015

Check out and test #1054

@devinus
Copy link

devinus commented Aug 10, 2015

Thanks @saper

@saper
Copy link
Member

saper commented Aug 14, 2015 via email

@mull
Copy link

mull commented Aug 14, 2015

No I can wait, and I could try and help but my attempts have been feeble so far. I appreciate the work on this and sorry again if I came off as rude.

@xzyfer
Copy link
Contributor Author

xzyfer commented Aug 19, 2015

Fixed in #1054

@xzyfer
Copy link
Contributor Author

xzyfer commented Aug 19, 2015

This will be in 3.3.0

@gajus
Copy link

gajus commented Aug 19, 2015

@xzyfer Thank you!

@mull
Copy link

mull commented Aug 19, 2015

Big thank you to all involved!

@Phoenixmatrix
Copy link

What is the process/timeline for the binaries to be available via npm install? (I'm unfamiliar with node-sass release process and trying to decide if we go with iojs 2.5 or just wait a little for this to go out).

Thanks for working so hard on this!

@devinus
Copy link

devinus commented Aug 19, 2015

@Phoenixmatrix I would recommend going with 2.5 for awhile. It seems there are several packages still not quite ready for 3.0, and going with 2.5 for another month is going to be way less headache for now.

@gajus
Copy link

gajus commented Aug 25, 2015

@devinus Is there a reason 3.3.0 release is being delated? Currently, node-sass is the only package thats keeping me from upgrading to iojs 3.0.0, and given my rather standard stack, I am sure I am not the only one.

@mgol
Copy link
Contributor

mgol commented Aug 25, 2015

@gajus Node.js 4.0.0 should be released in a few weeks, io.js 3 is kind of an alpha of it.

Also, note that it's already been answered in #1086 (comment) that a release should arrive within a few hours. But even if it's delayed a little further, it shouldn't matter too much given the imminent Node 4 release; you can always skip io.js 3 & upgrade directly to Node 4.

@gajus
Copy link

gajus commented Aug 25, 2015

Given that several packages no longer support node at all (e.g. jsdom), going to node is not an option.

@saper
Copy link
Member

saper commented Aug 25, 2015 via email

@gajus
Copy link

gajus commented Aug 25, 2015

I am not rushing anyone. I am genuinely asking whether there are technical issues holding the release of v3.3.0. I am very grateful to everyone who contribute to this package. Thank you for the answer.

@saper
Copy link
Member

saper commented Aug 25, 2015 via email

@mgol
Copy link
Contributor

mgol commented Aug 25, 2015

@gajus

Given that several packages no longer support node at all (e.g. jsdom), going to node is not an option.

I think you misunderstand the situation. jsdom doesn't support Node 0.10 & 0.12, it will work fine with Node 4. io.js will be dead with the release of Node 4, there will be no more io.js releases, the projects have merged.

Good news (compatibility-wise) is that Node 4 will use the same V8 version as io.js 3 so node-sass should automatically work fine with it when it starts working with io.js 3.

@gajus
Copy link

gajus commented Aug 25, 2015

@mzgol I was not aware of that at all. Thank you for clarifying.

@thealjey
Copy link

@mzgol WOW, that does sound exciting!
However, I could not find anything about the upcoming Node.js 4.0.0 release on the internet. Could please you point me to wherever you've got this information from?
Thanks!

@saper
Copy link
Member

saper commented Aug 25, 2015 via email

@xzyfer
Copy link
Contributor Author

xzyfer commented Aug 25, 2015

@devinus

Is there a reason 3.3.0 release is being delated?

Yes. The changes iojs 3 at the v8 were significant. This meant that we had to wait for packages we depend on to update, as well as then incorporating those changes into node-sass.

Secondly, although the new release is technically ready to go, I needed to sleep. Dropping a new release, going to bed and leaving y'all do deal with it l wasn't something I was prepared to do because I <3 you all.

Currently, node-sass is the only package thats keeping me from upgrading to iojs 3.0.0, and given my rather standard stack, I am sure I am not the only one.

Although this may be true for you, this is not an accurate reflection of the current iojs 3 landscape.

To support iojs 3 nan released a new major version. nan is the library used by most (all?) native node extensions like filesystem watchers and websocker servers. For us this meant we had to almost completely rewrite the c++ code that binds us to LibSass.

@xzyfer xzyfer modified the milestones: next.minor, v3.3.0 Aug 26, 2015
@devinus
Copy link

devinus commented Aug 26, 2015

There are a ton of packages not ready for 3.0.0, node-sass was definitely not the only one.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests