2016-08-02 12 views
0

Hallo Leute, ich habe seit Tagen nach Lösungen für dieses Problem gesucht, aber keine der online geposteten Methoden funktionierte für mich. Im Grunde versuche ich NodeGit Bibliothek auf meinem Produktionsserver zu installieren (centos-release-6-8.el6.centos.12.3.x86_64). npm install Doing führt den folgenden Fehler:Konfiguriere gcc-4.8.5, um GLIBCXX_3.4.20 auf centos6 einzuschließen

Error: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /home/app/node_modules/nodegit/build/Release/nodegit.node) 
    at Error (native) 
    at Object.Module._extensions..node (module.js:434:18) 
    at Module.load (module.js:343:32) 
    at Function.Module._load (module.js:300:12) 
    at Module.require (module.js:353:17) 
    at require (internal/module.js:12:17) 
    at Object.<anonymous> (/home/app/node_modules/nodegit/dist/nodegit.js:11:12) 
    at Module._compile (module.js:409:26) 
    at Object.Module._extensions..js (module.js:416:10) 
    at Module.load (module.js:343:32) 
] 
    killed: false, 
    code: 1, 
    signal: null, 
    cmd: '/bin/sh -c node /home/app/node_modules/nodegit/dist/nodegit.js' } 

tun strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX gibt:

GLIBCXX_3.4 
GLIBCXX_3.4.1 
GLIBCXX_3.4.2 
GLIBCXX_3.4.3 
GLIBCXX_3.4.4 
GLIBCXX_3.4.5 
GLIBCXX_3.4.6 
GLIBCXX_3.4.7 
GLIBCXX_3.4.8 
GLIBCXX_3.4.9 
GLIBCXX_3.4.10 
GLIBCXX_3.4.11 
GLIBCXX_3.4.12 
GLIBCXX_3.4.13 
GLIBCXX_FORCE_NEW 
GLIBCXX_DEBUG_MESSAGE_LENGTH 

So GLIBCXX_3.4.20 fehlt. gcc -v Laufen gibt:

COLLECT_GCC=gcc 
COLLECT_LTO_WRAPPER=/packages/encap/gcc-4.8.5/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.8.5/lto-wrapper 
Target: x86_64-unknown-linux-gnu 
Configured with: ../gcc-4.8.5/configure --enable-languages=c,c++,fortran --enable-shared --disable-libstdcxx-pch --enable-lto --enable-libgomp --enable-__cxa_atexit --enable-tls --with-gmp --with-mpfr --with-mpc --with-libelf 
Thread model: posix 
gcc version 4.8.5 (GCC) 

Einige Orte schlage ich gcc-4.9 this folgende installieren. Aber es funktioniert einfach nicht, weil ich auf dem Produktionsserver gcc über ein Host-Management-Tool (Roller) installieren muss, was eine Nervensäge ist, und das möchte ich vermeiden.

Wissen Sie, wie GLIBCXX_3.4.20 installiert ist?

Antwort

1

Die GLIBCXX_3.4.20 wurde in GCC-4.9 (reference) hinzugefügt.

Some places suggest I install gcc-4.9 following this . But it simply doesn't work because in the production server I have to install gcc through a host management tool(Roller) which is a pain in the ass and I want to avoid doing that.

Irgendwie Sie müssen erhalten libstdc++.so.6 von GCC-4.9.x (oder höher) auf dem Produktionsserver und in einem Ort, an dem die Binärdatei es finden werden.

Wenn Sie Roller nicht verwenden möchten, tun Sie es wie Sie möchten.