stephen / airsonos

:musical_note: AirPlay to Sonos
MIT License
2.1k stars 252 forks source link

Installation help #264

Open darrendmiller opened 8 years ago

darrendmiller commented 8 years ago

I'm having trouble installing airsonos, and pretty new to this stuff, so my guess is I'm just doing something stupid. Can anyone help me finish this off correctly? I've installed node.js and updates to the latest version of npm. Then started following the terminal instructions:

$ git clone https://github.com/stephen/airsonos.git
$ cd airsonos
$ npm install -g

First two worked fine, then I get this when I type $npm install -g:

airsonos darren$ npm install -g

> airsonos@0.2.5 prepublish /Users/darren/airsonos
> babel ./lib/ -d ./bin/

sh: babel: command not found

npm ERR! addLocal Could not install /Users/darren/airsonos
npm ERR! Darwin 15.2.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g"
npm ERR! node v5.4.0
npm ERR! npm  v3.5.3
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! airsonos@0.2.5 prepublish: `babel ./lib/ -d ./bin/`
npm ERR! spawn ENOENT
npm ERR! 
npm ERR! Failed at the airsonos@0.2.5 prepublish script 'babel ./lib/ -d ./bin/'.
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 airsonos package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     babel ./lib/ -d ./bin/
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs airsonos
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls airsonos
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/darren/airsonos/npm-debug.log

So here is my npm-debug.log:

0 info it worked if it ends with ok
1 verbose cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'install', '-g' ]
2 info using npm@3.5.3
3 info using node@v5.4.0
4 silly loadCurrentTree Starting
5 silly install loadCurrentTree
6 silly install readGlobalPackageData
7 silly fetchPackageMetaData .
8 silly fetchDirectoryPackageData .
9 silly install normalizeTree
10 silly loadCurrentTree Finishing
11 silly loadIdealTree Starting
12 silly install loadIdealTree
13 silly cloneCurrentTree Starting
14 silly install cloneCurrentTreeToIdealTree
15 silly cloneCurrentTree Finishing
16 silly loadShrinkwrap Starting
17 silly install loadShrinkwrap
18 silly loadShrinkwrap Finishing
19 silly loadAllDepsIntoIdealTree Starting
20 silly install loadAllDepsIntoIdealTree
21 silly resolveWithNewModule airsonos@0.2.5 checking installable status
22 silly cache add args [ '.', null ]
23 verbose cache add spec .
24 silly cache add parsed spec Result {
24 silly cache add   raw: '.',
24 silly cache add   scope: null,
24 silly cache add   name: null,
24 silly cache add   rawSpec: '.',
24 silly cache add   spec: '/Users/darren/airsonos',
24 silly cache add   type: 'directory' }
25 verbose addLocalDirectory /Users/darren/.npm/airsonos/0.2.5/package.tgz not in flight; packing
26 info lifecycle airsonos@0.2.5~prepublish: airsonos@0.2.5
27 verbose lifecycle airsonos@0.2.5~prepublish: unsafe-perm in lifecycle true
28 verbose lifecycle airsonos@0.2.5~prepublish: PATH: /usr/local/lib/node_modules/npm/bin/node-gyp-bin:/Users/darren/airsonos/node_modules/.bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
29 verbose lifecycle airsonos@0.2.5~prepublish: CWD: /Users/darren/airsonos
30 silly lifecycle airsonos@0.2.5~prepublish: Args: [ '-c', 'babel ./lib/ -d ./bin/' ]
31 info lifecycle airsonos@0.2.5~prepublish: Failed to exec prepublish script
32 error addLocal Could not install /Users/darren/airsonos
33 silly rollbackFailedOptional Starting
34 silly rollbackFailedOptional Finishing
35 silly runTopLevelLifecycles Starting
36 silly runTopLevelLifecycles Finishing
37 silly install printInstalled
38 verbose stack Error: airsonos@0.2.5 prepublish: `babel ./lib/ -d ./bin/`
38 verbose stack spawn ENOENT
38 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:17:16)
38 verbose stack     at emitTwo (events.js:87:13)
38 verbose stack     at ChildProcess.emit (events.js:172:7)
38 verbose stack     at maybeClose (internal/child_process.js:821:16)
38 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
39 verbose pkgid airsonos@0.2.5
40 verbose cwd /Users/darren/airsonos
41 error Darwin 15.2.0
42 error argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g"
43 error node v5.4.0
44 error npm  v3.5.3
45 error file sh
46 error code ELIFECYCLE
47 error errno ENOENT
48 error syscall spawn
49 error airsonos@0.2.5 prepublish: `babel ./lib/ -d ./bin/`
49 error spawn ENOENT
50 error Failed at the airsonos@0.2.5 prepublish script 'babel ./lib/ -d ./bin/'.
50 error Make sure you have the latest version of node.js and npm installed.
50 error If you do, this is most likely a problem with the airsonos package,
50 error not with npm itself.
50 error Tell the author that this fails on your system:
50 error     babel ./lib/ -d ./bin/
50 error You can get information on how to open an issue for this project with:
50 error     npm bugs airsonos
50 error Or if that isn't available, you can get their info via:
50 error     npm owner ls airsonos
50 error There is likely additional logging output above.
51 verbose exit [ 1, true ]

Please let me know if there's any further info that would help in troubleshooting!

ruyt commented 8 years ago

i think you have to add "sudo" in front of npm (sudo npm....). if you do so you install the software with administrator rights.

darrendmiller commented 8 years ago

Ah okay thank you! I tried that and get this:

airsonos darren$ sudo npm install -g
Password:
npm WARN lifecycle airsonos@0.2.5~prepublish: cannot run in wd %s %s (wd=%s) airsonos@0.2.5 babel ./lib/ -d ./bin/ /Users/darren/airsonos
loadDep:sonos → 200       ▄ ╢██████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╟
WARN engine nodetunes@0.3.0: wanted: {"node":"0.12.x"} (current: {"node":"5.4.0"npm WARN deprecated static-favicon@1.0.2: use serve-favicon module
npm WARN deprecated react-tools@0.13.3: react-tools is deprecated. For more information, visit https://fb.me/react-tools-deprecated
npm ERR! Darwin 15.2.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g"
npm ERR! node v5.4.0
npm ERR! npm  v3.5.3
npm ERR! path /usr/local/lib/node_modules/airsonos/bin/index.js
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall chmod

npm ERR! enoent ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/airsonos/bin/index.js'
npm ERR! enoent ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/airsonos/bin/index.js'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/darren/airsonos/npm-debug.log
colinrioux commented 8 years ago

react-tools probably isn't updated to node v5.4.0 you could look into that. I like either Node v5.0 or v4.0...

I'm also told node v0.12.7 is good... but remember if you installed node via a package file not npm or homebrew, you need to look up how to cleanly uninstall.

darrendmiller commented 8 years ago

Thank you! It seemed like that was the answer as I got a lot further in the installation process this time, but unfortunately now I've got another set of errors:

Darren-Miller:airsonos darren$ sudo npm install -g
npm WARN lifecycle airsonos@0.2.5~prepublish: cannot run in wd %s %s (wd=%s) airsonos@0.2.5 babel ./lib/ -d ./bin/ /Users/darren/airsonos
npm WARN engine nodetunes@0.3.0: wanted: {"node":"0.12.x"} (current: {"node":"5.0.0","npm":"3.3.6"})
npm WARN deprecated static-favicon@1.0.2: use serve-favicon module
npm WARN deprecated react-tools@0.13.3: react-tools is deprecated. For more information, visit https://fb.me/react-tools-deprecated

> fsevents@1.0.6 install /usr/local/lib/node_modules/airsonos/node_modules/fsevents
> node-pre-gyp install --fallback-to-build

[fsevents] Success: "/usr/local/lib/node_modules/airsonos/node_modules/fsevents/lib/binding/Release/node-v47-darwin-x64/fse.node" is installed via remote

> lame@1.2.3 install /usr/local/lib/node_modules/airsonos/node_modules/lame
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/darren/.node-gyp/5.0.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/airsonos/node_modules/lame/.node-gyp"
deps/mpg123/test.target.mk:152: warning: overriding commands for target `Release/test'
deps/lame/test.target.mk:160: warning: ignoring old commands for target `Release/test'
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/VbrTag.o
../deps/lame/libmp3lame/VbrTag.c:430:23: warning: comparison of array
      'pTagData->toc' not equal to a null pointer is always true
      [-Wtautological-pointer-compare]
        if (pTagData->toc != NULL) {
            ~~~~~~~~~~^~~    ~~~~
1 warning generated.
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/bitstream.o
../deps/lame/libmp3lame/bitstream.c:992:24: warning: unused variable 'rov'
      [-Wunused-variable]
    RpgResult_t *const rov = &gfc->ov_rpg;
                       ^
../deps/lame/libmp3lame/bitstream.c:991:32: warning: unused variable 'rsv'
      [-Wunused-variable]
    RpgStateVar_t const *const rsv = &gfc->sv_rpg;
                               ^
../deps/lame/libmp3lame/bitstream.c:990:34: warning: unused variable 'cfg'
      [-Wunused-variable]
    SessionConfig_t const *const cfg = &gfc->cfg;
                                 ^
3 warnings generated.
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/encoder.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/fft.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/gain_analysis.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/id3tag.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/lame.o
../deps/lame/libmp3lame/lame.c:628:13: warning: using floating point absolute
      value function 'fabs' when argument is of integer type [-Wabsolute-value]
        if (EQ(gfp->compression_ratio, 0))
            ^
../deps/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
(fabs(a) > fabs(b)) \
           ^
../deps/lame/libmp3lame/lame.c:628:13: note: use function 'abs' instead
../deps/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
(fabs(a) > fabs(b)) \
           ^
../deps/lame/libmp3lame/lame.c:628:13: warning: using floating point absolute
      value function 'fabs' when argument is of integer type [-Wabsolute-value]
        if (EQ(gfp->compression_ratio, 0))
            ^
../deps/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
                      ^
../deps/lame/libmp3lame/lame.c:628:13: note: use function 'abs' instead
../deps/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
                      ^
../deps/lame/libmp3lame/lame.c:1596:13: warning: using floating point absolute
      value function 'fabs' when argument is of integer type [-Wabsolute-value]
        if (NEQ(RadioGain, GAIN_NOT_ENOUGH_SAMPLES)) {
            ^
../deps/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
#define NEQ(a,b) (!EQ(a,b))
                   ^
../deps/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
(fabs(a) > fabs(b)) \
           ^
../deps/lame/libmp3lame/lame.c:1596:13: note: use function 'abs' instead
../deps/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
#define NEQ(a,b) (!EQ(a,b))
                   ^
../deps/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
(fabs(a) > fabs(b)) \
           ^
../deps/lame/libmp3lame/lame.c:1596:13: warning: using floating point absolute
      value function 'fabs' when argument is of integer type [-Wabsolute-value]
        if (NEQ(RadioGain, GAIN_NOT_ENOUGH_SAMPLES)) {
            ^
../deps/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
#define NEQ(a,b) (!EQ(a,b))
                   ^
../deps/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
                      ^
../deps/lame/libmp3lame/lame.c:1596:13: note: use function 'abs' instead
../deps/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
#define NEQ(a,b) (!EQ(a,b))
                   ^
../deps/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
                      ^
4 warnings generated.
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/newmdct.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/presets.o
../deps/lame/libmp3lame/presets.c:170:5: warning: using floating point absolute
      value function 'fabs' when argument is of integer type [-Wabsolute-value]
    SET_OPTION(quant_comp, set->quant_comp, -1);
    ^
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
../deps/lame/libmp3lame/presets.c:170:5: note: use function 'abs' instead
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
../deps/lame/libmp3lame/presets.c:171:5: warning: using floating point absolute
      value function 'fabs' when argument is of integer type [-Wabsolute-value]
    SET_OPTION(quant_comp_short, set->quant_comp_s, -1);
    ^
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
../deps/lame/libmp3lame/presets.c:171:5: note: use function 'abs' instead
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
../deps/lame/libmp3lame/presets.c:280:5: warning: using floating point absolute
      value function 'fabs' when argument is of integer type [-Wabsolute-value]
    SET_OPTION(quant_comp, abr_switch_map[r].quant_comp, -1);
    ^
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
../deps/lame/libmp3lame/presets.c:280:5: note: use function 'abs' instead
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
../deps/lame/libmp3lame/presets.c:281:5: warning: using floating point absolute
      value function 'fabs' when argument is of integer type [-Wabsolute-value]
    SET_OPTION(quant_comp_short, abr_switch_map[r].quant_comp_s, -1);
    ^
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
../deps/lame/libmp3lame/presets.c:281:5: note: use function 'abs' instead
../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
               ^
4 warnings generated.
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/psymodel.o
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/quantize.o
  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
  LIBTOOL-STATIC 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:184:27: warning: comparison of integers of
      different signs: 'off_t' (aka 'long long') and 'unsigned long'
      [-Wsign-compare]
  ...if(fr->track_frames > TRACK_MAX_FRAMES) fr->track_frames = 0; /* endles...
        ~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~
1 warning generated.
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/frame.o
../deps/mpg123/src/libmpg123/frame.c:285:28: warning: comparison of integers of
      different signs: 'unsigned long' and 'int' [-Wsign-compare]
        if(2*2*0x110*sizeof(real) > buffssize)
           ~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~
1 warning generated.
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/format.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/dct64.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/equalizer.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/id3.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/optimize.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/readers.o
../deps/mpg123/src/libmpg123/readers.c:856:11: warning: comparison of integers
      of different signs: 'ssize_t' (aka 'long') and 'unsigned long'
      [-Wsign-compare]
                        if(got < sizeof(readbuf)) /* That naturally catc...
                           ~~~ ^ ~~~~~~~~~~~~~~~
1 warning generated.
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/tabinit.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/libmpg123.o
../deps/mpg123/src/libmpg123/libmpg123.c:1581:29: warning: comparison of
      integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]
        if(errcode >= 0 && errcode < sizeof(mpg123_error)/sizeof(char*))
                           ~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning generated.
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/index.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/stringbuf.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/icy.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/icy2utf8.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/ntom.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_8bit.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/layer1.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/layer2.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/layer3.o
../deps/mpg123/src/libmpg123/layer3.c:804:6: warning: comparison of integers of
      different signs: 'int' and 'unsigned long' [-Wsign-compare]
                                        REFRESH_MASK;
                                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro
      'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:818:6: warning: comparison of integers of
      different signs: 'int' and 'unsigned long' [-Wsign-compare]
                                        REFRESH_MASK;
                                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro
      'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:842:6: warning: comparison of integers of
      different signs: 'int' and 'unsigned long' [-Wsign-compare]
                                        REFRESH_MASK;
                                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro
      'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:890:4: warning: comparison of integers of
      different signs: 'int' and 'unsigned long' [-Wsign-compare]
                        REFRESH_MASK;
                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro
      'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:1021:6: warning: comparison of integers of
      different signs: 'int' and 'unsigned long' [-Wsign-compare]
                                        REFRESH_MASK;
                                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro
      'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:1036:6: warning: comparison of integers of
      different signs: 'int' and 'unsigned long' [-Wsign-compare]
                                        REFRESH_MASK;
                                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro
      'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:1059:6: warning: comparison of integers of
      different signs: 'int' and 'unsigned long' [-Wsign-compare]
                                        REFRESH_MASK;
                                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro
      'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:1088:4: warning: comparison of integers of
      different signs: 'int' and 'unsigned long' [-Wsign-compare]
                        REFRESH_MASK;
                        ^~~~~~~~~~~~
../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro
      'REFRESH_MASK'
        while(num < BITSHIFT) { \
              ~~~ ^ ~~~~~~~~
8 warnings generated.
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/feature.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/dct64_x86_64.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/dct64_x86_64_float.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_s32.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_real.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_stereo_x86_64.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_stereo_x86_64_float.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_stereo_x86_64_s32.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_x86_64.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_x86_64_s32.o
  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_x86_64_float.o
  LIBTOOL-STATIC Release/libmpg123.a
  CC(target) Release/obj.target/lamevectorroutines/deps/lame/libmp3lame/vector/xmm_quantize_sub.o
  LIBTOOL-STATIC Release/liblamevectorroutines.a
  CXX(target) Release/obj.target/bindings/src/bindings.o
  CXX(target) Release/obj.target/bindings/src/node_lame.o
  CXX(target) Release/obj.target/bindings/src/node_mpg123.o
../src/node_mpg123.cc:322:130: warning: comparison of array 'v1->comment' equal
      to a null pointer is always false [-Wtautological-pointer-compare]
  ...min(sizeof(v1->comment) - 2, v1->comment == NULL ? 0 : strlen(v1->commen...
                                  ~~~~^~~~~~~    ~~~~
1 warning generated.
  SOLINK_MODULE(target) Release/bindings.node

> libalac@0.1.2 install /usr/local/lib/node_modules/airsonos/node_modules/libalac
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/darren/.node-gyp/5.0.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/airsonos/node_modules/libalac/.node-gyp"
  CC(target) Release/obj.target/binding/ALAC/codec/EndianPortable.o
  CC(target) Release/obj.target/binding/ALAC/codec/ALACBitUtilities.o
  CXX(target) Release/obj.target/binding/ALAC/codec/ALACDecoder.o
../ALAC/codec/ALACDecoder.cpp:38:16: warning: unused variable 'kMaxBitDepth'
      [-Wunused-const-variable]
const uint32_t kMaxBitDepth = 32;                       // max allowed b...
               ^
1 warning generated.
  CXX(target) Release/obj.target/binding/ALAC/codec/ALACEncoder.o
../ALAC/codec/ALACEncoder.cpp:1216:38: warning: missing field
      'compatibleVersion' initializer [-Wmissing-field-initializers]
    ALACSpecificConfig theConfig = {0};
                                     ^
../ALAC/codec/ALACEncoder.cpp:1217:49: warning: missing field 'mChannelBitmap'
      initializer [-Wmissing-field-initializers]
    ALACAudioChannelLayout theChannelLayout = {0};
                                                ^
../ALAC/codec/ALACEncoder.cpp:48:16: warning: unused variable
      'kALACEncoderMagic' [-Wunused-const-variable]
const uint32_t kALACEncoderMagic        = 'dpge';
               ^
../ALAC/codec/ALACEncoder.cpp:94:23: warning: unused variable
      'sSupportediPodSampleRates' [-Wunused-const-variable]
static const uint32_t sSupportediPodSampleRates[] =
                      ^
4 warnings generated.
  CC(target) Release/obj.target/binding/ALAC/codec/ag_dec.o
../ALAC/codec/ag_dec.c:299:14: warning: comparison of integers of different
      signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int')
      [-Wsign-compare]
    while (c < numSamples)
           ~ ^ ~~~~~~~~~~
../ALAC/codec/ag_dec.c:333:44: warning: comparison of integers of different
      signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int')
      [-Wsign-compare]
        if (((mb << MMULSHIFT) < QB) && (c < numSamples))
                                         ~ ^ ~~~~~~~~~~
../ALAC/codec/ag_dec.c:341:31: warning: comparison of integers of different
      signs: 'unsigned int' and 'int32_t' (aka 'int') [-Wsign-compare]
            RequireAction(c+n <= numSamples, status = kALAC_ParamError; ...
                          ~~~ ^  ~~~~~~~~~~
../ALAC/codec/ALACBitUtilities.h:43:50: note: expanded from macro
      'RequireAction'
#define RequireAction(condition, action)                        if (!(condition)...
                                                                      ^
3 warnings generated.
  CC(target) Release/obj.target/binding/ALAC/codec/ag_enc.o
../ALAC/codec/ag_enc.c:284:14: warning: comparison of integers of different
      signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int')
      [-Wsign-compare]
    while (c < numSamples)
           ~ ^ ~~~~~~~~~~
../ALAC/codec/ag_enc.c:328:25: warning: comparison of integers of different
      signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int')
      [-Wsign-compare]
        RequireAction(c <= numSamples, status = kALAC_ParamError; goto Exit; );
                      ~ ^  ~~~~~~~~~~
../ALAC/codec/ALACBitUtilities.h:43:50: note: expanded from macro
      'RequireAction'
#define RequireAction(condition, action)                        if (!(condition)...
                                                                      ^
../ALAC/codec/ag_enc.c:330:44: warning: comparison of integers of different
      signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int')
      [-Wsign-compare]
        if (((mb << MMULSHIFT) < QB) && (c < numSamples))
                                         ~ ^ ~~~~~~~~~~
../ALAC/codec/ag_enc.c:335:20: warning: comparison of integers of different
      signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int')
      [-Wsign-compare]
            while(c<numSamples && *inPtr == 0)
                  ~^~~~~~~~~~~
../ALAC/codec/ag_enc.c:101:38: warning: unused function 'read32bit'
      [-Wunused-function]
static inline uint32_t ALWAYS_INLINE read32bit( uint8_t * buffer )
                                     ^
5 warnings generated.
  CC(target) Release/obj.target/binding/ALAC/codec/dp_dec.o
  CC(target) Release/obj.target/binding/ALAC/codec/dp_enc.o
  CC(target) Release/obj.target/binding/ALAC/codec/matrix_dec.o
  CC(target) Release/obj.target/binding/ALAC/codec/matrix_enc.o
  CXX(target) Release/obj.target/binding/binding.o
  SOLINK_MODULE(target) Release/binding.node

> mdns@2.2.11 install /usr/local/lib/node_modules/airsonos/node_modules/mdns
> node-gyp rebuild

gyp WARN EACCES user "root" does not have permission to access the dev dir "/Users/darren/.node-gyp/5.0.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/airsonos/node_modules/mdns/.node-gyp"
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_sd.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_browse.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_enumerate_domains.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_get_addr_info.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_process_result.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref_deallocate.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref_sock_fd.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_register.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_resolve.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/mdns_utils.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/network_interface.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/socket_watcher.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_ref.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_create.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_deallocate.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_set_value.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_get_length.o
  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_buffer_to_object.o
  SOLINK_MODULE(target) Release/dns_sd_bindings.node
npm ERR! Darwin 15.2.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g"
npm ERR! node v5.0.0
npm ERR! npm  v3.3.6
npm ERR! path /usr/local/lib/node_modules/airsonos/bin/index.js
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall chmod

npm ERR! enoent ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/airsonos/bin/index.js'
npm ERR! enoent This is most likely not a problem with npm itself
npm ERR! enoent and is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/darren/airsonos/npm-debug.log
darrendmiller commented 8 years ago

Am I sunk here? Also, did I leave things in any kind of incomplete state that is cause for any concern?

darrendmiller commented 8 years ago

Just wanted to follow up on this and see if there's any way out of this place I'm stuck in

rbjames commented 8 years ago

I've just come up to the same problem trying to install it on a pi 3. Doesn't seem to be any more help on this :-(

solon commented 8 years ago

I had the same issue on a Pi 3, and installing a package resolved it. Try this before running npm install:

sudo apt-get install libavahi-compat-libdnssd-dev

(This is documented in INSTALL.md but not in the README.)