MatteoMeil / node-native-printer

Node module to print from nodejs apps
83 stars 41 forks source link

Building with error on Mac OS[10.13.4] #1

Closed chiulung closed 6 years ago

chiulung commented 6 years ago

I got few messages when i installed this module , below is the content, please reference ...

node install/install.js

Error: gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR In file included from ../lib/unix/API.cpp:1: In file included from ../lib/unix/API.hpp:1: In file included from /Users/miapple/.node-gyp/8.1.1/include/node/node.h:63: In file included from /Users/miapple/.node-gyp/8.1.1/include/node/v8.h:21: In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/memory:643: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:1491:38: error: implicit instantiation of undefined template 'std::1::hash' : public integral_constant<bool, is_empty(_Tp)> {}; ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/hash_table:44:19: note: in instantiation of template class 'std::1::is_empty<std::1::hash >' requested here bool = is_empty<_Hash>::value && !libcpp_is_final<_Hash>::value> ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:761:13: note: in instantiation of default argument for 'unordered_map_hasher<ipp_jstate_e, std::1::hash_value_type<ipp_jstate_e, std::1::basic_string >, std::1::hash >' required here typedef unordered_map_hasher<key_type, value_type, hasher> hasher; ^~~~~~~~~~~~~~ ../lib/unix/API.hpp:16:38: note: in instantiation of template class 'std::1::unordered_map<ipp_jstate_e, std::1::basic_string, std::1::hash, std::1::equal_to, std::1::allocator<std::1::pair<const ipp_jstate_e, std::1::basic_string > > >' requested here unordered_map<ipp_jstate_t, string> job_statuses = { ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/type_traits:400:50: note: template is declared here template struct _LIBCPP_TEMPLATE_VIS hash; ^ In file included from ../lib/unix/API.cpp:1: In file included from ../lib/unix/API.hpp:3: In file included from ../lib/unix/methods.hpp:8: In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:369: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/__hash_table:880:5: error: static_assert failed "the specified hash does not meet the Hash requirements" static_assert(check_hash_requirements<_Key, _Hash>::value, ^ ~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/hash_table:962:77: note: in instantiation of member function 'std::1::diagnose_hash_table_helper<std::1::hash_value_type<ipp_jstate_e, std::1::basic_string >, int, std::1::unordered_map_equal<ipp_jstate_e, std::1::hash_value_type<ipp_jstate_e, std::1::basic_string >, std::__1::equal_to, true>, std::1::allocator<std::1::hash_value_type<ipp_jstate_e, std::1::basic_string > > >::trigger_diagnostics' requested here static_assert(diagnose_hash_table_helper<_Tp, _Hash, _Equal, _Alloc>::trigger_diagnostics(), ""); ^ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/unordered_map:769:13: note: in instantiation of template class 'std::1::hash_table<std::1::hash_value_type<ipp_jstate_e, std::1::basic_string >, int, std::1::unordered_map_equal<ipp_jstate_e, std::1::hash_value_type<ipp_jstate_e, std::__1::basic_string >, std::1::equal_to, true>, std::1::allocator<std::1::hash_value_type<ipp_jstate_e, std::1::basicstring > > >' requested here table table; ^ ../lib/unix/API.hpp:16:38: note: in instantiation of template class 'std::1::unordered_map<ipp_jstate_e, std::__1::basic_string, std::1::hash, std::__1::equal_to, std::1::allocator<std::1::pair<const ipp_jstate_e, std::__1::basic_string > > >' requested here unordered_map<ipp_jstate_t, string> job_statuses = { ^ 2 errors generated. make: *** [Release/obj.target/unix_printer/lib/unix/API.o] Error 1 gyp ERR! build error gyp ERR! stack Error: make failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/Users/miapple/.nvm/versions/node/v8.1.1/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23) gyp ERR! stack at emitTwo (events.js:125:13) gyp ERR! stack at ChildProcess.emit (events.js:213:7) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:197:12) gyp ERR! System Darwin 17.5.0 gyp ERR! command "/Users/miapple/.nvm/versions/node/v8.1.1/bin/node" "/Users/miapple/.nvm/versions/node/v8.1.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /Users/miapple/cloud/GoogleDrive/develop/js/sfqz/express-app/node_modules/node-native-printer gyp ERR! node -v v8.1.1 gyp ERR! node-gyp -v v3.6.2 gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! node-native-printer@1.0.0-alpha.5 build: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the node-native-printer@1.0.0-alpha.5 build script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in: npm ERR! /Users/miapple/.npm/_logs/2018-04-27T08_03_42_063Z-debug.log

MatteoMeil commented 6 years ago

The issue is due to this piece of code

unordered_map<ipp_jstate_t, string> job_statuses = {
    {IPP_JOB_ABORTED, "aborted"},
    {IPP_JOB_CANCELED, "canceled"},
    {IPP_JOB_COMPLETED, "completed"},
    {IPP_JOB_HELD, "held"},
    {IPP_JOB_PENDING, "pending"},
    {IPP_JOB_PROCESSING, "processing"},
    {IPP_JOB_STOPPED, "stopped"}
};

and this import:

#include <unordered_map>

I've just fixed it. New release will come tomorrow evening.

MatteoMeil commented 6 years ago

Version 1.0.0-beta.2 released Tested on OS X 10.13 High sierra, Ubuntu 18, Windows 10