Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
ilyazub opened this issue Jun 13, 2018 · 5 comments
Open

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

ilyazub opened this issue Jun 13, 2018 · 5 comments

Comments

@ilyazub
Copy link

ilyazub commented Jun 13, 2018

At my company we are using node-canvas-prebuilt@~2.0.0-alpha.2 to build PNG sprite images. Everything works fine.

Suddenly, on some machines, yarn is reinstalling node-canvas-prebuilt even when dependencies remain unchanged. Don't know why - it's another question.

yarn downloads canvas-prebuilt-v2.0.0-alpha.2-node-v57-linux-x64. This is a correct behavior. But after installation build script is failing with error.

Warning: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./node_modules/canvas-prebuilt/canvas/build/Release/canvas.node) Use --force to continue.
# Absolute path was ommited.

I made a backup of correct canvas.node and we are replacing wrong one when issue occurs. After replacement everything works as usual without errors.
Re-installation of node_modules and yarn cache clean doesn't help.

It seems like canvas.node in that tarball was changed after release. At instance, file size differs from the previous one. I don't know if that possible, but this is my only assumption.

  File: './canvas-correct.node'
  Size: 276110    	Blocks: 552        IO Block: 4096   regular file
Device: fc00h/64512d	Inode: 2547939     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: ( 1000/    ilya)   Gid: ( 1000/    ilya)
Access: 2018-06-13 15:06:32.979344840 +0300
Modify: 2017-11-04 21:46:12.000000000 +0200
Change: 2018-06-06 13:01:30.943530902 +0300
 Birth: -
  File: './canvas-wrong.node'
  Size: 273568    	Blocks: 536        IO Block: 4096   regular file
Device: fc00h/64512d	Inode: 2548115     Links: 1
Access: (0755/-rwxr-xr-x)  Uid: ( 1000/    ilya)   Gid: ( 1000/    ilya)
Access: 2018-06-13 15:17:57.862660000 +0300
Modify: 2018-05-02 18:02:22.000000000 +0300
Change: 2018-06-13 15:18:00.810626362 +0300
 Birth: -

Versions of Node, npm and yarn are the same on every development machine.
Node.js version: v8.11.2
yarn version: 1.3.2
npm version: 5.6.0

OS and libc versions are the same too: CentOS 6.9 and GNU libc v2.12.

To summarize, I have two questions:

  1. Why canvas.node was changed in archive file of June 2017 release?
  2. How to tell yarn to not to re-install installed binary (probably, this question should be asked somewhere else).
@chearon
Copy link
Member

chearon commented Jun 17, 2018

Sorry about that!

I did change the alpha builds (never 1.6.x) four times to get broader binary compatibility. I added an "official" glibc version to target in 59f8822. It's a mystery to me how it ever worked for you since before I was building on Ubuntu 12.04, which has glibc 2.14. Maybe at one point I was using a really old distro for the docker image

Anyways, your version of glibc is from 2010 and most distros that have glibc that old are not supported anymore 😕. I don't want to have to compile glibc from source so right now I can only support 2.13 and up since it comes with Debian Wheezy.

@ilyazub
Copy link
Author

ilyazub commented Jun 22, 2018

That's sad 😞

Thanks for the answer.

@ilyazub ilyazub closed this as completed Jun 22, 2018
@chearon
Copy link
Member

chearon commented Jun 25, 2018

Sorry about that. If I find the time maybe I can try building on a CentOS docker image instead of Debian, since it seems to have the oldest libc.

@ilyazub
Copy link
Author

ilyazub commented Jun 26, 2018

I'll try it too. Also, please publish git repository of chearon/canvas-prebuilt docker image, because for now I need to use something like ImageLayers to inspect Dockerfile.

@ilyazub ilyazub reopened this Jun 26, 2018
@chearon
Copy link
Member

chearon commented Jun 26, 2018

Cool, it's right here. Once you get the build deps, hopefully all the commands beyond that Just Work.

@chearon chearon mentioned this issue Dec 5, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants