blackbeam / poppler-simple

A simple javascript interface to poppler library
Apache License 2.0
37 stars 14 forks source link

Not working with Node >= 14 #41

Closed alejandroclaro closed 2 years ago

alejandroclaro commented 2 years ago

The compilation is failing in new versions of NodeJS. The bug is related to NAN 2.14.0. This was fixed in NAN version 2.14.1. See https://github.com/nodejs/nan/blob/master/CHANGELOG.md

+ nan@2.14.0
@smartmatic/evoting:     updated 1 package and audited 1 package in 0.978s
@smartmatic/evoting:     found 0 vulnerabilities
@smartmatic/evoting:     
@smartmatic/evoting:     $ (node-gyp rebuild) || (exit 1)
@smartmatic/evoting:     make: Entering directory '/home/aclaro/SourceCode/esbu_dev_evoting_ts/node_modules/poppler-simple/build'
@smartmatic/evoting:       CXX(target) Release/obj.target/poppler/src/poppler.o
@smartmatic/evoting:     poppler.target.mk:129: recipe for target 'Release/obj.target/poppler/src/poppler.o' failed
@smartmatic/evoting:     make: Leaving directory '/home/aclaro/SourceCode/esbu_dev_evoting_ts/node_modules/poppler-simple/build'
@smartmatic/evoting:     info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
@smartmatic/evoting:     
@smartmatic/evoting:                     errorOut=warning package.json: License should be a valid SPDX license expression
@smartmatic/evoting:     In file included from /home/aclaro/.electron-gyp/14.0.1/include/node/node.h:67:0,
@smartmatic/evoting:                      from ../node_modules/nan/nan.h:54,
@smartmatic/evoting:                      from ../src/poppler.cc:1:
@smartmatic/evoting:     /home/aclaro/.electron-gyp/14.0.1/include/node/v8.h:1683:79: warning: ‘ResolveCallback’ is deprecated [-Wdeprecated-declarations]
@smartmatic/evoting:                                                            ResolveCallback callback);
@smartmatic/evoting:                                                                                    ^
@smartmatic/evoting:     /home/aclaro/.electron-gyp/14.0.1/include/node/v8.h:8714:51: warning: ‘HostImportModuleDynamicallyCallback’ is deprecated [-Wdeprecated-declarations]
@smartmatic/evoting:            HostImportModuleDynamicallyCallback callback);
@smartmatic/evoting:                                                        ^
@smartmatic/evoting:     In file included from ../node_modules/nan/nan.h:2884:0,
@smartmatic/evoting:                      from ../src/poppler.cc:1:
@smartmatic/evoting:     ../node_modules/nan/nan_typedarray_contents.h: In constructor ‘Nan::TypedArrayContents<T>::TypedArrayContents(v8::Local<v8::Value>)’:
@smartmatic/evoting:     ../node_modules/nan/nan_typedarray_contents.h:34:43: error: ‘class v8::ArrayBuffer’ has no member named ‘GetContents’; did you mean ‘IsContext’?
@smartmatic/evoting:            data   = static_cast<char*>(buffer->GetContents().Data()) + byte_offset;
@smartmatic/evoting:                                                ^~~~~~~~~~~
@smartmatic/evoting:                                                IsContext
@smartmatic/evoting:     make: *** [Release/obj.target/poppler/src/poppler.o] Error 1

Could someone update the NAN version in the package.json, and remove the 'presintall' script?

Only removing the preinstall script is enough to make it work.

blackbeam commented 2 years ago

Fix published as v0.10.2