y-a-v-a / node-gd

🎨 GD graphics library (libgd) C++ bindings for Node.js.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

node-gd fails to install on AWS AMI HVM EC2

lampdev opened this issue · comments

I want to create node layer for AWS lambda with node-gd. So I created new EC2 instance with default AWS AMI HVM, I installed gd-devel, but install node-gd always fails, here is output for npm install node-gd

npm WARN deprecated request@2.88.2: request has been deprecated, see https://git hub.com/request/request/issues/3142

node-gd@2.1.0 install /home/ec2-user/gd12/nodejs/node_modules/node-gd
node-gyp rebuild

make: Entering directory /home/ec2-user/gd12/nodejs/node_modules/node-gd/build' CC(target) Release/obj.target/nothing/../node-addon-api/nothing.o AR(target) Release/obj.target/../node-addon-api/nothing.a COPY Release/nothing.a CXX(target) Release/obj.target/node_gd/src/addon.o In file included from ../src/node_gd.cc:23:0, from ../src/addon.cc:20: ../src/node_gd_workers.cc: In member function ‘virtual void CreateFromWebpWorker ::Execute()’: ../src/node_gd_workers.cc:285:15: error: ‘gdImageCreateFromWebp’ was not declare d in this scope image = gdImageCreateFromWebp(in); ^~~~~~~~~~~~~~~~~~~~~ ../src/node_gd_workers.cc:285:15: note: suggested alternative: ‘gdImageCreateFro mXbm’ image = gdImageCreateFromWebp(in); ^~~~~~~~~~~~~~~~~~~~~ gdImageCreateFromXbm ../src/node_gd_workers.cc: In member function ‘virtual void CreateFromBmpWorker: :Execute()’: ../src/node_gd_workers.cc:316:15: error: ‘gdImageCreateFromBmp’ was not declared in this scope image = gdImageCreateFromBmp(in); ^~~~~~~~~~~~~~~~~~~~ ../src/node_gd_workers.cc:316:15: note: suggested alternative: ‘gdImageCreateFro mXpm’ image = gdImageCreateFromBmp(in); ^~~~~~~~~~~~~~~~~~~~ gdImageCreateFromXpm ../src/node_gd_workers.cc: In member function ‘virtual void CreateFromTiffWorker ::Execute()’: ../src/node_gd_workers.cc:347:15: error: ‘gdImageCreateFromTiff’ was not declare d in this scope image = gdImageCreateFromTiff(in); ^~~~~~~~~~~~~~~~~~~~~ ../src/node_gd_workers.cc:347:15: note: suggested alternative: ‘gdImageCreateFro mGif’ image = gdImageCreateFromTiff(in); ^~~~~~~~~~~~~~~~~~~~~ gdImageCreateFromGif ../src/node_gd_workers.cc: In member function ‘virtual void FileWorker::Execute( )’: ../src/node_gd_workers.cc:377:18: error: ‘gdImageFile’ was not declared in this scope _success = gdImageFile(*_gdImage, path.c_str()); ^~~~~~~~~~~ ../src/node_gd_workers.cc:377:18: note: suggested alternative: ‘gdImageFill’ _success = gdImageFile(*_gdImage, path.c_str()); ^~~~~~~~~~~ gdImageFill ../src/node_gd_workers.cc: In member function ‘virtual void CreateFromFileWorker ::Execute()’: ../src/node_gd_workers.cc:429:15: error: ‘gdImageCreateFromFile’ was not declare d in this scope image = gdImageCreateFromFile(path.c_str()); ^~~~~~~~~~~~~~~~~~~~~ ../src/node_gd_workers.cc:429:15: note: suggested alternative: ‘gdImageCreateFro mGif’ image = gdImageCreateFromFile(path.c_str()); ^~~~~~~~~~~~~~~~~~~~~ gdImageCreateFromGif ../src/node_gd_workers.cc: In member function ‘virtual void SaveWebpWorker::Exec ute()’: ../src/node_gd_workers.cc:683:7: error: ‘gdImageWebpEx’ was not declared in this scope gdImageWebpEx(*_gdImage, out, level); ^~~~~~~~~~~~~ ../src/node_gd_workers.cc:683:7: note: suggested alternative: ‘gdImagePngEx’ gdImageWebpEx(*_gdImage, out, level); ^~~~~~~~~~~~~ gdImagePngEx ../src/node_gd_workers.cc: In member function ‘virtual void SaveBmpWorker::Execu te()’: ../src/node_gd_workers.cc:784:7: error: ‘gdImageBmp’ was not declared in this sc ope gdImageBmp(*_gdImage, out, compression); ^~~~~~~~~~ ../src/node_gd_workers.cc:784:7: note: suggested alternative: ‘gdImageCopy’ gdImageBmp(*_gdImage, out, compression); ^~~~~~~~~~ gdImageCopy ../src/node_gd_workers.cc: In member function ‘virtual void SaveTiffWorker::Exec ute()’: ../src/node_gd_workers.cc:816:7: error: ‘gdImageTiff’ was not declared in this s cope gdImageTiff(*_gdImage, out); ^~~~~~~~~~~ ../src/node_gd_workers.cc:816:7: note: suggested alternative: ‘gdImageGif’ gdImageTiff(*_gdImage, out); ^~~~~~~~~~~ gdImageGif make: *** [Release/obj.target/node_gd/src/addon.o] Error 1 make: Leaving directory /home/ec2-user/gd12/nodejs/node_modules/node-gd/build'
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/home/ec2-user/.nvm/versions/node/v12 .18.2/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_proces s.js:275:12)
gyp ERR! System Linux 4.14.181-140.257.amzn2.x86_64
gyp ERR! command "/home/ec2-user/.nvm/versions/node/v12.18.2/bin/node" "/home/ec 2-user/.nvm/versions/node/v12.18.2/lib/node_modules/npm/node_modules/node-gyp/bi n/node-gyp.js" "rebuild"
gyp ERR! cwd /home/ec2-user/gd12/nodejs/node_modules/node-gd
gyp ERR! node -v v12.18.2
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm WARN nodejs@1.0.0 No description
npm WARN nodejs@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-gd@2.1.0 install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-gd@2.1.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional log ging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/ec2-user/.npm/_logs/2020-07-07T08_29_29_733Z-debug.log

Hi thanks for reaching out. I have no immediate clue, as I have never tried to build node-gd in an AWS environment. Your node version seems OK... Do you have any clue what version of gd-devel is installed?
Cheers,
Vincent

Yes, here is info
yum info gd-devel
Loaded plugins: priorities, update-motd, upgrade-helper
354 packages excluded due to repository priority protections
Available Packages
Name : gd-devel
Arch : x86_64
Version : 2.0.35
Release : 11.10.amzn1
Size : 84 k
Repo : amzn-main/latest
Summary : The development libraries and header files for gd
URL : http://www.libgd.org/Main_Page
License : MIT
Description : The gd-devel package contains the development libraries and header
: files for gd, a graphics library for creating PNG and JPEG
: graphics.

Thanks for letting me know. I think, when looking at https://github.com/libgd/libgd/releases , that the release of gd of 2.0.35 is about 10 years old. Even though I do have some logic for support of features for 2.0.36, I could very well have broken support for such old versions last year... The alternative could be to download a version of libgd from elsewhere or find another way to get a more recent version of libgd...
Regards,
Vincent

No reply in a year, closing issue.