TooTallNate / node-lame

Node.js native bindings to libmp3lame & libmpg123
MIT License
567 stars 113 forks source link

won't install on ODROID-C2, arm 64 platform Node 6.91. Please add config file #77

Open alexus1211 opened 7 years ago

alexus1211 commented 7 years ago

root@odroid-server:/# npm install lame

> lame@1.2.4 install /node_modules/lame
> node-gyp rebuild

gyp: name 'mpg123_cpu' is not defined while evaluating condition 'mpg123_cpu=="arm_nofpu"' in deps/mpg123/mpg123.gyp while loading dependencies of binding.gyp while trying to load binding.gyp
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:305:16)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Linux 3.14.79+
gyp ERR! command "/usr/bin/nodejs" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /node_modules/lame
gyp ERR! node -v v6.9.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"arm64"})
npm WARN enoent ENOENT: no such file or directory, open '/package.json'
npm WARN !invalid#1 No description
npm WARN !invalid#1 No repository field.
npm WARN !invalid#1 No README data
npm WARN !invalid#1 No license field.
npm ERR! Linux 3.14.79+
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" "lame"
npm ERR! node v6.9.1
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE

npm ERR! lame@1.2.4 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the lame@1.2.4 install script 'node-gyp rebuild'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the lame package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs lame
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls lame
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /npm-debug.log
belm0 commented 6 years ago

I think this involves grabbing some new stuff from latest mpg123 source. See https://www.mpg123.de/cgi-bin/scm/mpg123/trunk/configure.ac?view=markup

e.g. for neon64: defines: -DOPT_NEON64 -DREAL_IS_FLOAT sources: $s_neon64 --> dct36_neon64 dct64_neon64_float synth_neon64_float synth_neon64_s32 synth_stereo_neon64_float synth_stereo_neon64_s32 synth_neon64 synth_stereo_neon64 $s_fpu --> synth_s32 synth_real

belm0 commented 6 years ago

arm_nofpu can be used as-is with some hacks, see https://github.com/TooTallNate/node-speaker/pull/109

cmconner156 commented 6 years ago

@belm0, did you get this working on odroid? I made the changes you pointed to in node-speaker and I get past the cpu type issues, but I still fail:

../deps/lame/libmp3lame/quantize.c: In function ‘VBR_new_iteration_loop’: ../deps/lame/libmp3lame/quantize.c:1734:28: warning: variable ‘fullframebits’ set but not used [-Wunused-but-set-variable] int mean_bits, fullframebits; ^ CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/quantize_pvt.o CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/reservoir.o CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/set_get.o CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/tables.o CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/takehiro.o CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/util.o CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/vbrquantize.o CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/version.o AR(target) Release/obj.target/deps/lame/libmp3lame.a COPY Release/libmp3lame.a CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/compat.o CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/parse.o ../deps/mpg123/src/libmpg123/parse.c: In function ‘check_lame_tag’: ../deps/mpg123/src/libmpg123/parse.c:184:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(fr->track_frames > TRACK_MAX_FRAMES) fr->track_frames = 0; / endless stream? / ^ ../deps/mpg123/src/libmpg123/parse.c: In function ‘handle_id3v2’: ../deps/mpg123/src/libmpg123/parse.c:1013:31: warning: suggest braces around empty body in an ‘else’ statement [-Wempty-body] else debug("no useful ID3v2"); ^ ../deps/mpg123/src/libmpg123/parse.c: In function ‘skip_junk’: ../deps/mpg123/src/libmpg123/parse.c:1081:71: warning: suggest braces around empty body in an ‘else’ statement [-Wempty-body] else debug1("hopefully found one at %"OFF_P, (off_p)fr->rd->tell(fr)); ^ ../deps/mpg123/src/libmpg123/parse.c: In function ‘wetwork’: ../deps/mpg123/src/libmpg123/parse.c:1149:114: warning: suggest braces around empty body in an ‘if’ statement [-Wempty-body] if(VERBOSE3) debug3("resync try %li at %"OFF_P", got newhead 0x%08lx", try, (off_p)fr->rd->tell(fr), newhead); ^ CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/frame.o ../deps/mpg123/src/libmpg123/frame.c: In function ‘INT123_frame_buffers’: ../deps/mpg123/src/libmpg123/frame.c:285:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if(220x110*sizeof(real) > buffssize) ^ CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/format.o CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/dct64.o /usr/local/lib/node_modules/lame/ccP4fSZX.s: Assembler messages: /usr/local/lib/node_modules/lame/ccP4fSZX.s:50: Error: unexpected characters following instruction at operand 3 -- smull x12,x7,x5,x6' /usr/local/lib/node_modules/lame/ccP4fSZX.s:51: Error: unexpected characters following instruction at operand 2 --mov x12,x12,lsr 24' /usr/local/lib/node_modules/lame/ccP4fSZX.s:69: Error: unexpected characters following instruction at operand 3 -- smull x15,x8,x6,x7' /usr/local/lib/node_modules/lame/ccP4fSZX.s:70: Error: unexpected characters following instruction at operand 2 --mov x15,x15,lsr 24' /usr/local/lib/node_modules/lame/ccP4fSZX.s:87: Error: unexpected characters following instruction at operand 3 -- smull x13,x7,x5,x6' /usr/local/lib/node_modules/lame/ccP4fSZX.s:88: Error: unexpected characters following instruction at operand 2 --mov x13,x13,lsr 24' /usr/local/lib/node_modules/lame/ccP4fSZX.s:131: Error: unexpected characters following instruction at operand 3 -- smull x19,x14,x10,x11' /usr/local/lib/node_modules/lame/ccP4fSZX.s:132: Error: unexpected characters following instruction at operand 2 --mov x19,x19,lsr 24' /usr/local/lib/node_modules/lame/ccP4fSZX.s:140: Error: unexpected characters following instruction at operand 3 -- smull x20,x11,x9,x10' /usr/local/lib/node_modules/lame/ccP4fSZX.s:141: Error: unexpected characters following instruction at operand 2 --mov x20,x20,lsr 24' /usr/local/lib/node_modules/lame/ccP4fSZX.s:149: Error: unexpected characters following instruction at operand 3 -- smull x11,x10,x8,x9' /usr/local/lib/node_modules/lame/ccP4fSZX.s:150: Error: unexpected characters following instruction at operand 2 --mov x11,x11,lsr 24' /usr/local/lib/node_modules/lame/ccP4fSZX.s:158: Error: unexpected characters following instruction at operand 3 -- smull x10,x9,x7,x8' /usr/local/lib/node_modules/lame/ccP4fSZX.s:159: Error: unexpected characters following instruction at operand 2 --mov x10,x10,lsr 24' /usr/local/lib/node_modu......

/usr/local/lib/node_modules/lame/ccP4fSZX.s:979: Error: unexpected characters following instruction at operand 2 -- `mov x27,x27,lsr 24' deps/mpg123/mpg123.target.mk:126: recipe for target 'Release/obj.target/mpg123/deps/mpg123/src/libmpg123/dct64.o' failed make: *** [Release/obj.target/mpg123/deps/mpg123/src/libmpg123/dct64.o] Error 1 make: Leaving directory '/usr/local/lib/node_modules/lame/build'

belm0 commented 6 years ago

@cmconner156 I'm on linux-- sorry for the confusion by joining this issue thread.

Wawsax commented 6 years ago

I'd also very much appreciate a fix for this!

leonsio commented 6 years ago

any updates? have the same issue on node v9.11.1 running on rock64 it seems to be a problem with arm64 :(

Sakvojage commented 5 years ago

Any updates? Still cant install it:/

tieb62 commented 1 year ago

Still Same Error

patrykk21 commented 1 year ago

Still same error OSX M1 both native and docker