cachethq / cachet

🚦 The open-source status page system.

Home Page:https://cachethq.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Bower & Gulp requirements break Debian Wheezy & CentOS 6 installs

jaxxstorm opened this issue Β· comments

A bunch of the node requirements require node-sass ~ 1.0, which is broken on CentOS 6 and Debian Wheezy re: sass/node-sass#517

The error message received is:

> node-sass@1.2.3 install /var/www/html/status/node_modules/laravel-elixir/node_modules/gulp-sass/node_modules/node-sass
> node scripts/install.js

Binary downloaded and installed at /var/www/html/status/node_modules/laravel-elixir/node_modules/gulp-sass/node_modules/node-sass/vendor/linux-x64/binding.node

> node-sass@1.2.3 postinstall /var/www/html/status/node_modules/laravel-elixir/node_modules/gulp-sass/node_modules/node-sass
> node scripts/build.js

`linux-x64` exists; testing

module.js:356
  Module._extensions[extension](this, filename);
                               ^
Error: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5' not found (required by /var/www/html/status/node_modules/laravel-elixir/node_modules/gulp-sass/node_modules/node-sass/vendor/linux-x64/binding.node)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (/var/www/html/status/node_modules/laravel-elixir/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:181:15)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
npm ERR! weird error 8
npm ERR! not ok code 0

The fix currently is to use node-sass 2.0.0 beta:

sass/node-sass#517 (comment)

Unfortunately, the deps require explicitly that node-sass versions around 1.0 are used, so simply updating the dependencies won't be enough.

CentOS 6 and Debian Wheezy will account for a vast, vast number of production instances, so this could severely reduce the market for Cachet - it certainly rules me out of running it internally.

@jaxxstorm can you try running npm shrinkwrap and then installing.

I'll have a crack at redeploying from scratch tonight and seeing if that resolved

The issue you linked to says that the problem has been fixed, they rebuilt the dependencies? Worth trying again, like you said :)

@jaxxstorm can you try again please? We've added another dependency array-union. I've no idea if it will help, but it can't hurt.

@Ehesp I believe you were having an issue on Debian? Can you try?

Haven't had time to try this recently, I'll try find some time next week

This isn't a bug with Cachet, but is obviously causing issues for people. We should add some information somewhere explaining that it's not working on CentOS and Debian.

In the mean time, we can't do anything as it's the dependencies themselves which are broken.

Could we not have another branch with all the assets compiled in there ?

Technically the answer is yes.

But because it means that we need to maintain two branches it's not logistically elegant. I'm going to look into the actual issue itself and see if I can contribute a fix.

Actually, it looks like there is an issue and a PR open for it: dlmanning/gulp-sass#162 but the gulp-sass guy hasn't merged.

I may have a temporary fix on the go.

@jbrooksuk πŸ‘

I ran into this problem today on my Centos 6 &7 boxes, going to reimage it for ubuntu and try again.

Yeah I am having this issue as well, tried using node-sass beta but still it fails with the error.

/tmp/Cachet]# /tmp/node-v0.10.35-linux-x64/bin/npm install node-sass@2.0.0-beta
npm WARN package.json @ No repository field.
\
> node-sass@2.0.0-beta install /tmp/Cachet/node_modules/node-sass
> node scripts/install.js

Binary downloaded and installed at /tmp/Cachet/node_modules/node-sass/vendor/linux-x64/binding.node

> node-sass@2.0.0-beta postinstall /tmp/Cachet/node_modules/node-sass
> node scripts/build.js

node-sass@2.0.0-beta node_modules/node-sass
β”œβ”€β”€ get-stdin@3.0.2
β”œβ”€β”€ object-assign@2.0.0
β”œβ”€β”€ replace-ext@0.0.1
β”œβ”€β”€ cross-spawn@0.2.3 (lru-cache@2.5.0)
β”œβ”€β”€ chalk@0.5.1 (escape-string-regexp@1.0.2, ansi-styles@1.1.0, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0)
β”œβ”€β”€ mkdirp@0.5.0 (minimist@0.0.8)
β”œβ”€β”€ shelljs@0.3.0
β”œβ”€β”€ nan@1.4.1
β”œβ”€β”€ meow@2.1.0 (minimist@1.1.0, indent-string@1.2.0, camelcase-keys@1.0.0)
β”œβ”€β”€ gaze@0.5.1 (globule@0.1.0)
β”œβ”€β”€ request@2.51.0 (caseless@0.8.0, json-stringify-safe@5.0.0, forever-agent@0.5.2, aws-sign2@0.5.0, stringstream@0.0.4, oauth-sign@0.5.0, tunnel-agent@0.4.0, node-uuid@1.4.2, qs@2.3.3, mime-types@1.0.2, combined-stream@0.0.7, http-signature@0.10.1, form-data@0.2.0, bl@0.9.3, tough-cookie@0.12.1, hawk@1.1.1)

Well this got merged. Try now?

I ran npm update and it's installed node-sass@2.0.0-beta. That should be fixed now?

Its running well on Centos 6.5.

You can try the 0.9.3 version of node-sass
CentOS release 6.5 (Final)