Node-expat错误的ELF类:ELFCLASS64

我不得不在构build机器上构build我的节点应用程序,然后将应用程序移动到目标机器,因为我无法按照我的一些依赖项的要求在我的目标机器上编译C.

我有一个编译错误,正在吐出上面的ELF类错误的node-expat。 我已经尝试在32位和64位版本的linux上重build我的节点应用程序,虽然似乎通过这个问题,当我移植到我的目标机器(这应该是一个64位的机器)。

我得到构build这些错误:

node-gyp rebuild make: Entering directory `/root/lumos/runner/node_modules/logbook/node_modules/simple-xmpp/node_modules/node-xmpp/node_modules/node-expat/build' CC(target) Release/obj.target/expat/deps/libexpat/lib/xmlparse.o CC(target) Release/obj.target/expat/deps/libexpat/lib/xmltok.o ../deps/libexpat/lib/xmltok.c:471:1: warning: missing initializer ../deps/libexpat/lib/xmltok.c:471:1: warning: (near initialization for 'latin1_encoding_ns.isName2') ../deps/libexpat/lib/xmltok.c:484:1: warning: missing initializer ../deps/libexpat/lib/xmltok.c:484:1: warning: (near initialization for 'latin1_encoding.isName2') ../deps/libexpat/lib/xmltok.c:504:1: warning: missing initializer ../deps/libexpat/lib/xmltok.c:504:1: warning: (near initialization for 'ascii_encoding_ns.isName2') ../deps/libexpat/lib/xmltok.c:517:1: warning: missing initializer ../deps/libexpat/lib/xmltok.c:517:1: warning: (near initialization for 'ascii_encoding.isName2') ../deps/libexpat/lib/xmltok.c:730:1: warning: missing initializer ../deps/libexpat/lib/xmltok.c:730:1: warning: (near initialization for 'little2_encoding_ns.isName2') ../deps/libexpat/lib/xmltok.c:749:1: warning: missing initializer ../deps/libexpat/lib/xmltok.c:749:1: warning: (near initialization for 'little2_encoding.isName2') ../deps/libexpat/lib/xmltok.c:762:1: warning: missing initializer ../deps/libexpat/lib/xmltok.c:762:1: warning: (near initialization for 'internal_little2_encoding_ns.isName2') ../deps/libexpat/lib/xmltok.c:775:1: warning: missing initializer ../deps/libexpat/lib/xmltok.c:775:1: warning: (near initialization for 'internal_little2_encoding.isName2') ../deps/libexpat/lib/xmltok.c:871:1: warning: missing initializer ../deps/libexpat/lib/xmltok.c:871:1: warning: (near initialization for 'big2_encoding_ns.isName2') ../deps/libexpat/lib/xmltok.c:890:1: warning: missing initializer ../deps/libexpat/lib/xmltok.c:890:1: warning: (near initialization for 'big2_encoding.isName2') CC(target) Release/obj.target/expat/deps/libexpat/lib/xmlrole.o AR(target) Release/obj.target/deps/libexpat/libexpat.a COPY Release/libexpat.a CXX(target) Release/obj.target/node_expat/node-expat.o SOLINK_MODULE(target) Release/obj.target/node_expat.node SOLINK_MODULE(target) Release/obj.target/node_expat.node: Finished COPY Release/node_expat.node make: Leaving directory `/root/lumos/runner/node_modules/logbook/node_modules/simple-xmpp/node_modules/node-xmpp/node_modules/node-expat/build' 

虽然它在我正在build设的机器上运行良好。 当我尝试在我的目标机器上运行它时,我得到以下内容:

 module.js:356 Module._extensions[extension](this, filename); ^ Error: /root/lumos/runner/node_modules/logbook/node_modules/simple-xmpp/node_modules/node-xmpp/node_modules/node-expat/build/Release/node_expat.node: wrong ELF class: ELFCLASS64 at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (/root/lumos/runner/node_modules/logbook/node_modules/simple-xmpp/node_modules/node-xmpp/node_modules/node-expat/lib/node-expat.js:4:13) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) bash-4.1# 

ELFCLASS64告诉我,应用程序正试图调用64位库或32位库吗? 我可以强制node-expat编译使用正确的库,虽然node-gyp / npm?

ELFCLASS64告诉我,应用程序正试图调用64位库或32位库吗?

它告诉你一个32位的进程试图dlopen一个64位的库。

从描述中不清楚如何调用node ,但是您在目标计算机上调用的二进制文件是32位二进制文​​件,无法加载64位共享库。

您需要调用64位二进制代码,或者以32位模式构build库。

Interesting Posts