-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Cannot get canvas running on CentOS 7 #1796
Comments
Downgrading to canvas 2.6.1 solves the problem while we don't get it fixed on newest version (2.7.0). |
I seem to be getting the same issue, am I doing something wrong?
|
I have also experienced this problem on I have worked around this by rebuilding the binary in my project after doing
I'm not sure if there is a way of telling npm to install from source in my |
any update? |
Seems like this problem is a similar to this issue on the VSCode repository (linked because it has loads of great discussion about the cause of the problem). I have spent a few hours today trying to fix this in a docker environment running
|
I don't think this is something that any of the maintainers have capacity to work on unfortunately (I don't, at least). For Canvas 2.7.0 we had to upgrade the OS used for prebuilds to support the current versions of Node.js, which apparently used a newer CXXABI than CentOS 7 has. Using Canvas 2.6 should work, as should building from source following the steps in the readme.
It should already be trying to build from source if it can't install a prebuild: Line 32 in 6bbc8cb
|
It does successfully download/install the binary. I am not in a hurry to upgrade to CentOS 8, because it reaches end-of-life before CentOS 7 😞 |
I'm getting this error too with 2.7.0 and 2.8.0, i can't use 2.6.1 couse node v16.6.1 don't support it |
Is the problem now solved? |
this is my solution in Centos7: 1. Manually upgrade the GCC version
2. Update
|
1.copy and replace all from/node_modules/canvas/build/Release exclude canvas.node,canvas-postbuild.node,obj.target,.deps to /lib64 |
@stringang thank you!!! it worked for me |
if your os get a problem with all copy .you can copy just libstdc++-6 to /lib64 |
make -j$(nproc) looping this warning: /bin/sh ../../libtool --tag CXX --tag disable-shared --mode=compile /DataDisk/demo/gcc-8.2.0/host-x86_64-pc-linux-gnu/gcc/xgcc -shared-libgcc -B/DataDisk/demo/gcc-8.2.0/host-x86_64-pc-linux-gnu/gcc -nostdinc++ -L/DataDisk/demo/gcc-8.2.0/x86_64-pc-linux-gnu/libstdc++-v3/src -L/DataDisk/demo/gcc-8.2.0/x86_64-pc-linux-gnu/libstdc++-v3/src/.libs -L/DataDisk/demo/gcc-8.2.0/x86_64-pc-linux-gnu/libstdc++-v3/libsupc++/.libs -B/usr/local/x86_64-pc-linux-gnu/bin/ -B/usr/local/x86_64-pc-linux-gnu/lib/ -isystem /usr/local/x86_64-pc-linux-gnu/include -isystem /usr/local/x86_64-pc-linux-gnu/sys-include -I/DataDisk/demo/gcc-8.2.0/libstdc++-v3/../libgcc -I/DataDisk/demo/gcc-8.2.0/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu -I/DataDisk/demo/gcc-8.2.0/x86_64-pc-linux-gnu/libstdc++-v3/include -I/DataDisk/demo/gcc-8.2.0/libstdc++-v3/libsupc++ -prefer-pic -D_GLIBCXX_SHARED -std=gnu++17 -Wall -Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once -ffunction-sections -fdata-sections -frandom-seed=ops.lo -g -O2 -D_GNU_SOURCE -c -o ops.lo ../../../.././libstdc++-v3/src/filesystem/ops.cc |
In case anyone else is having issues here, this worked for me mostly up until this step:
I did not have a copy of the file in /root so I copied from /usr/...then before creating the symbolic link, cd into /lib64 and finally, in the last command, it's missing a slash.
Then the remainder of the commands worked as indicated. Now I have another issue where the fonts are not being rendered properly and I think I need to add the fonts to the package but not sure how to do that, can anyone help??? |
@Fooweb updated with my solution.For font issues, see the git repository example https://github.com/Automattic/node-canvas/blob/master/examples/font.js |
Error: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found
if not found CXXABI_1.3.9,update libstdc++.so.6 download libstdc++.so.6.0.26, copy to /usr/lib64/, and :
Error: /lib64/libc.so.6: version `GLIBC_2.18' not found
it works for me |
thanks |
thank you |
@kroawen you saved my day :) Thank you |
Here's my solution:
Notes:
|
thanks, I have to change to ../configure --prefix=/usr |
not working |
i am having issue in |
⨯ Error: The specified procedure could not be found. |
Firstly I would like to thank @kroawen for the helpful commands which really can solve the problem on centos 7.x tar zxf glibc-2.18.tar.gz => tar -zxf glibc-2.18.tar.gz
./configure --prefix=/usr => ../configure --prefix=/usr if above can be verified and updated, that could be perfect. |
I have been trying to get node canvas to work on CentOS 7 yet I keep getting this error that libstdc.6.so version CXXABI 1.3.9 is not found, from checking the version with
strings /lib64/libstdc++.so.6 | grep CXXABI
it lists the versions from 1.3 to 1.3.7. I found 1.3 - 1.3.10 in<project directory>/node_modules/canvas/build/Release/libstdc.so.6
. I was wondering if anybody has had similar issues and know a fix, a way to redirect it to use that file (I tried LD_LIBRARY_PATH, but it didn't seem to do anything), or anything that could help. I also have the full console log below if it helps.Issue or Feature
Steps to Reproduce
Your Environment
npm list canvas
oryarn list canvas
): [email protected]ty
The text was updated successfully, but these errors were encountered: