Repository navigation
Failed to Install on OpenShift Node.js 0.10 Cartridge #730
Description
I can not install Nodegit on the OpenShift Node.js 0.10 Cartridge. The installation fails when compiling. This is the whole error message:
npm install nodegit
\
nodegit@0.4.1 install /var/lib/openshift/**/app-root/runtime/repo/node_modules/nodegit
node lifecycleScripts/install
[nodegit] Fetching binary from S3.
[nodegit] Failed to install prebuilt binary, building manually.
[nodegit] Making sure dependencies are available and native code is generated
[nodegit] Everything is ready to go, attempting compilation
[nodegit] Building native node module.
{ [Error: Command failed: ../vendor/libssh2/src/openssl.c: In function '_libssh2_pub_priv_keyfile':
../vendor/libssh2/src/openssl.c:767: warning: value computed is not used
../vendor/libssh2/src/transport.c: In function '_libssh2_transport_send':
../vendor/libssh2/src/transport.c:716: warning: suggest braces around empty body in an 'if' statement
cc1plus: error: unrecognized command line option "-std=c++11"
make: *** [Release/obj.target/nodegit/src/nodegit.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/var/lib/openshift/55fbcbad0c1e66ad96000042/app-root/runtime/repo/node_modules/nodegit/node_modules/pangyp/lib/build.js:272:23)
gyp ERR! stack at ChildProcess.emit (events.js:98:17)
gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:820:12)
gyp ERR! System Linux 2.6.32-504.34.1.el6.x86_64
gyp ERR! command "node" "/var/lib/openshift/55fbcbad0c1e66ad96000042/app-root/runtime/repo/node_modules/nodegit/node_modules/.bin/pangyp" "rebuild"
gyp ERR! cwd /var/lib/openshift/55fbcbad0c1e66ad96000042/app-root/runtime/repo/node_modules/nodegit
gyp ERR! node -v v0.10.35
gyp ERR! pangyp -v v2.3.2
gyp ERR! not ok
] killed: false, code: 1, signal: null }
undefined
nodegit@0.4.1 node_modules/nodegit
├── promisify-node@0.1.5 (nodegit-promise@1.0.2)
├── which-native-nodish@1.1.3 (find-parent-dir@0.3.0, nodegit-promise@1.0.2)
├── nodegit-promise@2.0.1 (asap@2.0.3)
├── fs-extra@0.18.4 (jsonfile@2.2.2, graceful-fs@3.0.8, rimraf@2.4.3)
└── npm@2.14.5
gcc --version gives the following output:
gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
I know this is too old... Could you please provide a prebuild binary to solve this problem?
This is the system:
uname -a
Linux ex-std-node688.prod.rhcloud.com 2.6.32-504.34.1.el6.x86_64 #1 SMP Mon Jul 27 15:03:29 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
If you need any further information about the system please ask.
Activity
saper commentedon Sep 20, 2015
I'll check if we can lower the compiler requirements. A pre-built binary would be nice as well. Can you post the output of
node -p process.versions?henning96 commentedon Sep 20, 2015
Sure;)
node -p process.versions
{ http_parser: '2.0',
node: '0.10.35',
v8: '3.14.5.10',
ares: '1.9.1',
uv: '0.10.30',
zlib: '1.2.3',
modules: '11',
openssl: '1.0.1e-fips' }
maxkorp commentedon Sep 22, 2015
The compiler requirements are pretty hardlined, unless we can get out of using Chrono. The unfortunate thing is we've also dropped node 10 support.
saper commentedon Sep 22, 2015
tbranyen commentedon Sep 22, 2015
Probably since Node 0.10 is old and runs an ancient v8.
saper commentedon Sep 22, 2015
I know it's old :)
I am asking this since we are using nan (although not fully) we should be running on 0.10 just fine. Is there any other reason? If not, I will investigate this.
tbranyen commentedon Sep 22, 2015
@saper I'd look into what node-gyp and nan currently support. If they both support 0.10 that'd be nice if we could too, but I wouldn't stress it. It'd be great to remove the chrono dependency like @maxkorp said and then we could drop back to an older gcc.
saper commentedon Sep 22, 2015
Yes, they do. For node-sass we are building node 0.10 binaries as well, with plain node-gyp and nan. I also see report with compilation trouble on 4.1, I suspect our code is not fully migrated to nan
maxkorp commentedon Sep 30, 2015
It was a step in simplifying the build. We had to keep handy 2 different versions of http_parser. We can add it back, and configure gyp to use one or the other. But there are now 2 major node versions released since 0.10 (0.12 and 4.0). I'm not opposed to that being brought back if it doesn't add complexity back to the build, but @tbranyen and @johnhaley81 should vote in as well. The compiler issue is, as of now, necessarily non negotiable, unfortunately. I'd love to remove it, but the chrono issue is 100% required until a replacement is available.
johnhaley81 commentedon Oct 21, 2015
This should be fixed in #761
tbranyen commentedon Jan 15, 2016
Closing, please comment to re-open if in error.