TooTallNate/node-lame

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

alexus1211 opened this issue · 9 comments


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

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

  • it maps arm64 to aarch64 cpu_type (neon64 would probably be fine too)
  • then grab defines and source files needed for that cpu type

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

arm_nofpu can be used as-is with some hacks, see TooTallNate/node-speaker#109

@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(2
20x110sizeof(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

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

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

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

Any updates? Still cant install it:/

Still Same Error

Still same error OSX M1 both native and docker