Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

glibc 2.14 dependency #244

Closed
flip111 opened this Issue · 17 comments

10 participants

@flip111

I don't know for sure that i'm in the right place here. But i hope i am. My OS (Debian Wheezy) has glibc 2.13 as latest stable, see: http://packages.debian.org/wheezy/libc6

2-3 months ago i installed a node app (ghost blog) which installed fine. Now it has a dependency on 2.14 which i don't have. Is it possible to downgrade the dependency and rerun?

The relevant error message while doing npm install:

> sqlite3@2.1.19 install /var/node/blog/ghost/node_modules/sqlite3
> node build.js

[sqlite3]: Checking for http://node-sqlite3.s3.amazonaws.com/Release/node_sqlite3-v2.1.a-node-v11-linux-x64.tar.gz
[sqlite3]: Downloaded to: /root/tmp/node-sqlite3-Release/node_sqlite3-v2.1.a-node-v11-linux-x64.tar.gz
[sqlite3]: Checking for http://node-sqlite3.s3.amazonaws.com/Release/node_sqlite3-v2.1.a-node-v11-linux-x64.sha1.txt
[sqlite3]: Sha1sum matches! 822cc5103a2d6788ff2b6882ea98675a387bd45e
[sqlite3]: Extracting to lib/binding/Release
[sqlite3]: Testing the binary failed: "Command failed:
module.js:356
  Module._extensions[extension](this, filename);
                               ^
Error: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found (required by /var/node/blog/ghost/node_modules/sqlite3/lib/binding/Release/node-v11-linux-x64/node_sqlite3.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/node/blog/ghost/node_modules/sqlite3/lib/sqlite3.js:7: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 Function.Module.runMain (module.js:497:10)
"
[sqlite3]: Attempting source compile...
make: Entering directory `/var/node/blog/ghost/node_modules/sqlite3/build'
  ACTION deps_sqlite3_gyp_action_before_build_target_unpack_sqlite_dep Release/obj/gen/sqlite-autoconf-3071700/sqlite3.c
  TOUCH Release/obj.target/deps/action_before_build.stamp
  CC(target) Release/obj.target/sqlite3/gen/sqlite-autoconf-3071700/sqlite3.o
Release/obj/gen/sqlite-autoconf-3071700/sqlite3.c: In function ‘porter_stemmer’:
Release/obj/gen/sqlite-autoconf-3071700/sqlite3.c:127208:41: warning: value computed is not used [-Wunused-value]
Release/obj/gen/sqlite-autoconf-3071700/sqlite3.c:127212:39: warning: value computed is not used [-Wunused-value]
Release/obj/gen/sqlite-autoconf-3071700/sqlite3.c:127225:35: warning: value computed is not used [-Wunused-value]
Release/obj/gen/sqlite-autoconf-3071700/sqlite3.c:127230:39: warning: value computed is not used [-Wunused-value]
Release/obj/gen/sqlite-autoconf-3071700/sqlite3.c:127236:41: warning: value computed is not used [-Wunused-value]
Release/obj/gen/sqlite-autoconf-3071700/sqlite3.c:127241:39: warning: value computed is not used [-Wunused-value]
Release/obj/gen/sqlite-autoconf-3071700/sqlite3.c:127250:38: warning: value computed is not used [-Wunused-value]
Release/obj/gen/sqlite-autoconf-3071700/sqlite3.c:127257:37: warning: value computed is not used [-Wunused-value]
Release/obj/gen/sqlite-autoconf-3071700/sqlite3.c:127300:39: warning: value computed is not used [-Wunused-value]
Release/obj/gen/sqlite-autoconf-3071700/sqlite3.c:127320:34: warning: value computed is not used [-Wunused-value]
  AR(target) Release/obj.target/deps/sqlite3.a
  COPY Release/sqlite3.a
  CXX(target) Release/obj.target/node_sqlite3/src/database.o
  CXX(target) Release/obj.target/node_sqlite3/src/node_sqlite3.o
  CXX(target) Release/obj.target/node_sqlite3/src/statement.o
  SOLINK_MODULE(target) Release/obj.target/node_sqlite3.node
  SOLINK_MODULE(target) Release/obj.target/node_sqlite3.node: Finished
  COPY Release/node_sqlite3.node
make: Leaving directory `/var/node/blog/ghost/node_modules/sqlite3/build'
[sqlite3]: Created: lib/binding/Release/node-v11-linux-x64
[sqlite3]: Installed in lib/binding/Release/node-v11-linux-x64/node_sqlite3.node
[sqlite3]: Sweet: "node_sqlite3.node" is valid, node-sqlite3 is now installed!
@springmeyer
Admin

You are in the right place. Thanks for the report.

First off: if it's not clear: your build log above shows that node-sqlte3 installed okay in the end. It recovered from the GLIBC_2.14 not found error and fell back to a source compile which worked.

But the GLIBC_2.14 not found error is a problem for users that try to install and don't have a compiler available.

The short answer is hang tight: I am working on a new release sqlite3@2.2.0 that should solve this. It would be great if you could test. I'll let you know when its ready.

Long answer is: This error is points to a limitation of the binaries I provide for linux in that they are currently built on ubuntu precise and therefore only support systems like ubuntu precise or more modern. The standard way to support linux systems with older glibc/etc is to build binaries on an old machine. Because I'm working on automating current a future binarines on travis.ci I'm going to test a hackish approach to working around this, which I've committed in da0800b.

@springmeyer
Admin

Problems before this can be closed:

@francescozaia

Just for the records: I am having the same issue on CentOS 6 (stuck on glibc 2.12) :(

@BoteRock

this happens to me with an Amazon Linux, is there any workaround I can use?

@wilsolutions

FYI: same problem here, yes it get installed on the end but I have the "GLIBC_2.14 not found" error as well.
I am using a CentOS 6 VM: /lib64/libc.so.6 -> libc-2.12.so

@springmeyer
Admin

Thanks for the report @wilsolutions. This is still something I need to find time to solve.

@darrrk

heroku cedar stack fails too (2.11.1-0ubuntu)

@darrrk

Although, if you not store node_modules in git, heroku compiled to the working state (but ugly with errors)

@szepeviktor

Solution

apt-get install build-essential
and it will compile itself

@mandeepsimak

I was getting same problem on Debian server. Then I updated the version of libc6 using following steps:

1) Add the following line to the file /etc/apt/sources.list:
deb http://ftp.debian.org/debian sid main

2) Update your package database:
sudo apt-get update

3) Then install libc6
sudo apt-get install libc6

Hope this gonna help.

@szepeviktor

It is not advised to touch libc!
Almost every package depends on it.

@mandeepsimak

I tried many solutions but that doesn't work and then I updated the version.

@soyuka

Ran into this while trying to install ghost.

On debian squeeze I did:

1) add the following to /etc/apt/sources.list:

deb http://ftp.us.debian.org/debian unstable main contrib non-free
deb-src http://ftp.us.debian.org/debian unstable main contrib non-free

2) sudo apt-get install libc6=2.19-4 gcc-4.4=4.4.5-8
3) npm i sqlite3

@nmrony nmrony referenced this issue in madebyhiro/codem-transcode
Closed

node-sqlite3 is throwing error, does it affect Transcodem? #38

@yinchuan

Problem still exist on CentOS 6.6。Any updates?

@springmeyer
Admin

@yinchuan - The workarounds are:

  • Upgrade to CentOS 7.x (which has a recent enough libc to work out of the box with the node-sqlite3 binaries)
  • Or, build with npm install sqlite3 --build-from-source which will trigger compiling node-sqlite3 from source (requires a compiler environment and python be installed as per node-gyp deps: https://github.com/TooTallNate/node-gyp#installation)
@yinchuan
@springmeyer
Admin

Any plan to fix this with CentOS6 or other old linux?​

No, no plans to change this: basically binaries are only going to work on linux as modern as Ubuntu precise because that is what Travis.ci uses, and we use Travis.ci to build binaries. I don't see this changing to support older linux that ubuntu precise - if anything we'll up the requirement more in the future. So, I'm going to close this with the recommented workaround being "npm install sqlite --build-from-source" (or if sqlite3 is a dep of another app, just do npm install --build-from-source)

@springmeyer springmeyer closed this
@imlucas imlucas referenced this issue in christkv/bson-ext
Closed

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.