Hummusjs: Error: /lib64/libc.so.6: version `GLIBC_2.14' not found

Created on 22 Jul 2016  路  8Comments  路  Source: galkahana/HummusJS

Can I solve this without replace(upgrade) '/lib64/libc.so.6' ?
Please let me know.
Thanx

$ node
> var hummus = require("hummus");
Error: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /path/to/node_modules/hummus/binding/hummus.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> (/path/to/node_modules/hummus/hummus.js:5:31)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
>
(To exit, press ^C again or type .exit)
  • CentOS 6 (x86_64)
  • libc.so.6 ( linked libc-2.12.so )
# strings /lib64/libc.so.6 | grep GLIB
GLIBC_2.2.5
GLIBC_2.2.6
GLIBC_2.3
GLIBC_2.3.2
GLIBC_2.3.3
GLIBC_2.3.4
GLIBC_2.4
GLIBC_2.5
GLIBC_2.6
GLIBC_2.7
GLIBC_2.8
GLIBC_2.9
GLIBC_2.10
GLIBC_2.11
GLIBC_2.12
GLIBC_PRIVATE

Most helpful comment

Hi
My answer arrive a bit later. I had a similar problem in centos6/redhat6:

module.js:434
  return process.dlopen(module, path._makeLong(filename));
                 ^

Error: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/vagrant/test-1/node_modules/hummus/binding/hummus.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/vagrant/test-1/node_modules/hummus/hummus.js:5:31)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)

For a fast check I have created an app only with hummus require:

'use strict';
const hummus = require('hummus')

First I installed hummus in a normal way:

npm i hummus

and I got the error shown before with GLIBCXX_3.4.15 problem when executed the app with require.

After investigating a bit, I realized that g++ with C++11 is needed, so I installed it from this repo:

cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo 
yum --enablerepo=testing-1.1-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++

Got from https://superuser.com/questions/381160/how-to-install-gcc-4-7-x-4-8-x-on-centos

Then go to node_modules/hummus and recompile the hummus executable (hummus.node):

sudo npm i -g node-pre-gyp

export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc  
export CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp
export CXX=/opt/centos/devtoolset-1.1/root/usr/bin/g++

node-pre-gyp configure
node-pre-gyp build

An alternative to exports is passing it at execution time:

env CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp CXX=/opt/centos/devtoolset-1.1/root/usr/bin/g++ node-pre-gyp configure
env CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp CXX=/opt/centos/devtoolset-1.1/root/usr/bin/g++ node-pre-gyp build

And voila: if we execute again our test app we will see it ends correctly without the GLIB error.

All 8 comments

try npm install hummus --build-from-source

I have to figure out how to include src/gcc-preinclude.h so that it will solve the problem.
If you want to help add this line:
"cflags": [ "-include ../src/gcc-preinclude.h" ]
to the various binding.gup's in the project (reckon maybe just adding to the first one might do) like it's done here:
https://github.com/mapbox/node-sqlite3/blob/master/binding.gyp

Do this in a nice branch and try to run against travis seeing if you get a built binary that you can use.
your help will be apprechiated.

When I try to run (CentOS 6 (x86_64))

npm install hummus --build-from-source

I get the following

Failed to execute '/home/andrejk/bin/node /home/andrejk/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/home/andrejk/public_html//node_modules/hummus/binding/hummus.node --module_name=hummus --module_path=/home/andrejk/public_html/node_modules/hummus/binding' (1)
npm ERR! Linux 2.6.32-604.30.3.lve1.3.63.el6.x86_64
npm ERR! argv "/home/andrejk/bin/node" "/home/andrejk/bin/npm" "install" "hummus" "--build-from-source"
npm ERR! node v4.4.1
npm ERR! npm  v2.14.20
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: `node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install script 'node-pre-gyp install --fallback-to-build'.
npm ERR! This is most likely a problem with the hummus package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-pre-gyp install --fallback-to-build

@andrejkaurin, well I don't know what this means. it doesn't say much. maybe there's no build environment there?
there's instructions here https://github.com/nodejs/node-gyp to verify that you got a build env.

Re the original issue. One if they users let me know that the issue is resolve when using centos 7, so thats an option.
Gal

I know that it is not in scope of this ticket but is there any hosting proven to support hummus library?

Hi
My answer arrive a bit later. I had a similar problem in centos6/redhat6:

module.js:434
  return process.dlopen(module, path._makeLong(filename));
                 ^

Error: /usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /home/vagrant/test-1/node_modules/hummus/binding/hummus.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/vagrant/test-1/node_modules/hummus/hummus.js:5:31)
    at Module._compile (module.js:409:26)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)

For a fast check I have created an app only with hummus require:

'use strict';
const hummus = require('hummus')

First I installed hummus in a normal way:

npm i hummus

and I got the error shown before with GLIBCXX_3.4.15 problem when executed the app with require.

After investigating a bit, I realized that g++ with C++11 is needed, so I installed it from this repo:

cd /etc/yum.repos.d
wget http://people.centos.org/tru/devtools-1.1/devtools-1.1.repo 
yum --enablerepo=testing-1.1-devtools-6 install devtoolset-1.1-gcc devtoolset-1.1-gcc-c++

Got from https://superuser.com/questions/381160/how-to-install-gcc-4-7-x-4-8-x-on-centos

Then go to node_modules/hummus and recompile the hummus executable (hummus.node):

sudo npm i -g node-pre-gyp

export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc  
export CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp
export CXX=/opt/centos/devtoolset-1.1/root/usr/bin/g++

node-pre-gyp configure
node-pre-gyp build

An alternative to exports is passing it at execution time:

env CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp CXX=/opt/centos/devtoolset-1.1/root/usr/bin/g++ node-pre-gyp configure
env CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc CPP=/opt/centos/devtoolset-1.1/root/usr/bin/cpp CXX=/opt/centos/devtoolset-1.1/root/usr/bin/g++ node-pre-gyp build

And voila: if we execute again our test app we will see it ends correctly without the GLIB error.

I am getting this error while downloading pdf.

Error: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /var/www/html/node_modules/hummus/binding/hummus.node)
    at Object.Module._extensions..node (module.js:681:18)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/var/www/html/node_modules/hummus/hummus.js:5:31)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at /var/www/html/app/routes.js:2250:18
    at Layer.handle [as handle_request] (/var/www/html/node_modules/express/lib/router/layer.js:95:5)
Was this page helpful?
0 / 5 - 0 ratings

Related issues

MOuli90 picture MOuli90  路  6Comments

richard-kurtosys picture richard-kurtosys  路  5Comments

nnnikolay picture nnnikolay  路  7Comments

ankitrshah89 picture ankitrshah89  路  5Comments

ziram picture ziram  路  3Comments