stephen / airsonos

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

node-gyp rebuild error #324

Open Amidcrescentsuns opened 8 years ago

Amidcrescentsuns commented 8 years ago

Hey guys, I have been struggling unsuccessfully to set up airsonos for the past few days. I am a complete amateur when it comes to working with npm/node/terminal in general, but I have learned a lot as I have attempted to work through this problem. Unfortunately I have hit a wall. I keep getting these errors and warnings when I attempt to install airsonos using sudo npm install airsonos -g. I am running OS X El Capitan 10.11.4 and node-v.0.10.33. Updating to the most recent node seemed to make the problem worse. I am definitely having some permission problems but I worked around these by using "sudo" as recommended by others in this forum. I've also attached pictures from my finder because I think maybe I have some files in the wrong place. Below is the error message I'm generating. Apologies if this is repetitive. Thanks for any help!

`Peters-MacBook-Pro-2:~ peterolsen-harbich$ sudo npm install airsonos -g npm WARN engine nodetunes@0.3.0: wanted: {"node":"0.12.x"} (current: {"node":"0.10.33","npm":"1.4.28"}) npm WARN engine escodegen@1.8.1: wanted: {"node":">=0.12.0"} (current: {"node":"0.10.33","npm":"1.4.28"}) 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

mdns@2.3.3 install /Users/peterolsen-harbich/.npm-global/lib/node_modules/airsonos/node_modules/nodetunes/node_modules/mdns node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

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/dns_service_update_record.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 SOLINK_MODULE(target) Release/dns_sd_bindings.node: Finished npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue

libalac@0.1.2 install /Users/peterolsen-harbich/.npm-global/lib/node_modules/airsonos/node_modules/nodetunes/node_modules/alac2pcm/node_modules/libalac node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

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'
  ...action)                    if (!(condition)) { action }
                                          ^~~~~~~~~
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'
  ...action)                    if (!(condition)) { action }
                                          ^~~~~~~~~
../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
  SOLINK_MODULE(target) Release/binding.node: Finished

> fsevents@1.0.14 install /Users/peterolsen-harbich/.npm-global/lib/node_modules/airsonos/node_modules/babel/node_modules/chokidar/node_modules/fsevents
> node-pre-gyp install --fallback-to-build

[fsevents] Success: "/Users/peterolsen-harbich/.npm-global/lib/node_modules/airsonos/node_modules/babel/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v11-darwin-x64/fse.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile

> lame@1.2.4 install /Users/peterolsen-harbich/.npm-global/lib/node_modules/airsonos/node_modules/nicercast/node_modules/lame
> node-gyp rebuild

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

deps/mpg123/test.target.mk:147: warning: overriding commands for target `Release/test'
deps/lame/test.target.mk:155: warning: ignoring old commands for target`Release/test'
  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/VbrTag.o
../deps/lame/libmp3lame/VbrTag.c:263:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[0], 8u, 0xffu);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../deps/lame/libmp3lame/VbrTag.c:265:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[1], 3u, 7);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../deps/lame/libmp3lame/VbrTag.c:266:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[1], 1u, (cfg->samplerate_out < 16000) ? 0 : 1);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../deps/lame/libmp3lame/VbrTag.c:267:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[1], 1u, cfg->version);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../deps/lame/libmp3lame/VbrTag.c:268:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[1], 2u, 4 - 3);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../deps/lame/libmp3lame/VbrTag.c:269:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[1], 1u, (!cfg->error_protection) ? 1 : 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../deps/lame/libmp3lame/VbrTag.c:271:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[2], 4u, eov->bitrate_index);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../deps/lame/libmp3lame/VbrTag.c:272:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[2], 2u, cfg->samplerate_index);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../deps/lame/libmp3lame/VbrTag.c:273:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[2], 1u, 0);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../deps/lame/libmp3lame/VbrTag.c:274:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[2], 1u, cfg->extension);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../deps/lame/libmp3lame/VbrTag.c:276:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[3], 2u, cfg->mode);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../deps/lame/libmp3lame/VbrTag.c:277:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[3], 2u, eov->mode_ext);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../deps/lame/libmp3lame/VbrTag.c:278:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[3], 1u, cfg->copyright);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../deps/lame/libmp3lame/VbrTag.c:279:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[3], 1u, cfg->original);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../deps/lame/libmp3lame/VbrTag.c:280:5: warning: shifting a negative signed
      value is undefined [-Wshift-negative-value]
    SHIFT_IN_BITS_VALUE(buffer[3], 2u, cfg->emphasis);
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro
      'SHIFT_IN_BITS_VALUE'
# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )

```
                                                            ~~ ^
```

../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) {
            ~~~~~~~~~~^~~    ~~~~
16 warnings 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
  SOLINK_MODULE(target) Release/bindings.node: Finished
/Users/peterolsen-harbich/.npm-global/bin/airsonos -> /Users/peterolsen-harbich/.npm-global/lib/node_modules/airsonos/bin/index.js
airsonos@0.2.6 /Users/peterolsen-harbich/.npm-global/lib/node_modules/airsonos
├── flags@0.1.3
├── ip@1.1.0
├── bluebird@2.11.0
├── sonos@0.7.0 (debug@0.7.4, ip@0.3.3, underscore@1.5.2, async@0.9.2, upnp-client@0.0.1, xml2js@0.2.8, request@2.27.0)
├── nodetunes@0.3.0 (randomstring@1.0.3, random-mac@0.0.4, metricstream@0.0.0, priorityqueuejs@0.2.0, httplike@1.0.2, ipaddr.js@1.2.0, debug@2.2.0, readable-stream@2.1.5, portastic@0.0.1, node-forge@0.6.42, forge@2.3.0, mdns@2.3.3, alac2pcm@1.1.0)
├── babel@5.8.38 (slash@1.0.0, path-exists@1.0.0, path-is-absolute@1.0.0, fs-readdir-recursive@0.1.2, convert-source-map@1.3.0, commander@2.9.0, output-file-sync@1.1.2, glob@5.0.15, source-map@0.5.6, lodash@3.10.1, babel-core@5.8.38, chokidar@1.6.0)
└── nicercast@0.1.0 (ip@0.3.3, icecast-stack@0.3.0, express@3.5.3, lame@1.2.4)`

<img width="635" alt="screen shot 2016-09-18 at 8 53 55 pm" src="https://cloud.githubusercontent.com/assets/22283538/18620505/1134b0a8-7de2-11e6-9099-f48803f949ae.png">
Amidcrescentsuns commented 7 years ago

Anyone? Please? Will paypal/venmo some $ for anyone who can solve this

ghost commented 7 years ago

From viewing the first line of the log it looks like you Node.js version might be a good starting point:

npm WARN engine nodetunes@0.3.0: wanted: {"node":"0.12.x"} (current: {"node":"0.10.33","npm":"1.4.28"})

I would suggest trying with Node.js v0.12.16 as that's the last supported 0.X.X version. I use nvm to manage this on my mac and airsonos is working for me.

dariusrosendahl commented 7 years ago

I have the wrong version of Node.js too. Because I need the latest for work. Is there any way to make it work on recent versions?

ghost commented 7 years ago

@dariusrosendahl the only way to get it working would be to update the dependencies to the latest versions. I would suggest forking the code, but it seems the developer may have abandoned this project, and two (nodetunes / nicercast) of the associated dependencies.

As I said above, your best bet is to use something like nvm to run two different versions of Node on your system.

mraniki commented 7 years ago

you need to clean the NPM & node installations. This is due to missing dependencies. This helped me https://gist.github.com/DanHerbert/9520689

rm -rf /usr/local/lib/node_modules brew uninstall node brew install node --without-npm echo prefix=~/.npm-packages >> ~/.npmrc curl -L https://www.npmjs.com/install.sh | sh