-
Notifications
You must be signed in to change notification settings - Fork 1.3k
NPM package install failing for versions 3.0.0-pre, 1.2.3 #751
Comments
Which OS is it? |
Here is the output for my system info:
Attempting to reproduce with v.0.12.0:
|
Strange! I built the linux binaries using CentOS 5.11 and tested on Ubuntu 12.4: vagrant@precise64:/tmp$ cat /proc/version; cat /etc/issue; lsb_release -a
Linux version 3.11.0-15-generic (buildd@allspice) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #25~precise1-Ubunt
u SMP Thu Jan 30 17:39:31 UTC 2014
Ubuntu 12.04.4 LTS \n \l
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 12.04.4 LTS
Release: 12.04
Codename: precise
vagrant@precise64:/tmp$ nvm use v0.12
Now using node v0.12.0
vagrant@precise64:/tmp$ npm install node-sass
/
> node-sass@3.0.0-pre install /tmp/node_modules/node-sass
> node scripts/install.js
Binary downloaded and installed at /tmp/node_modules/node-sass/vendor/linux-x64-14/binding.node
> node-sass@3.0.0-pre postinstall /tmp/node_modules/node-sass
> node scripts/build.js
` /tmp/node_modules/node-sass/vendor/linux-x64-14/binding.node ` exists.
testing binary.
Binary is fine; exiting.
node-sass@3.0.0-pre node_modules/node-sass
├── get-stdin@4.0.1
├── nan@1.7.0
├── mkdirp@0.5.0 (minimist@0.0.8)
├── chalk@1.0.0 (escape-string-regexp@1.0.3, ansi-styles@2.0.1, supports-color@1.3.0, strip-ansi@2.0.1, has-ansi@1.0.3)
├── meow@3.1.0 (object-assign@2.0.0, minimist@1.1.1, camelcase-keys@1.0.0, indent-string@1.2.1)
├── npmconf@2.1.1 (uid-number@0.0.5, inherits@2.0.1, osenv@0.1.0, ini@1.3.3, once@1.3.1, config-chain@1.1.8, nopt@3.0.1,
semver@4.3.1)
├── gaze@0.5.1 (globule@0.1.0)
├── sass-graph@1.0.3 (commander@2.7.1, lodash@2.4.1, glob@4.5.2)
├── request@2.53.0 (caseless@0.9.0, json-stringify-safe@5.0.0, forever-agent@0.5.2, aws-sign2@0.5.0, stringstream@0.0.4,
tunnel-agent@0.4.0, oauth-sign@0.6.0, isstream@0.1.2, node-uuid@1.4.3, qs@2.3.3, combined-stream@0.0.7, form-data@0.2.0
, mime-types@2.0.9, http-signature@0.10.1, tough-cookie@0.12.1, bl@0.9.4, hawk@2.3.1)
└── pangyp@2.1.0 (which@1.0.9, osenv@0.1.0, rimraf@2.2.8, graceful-fs@3.0.6, nopt@3.0.1, glob@4.3.5, fstream@1.0.4, semv
er@4.2.2, minimatch@2.0.3, tar@1.0.3, request@2.51.0, npmlog@1.0.0)
vagrant@precise64:/tmp$ node -p "require('node-sass').info"
node-sass 3.0.0-pre (Wrapper) [JavaScript]
libsass 3.1.0 (Sass Compiler) [C/C++] |
Seems like my sudo user was still using node v.0.13. I tried reproducing as root and here is the result:
|
@mgreter, @QuLogic, here is a new one. The binary built on old CentOS (v5.11, gcc 4.4.5, glibc 2.5 and libstdc++.so.6) is working on old Ubuntu (12.4), but not Debian 8.. Any thoughts? @xzyfer, @nschonni, like @mgreter mentioned here, we cannot possibly cover all flavors of Linux without incorporating some package manager. Also the symbol not found is a low level exception and it does not get caught by JavaScript code (it is throwing in scripts/build where we have try-catch). Which means the manual build in such cases does not trigger. @valish, I think your best bet is to build the binary manually: git clone https://github.com/sass/node-sass --recursive
cd node-sass
git submodule update --recursive --init
npm install
# (it will throw the exception you mentioned above)
node script/build -f
# this should work, to wit:
node -p "require('./').info" |
Thanks @am11! Running "npm install" in the repo following the "git submodule update.." installed the package fine. It didn't throw any exceptions. |
Oh, did it build the binary or used the downloaded one? |
|
This is strange. Because it downloaded ditto binary with |
I'm encountering this issue as well, but on
|
@AKST node-sass@1.2.3 was release before node@0.12 existed so it's not supported. Please open an issue with the |
You need newer v8, apparently. |
But normally v8 is built in statically in node? Can you post the output of
The last one will produce a lot of output so maybe put it on gist.github.com and link here. |
From my node-sass repo directory:
The output for the nm command: https://gist.github.com/valish/e7c84877bff7d68a6510 |
Great! Thanks. Now I need (also as gist)
|
Output for |
What is your
What is your
Is it the same as
If not, then you gave different node binaries somewhere. For the node binary you gave me I think something is wrong with your |
I noticed my nvm selection not synced with my root user. Running
|
@xzyfer yeah I think that's what I'll do for now, they seemed to have picked up on this themselves |
IMO: using node.js beta version is really a bad idea, especially if you use any C++ module based package. And using pre build of node.js (unreleased nightly) is absolutely a terrible idea, because there is no guarantee if anything would work. @QuLogic, thanks. This is true as it seems like OP has some issue with nvm installation. Because the exact binary, when he is downloading within the node-sass cloned directory, is working just fine. @valish, if this issue is not with node-sass package, please consider closing it. |
node-0.13 as of now has the same ABI as node-0.12 so it should be ok to use. Would be good to figure out if there are any issues. There is some work underway to upgrade libuv and that might break the ABI and the new @valish It would be good anyway to figure out what is wrong with your installation. I strongly suspect something is messed up with the installation (do you have |
@saper, that is not the only reason it can go wrong. See what happened with c++ dependent modules when 0.11 landed. v0.11 was one of the reasons io.js came into existence! |
I don't know that 0.11 story. C++ are the problem outlined in #517 that's the Linux equivalent of DLL hell :( If clang comes to Linux distributions (see the Linux Foundation project) it will only become worse. But I prefer to find out what is @valish actual problem instead of theorizing. I have ran out of ideas because the symbol missing is actually present in the |
@saper, this may also help your investigation: https://github.com/sass/node-sass/search?q=symbol+lookup+error&type=Issues&utf8=%E2%9C%93. |
I am out of ideas. The only one left is
|
Here is my output for
I will try to reproduce with a new user as well. |
I created a new user on my machine, installed nvm, then:
I decided to stay logged as root because it would reset the sudo node version back to 0.13 if I closed it. |
io.js issue sass#751: nodejs/node#751 Stolen-from: nodejs/nan@2173507 Kudos-to: kkoopa
Most probably nvm is a problem, I've managed to install |
Reinstalling Node through linuxbrew solved this for me. Sorry I don't have any specifics for you, but for anyone who stumbles across here, that might be your fix. |
Fix missing header for MinGW
I came across this error initially while installing a package with a "node-sass" ~1.0.1 dependency. I then tried to install the gem without specifying a version and npm returned the same error.
Thought it might have been related node-gyp package, however re-installing was not successful.
The text was updated successfully, but these errors were encountered: