{"action":"created","issue":{"url":"https://api.github.com/repos/stephen/airsonos/issues/324","repository_url":"https://api.github.com/repos/stephen/airsonos","labels_url":"https://api.github.com/repos/stephen/airsonos/issues/324/labels{/name}","comments_url":"https://api.github.com/repos/stephen/airsonos/issues/324/comments","events_url":"https://api.github.com/repos/stephen/airsonos/issues/324/events","html_url":"https://github.com/stephen/airsonos/issues/324","id":177689008,"number":324,"title":"node-gyp rebuild error","user":{"login":"Amidcrescentsuns","id":22283538,"avatar_url":"https://avatars.githubusercontent.com/u/22283538?v=3","gravatar_id":"","url":"https://api.github.com/users/Amidcrescentsuns","html_url":"https://github.com/Amidcrescentsuns","followers_url":"https://api.github.com/users/Amidcrescentsuns/followers","following_url":"https://api.github.com/users/Amidcrescentsuns/following{/other_user}","gists_url":"https://api.github.com/users/Amidcrescentsuns/gists{/gist_id}","starred_url":"https://api.github.com/users/Amidcrescentsuns/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Amidcrescentsuns/subscriptions","organizations_url":"https://api.github.com/users/Amidcrescentsuns/orgs","repos_url":"https://api.github.com/users/Amidcrescentsuns/repos","events_url":"https://api.github.com/users/Amidcrescentsuns/events{/privacy}","received_events_url":"https://api.github.com/users/Amidcrescentsuns/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2016-09-19T00:56:01Z","updated_at":"2016-11-13T00:08:02Z","closed_at":null,"body":"Hey guys, \nI 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!  \n\n`Peters-MacBook-Pro-2:~ peterolsen-harbich$ sudo npm install airsonos -g\nnpm WARN engine nodetunes@0.3.0: wanted: {\"node\":\"0.12.x\"} (current: {\"node\":\"0.10.33\",\"npm\":\"1.4.28\"})\nnpm WARN engine escodegen@1.8.1: wanted: {\"node\":\">=0.12.0\"} (current: {\"node\":\"0.10.33\",\"npm\":\"1.4.28\"})\nnpm WARN deprecated static-favicon@1.0.2: use serve-favicon module\nnpm WARN deprecated react-tools@0.13.3: react-tools is deprecated. For more information, visit https://fb.me/react-tools-deprecated\n\n> mdns@2.3.3 install /Users/peterolsen-harbich/.npm-global/lib/node_modules/airsonos/node_modules/nodetunes/node_modules/mdns\n> node-gyp rebuild\n\nxcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance\n\nxcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance\n\n  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_sd.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_browse.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_enumerate_domains.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_get_addr_info.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_process_result.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref_deallocate.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_ref_sock_fd.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_register.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_resolve.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/dns_service_update_record.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/mdns_utils.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/network_interface.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/socket_watcher.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_ref.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_create.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_deallocate.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_set_value.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_get_length.o\n  CXX(target) Release/obj.target/dns_sd_bindings/src/txt_record_buffer_to_object.o\n  SOLINK_MODULE(target) Release/dns_sd_bindings.node\n  SOLINK_MODULE(target) Release/dns_sd_bindings.node: Finished\nnpm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue\n\n> libalac@0.1.2 install /Users/peterolsen-harbich/.npm-global/lib/node_modules/airsonos/node_modules/nodetunes/node_modules/alac2pcm/node_modules/libalac\n> node-gyp rebuild\n\nxcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance\n\nxcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance\n\n  CC(target) Release/obj.target/binding/ALAC/codec/EndianPortable.o\n  CC(target) Release/obj.target/binding/ALAC/codec/ALACBitUtilities.o\n  CXX(target) Release/obj.target/binding/ALAC/codec/ALACDecoder.o\n../ALAC/codec/ALACDecoder.cpp:38:16: warning: unused variable 'kMaxBitDepth'\n      [-Wunused-const-variable]\nconst uint32_t kMaxBitDepth = 32;                       // max allowed b...\n               ^\n1 warning generated.\n  CXX(target) Release/obj.target/binding/ALAC/codec/ALACEncoder.o\n../ALAC/codec/ALACEncoder.cpp:1216:38: warning: missing field\n      'compatibleVersion' initializer [-Wmissing-field-initializers]\n    ALACSpecificConfig theConfig = {0};\n                                     ^\n../ALAC/codec/ALACEncoder.cpp:1217:49: warning: missing field 'mChannelBitmap'\n      initializer [-Wmissing-field-initializers]\n    ALACAudioChannelLayout theChannelLayout = {0};\n                                                ^\n../ALAC/codec/ALACEncoder.cpp:48:16: warning: unused variable\n      'kALACEncoderMagic' [-Wunused-const-variable]\nconst uint32_t kALACEncoderMagic        = 'dpge';\n               ^\n../ALAC/codec/ALACEncoder.cpp:94:23: warning: unused variable\n      'sSupportediPodSampleRates' [-Wunused-const-variable]\nstatic const uint32_t sSupportediPodSampleRates[] =\n                      ^\n4 warnings generated.\n  CC(target) Release/obj.target/binding/ALAC/codec/ag_dec.o\n../ALAC/codec/ag_dec.c:299:14: warning: comparison of integers of different\n      signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int')\n      [-Wsign-compare]\n    while (c < numSamples)\n           ~ ^ ~~~~~~~~~~\n../ALAC/codec/ag_dec.c:333:44: warning: comparison of integers of different\n      signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int')\n      [-Wsign-compare]\n        if (((mb << MMULSHIFT) < QB) && (c < numSamples))\n                                         ~ ^ ~~~~~~~~~~\n../ALAC/codec/ag_dec.c:341:31: warning: comparison of integers of different\n      signs: 'unsigned int' and 'int32_t' (aka 'int') [-Wsign-compare]\n            RequireAction(c+n <= numSamples, status = kALAC_ParamError; ...\n                          ~~~ ^  ~~~~~~~~~~\n../ALAC/codec/ALACBitUtilities.h:43:50: note: expanded from macro\n      'RequireAction'\n  ...action)                    if (!(condition)) { action }\n                                          ^~~~~~~~~\n3 warnings generated.\n  CC(target) Release/obj.target/binding/ALAC/codec/ag_enc.o\n../ALAC/codec/ag_enc.c:284:14: warning: comparison of integers of different\n      signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int')\n      [-Wsign-compare]\n    while (c < numSamples)\n           ~ ^ ~~~~~~~~~~\n../ALAC/codec/ag_enc.c:328:25: warning: comparison of integers of different\n      signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int')\n      [-Wsign-compare]\n        RequireAction(c <= numSamples, status = kALAC_ParamError; goto Exit; );\n                      ~ ^  ~~~~~~~~~~\n../ALAC/codec/ALACBitUtilities.h:43:50: note: expanded from macro\n      'RequireAction'\n  ...action)                    if (!(condition)) { action }\n                                          ^~~~~~~~~\n../ALAC/codec/ag_enc.c:330:44: warning: comparison of integers of different\n      signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int')\n      [-Wsign-compare]\n        if (((mb << MMULSHIFT) < QB) && (c < numSamples))\n                                         ~ ^ ~~~~~~~~~~\n../ALAC/codec/ag_enc.c:335:20: warning: comparison of integers of different\n      signs: 'uint32_t' (aka 'unsigned int') and 'int32_t' (aka 'int')\n      [-Wsign-compare]\n            while(c<numSamples && *inPtr == 0)\n                  ~^~~~~~~~~~~\n../ALAC/codec/ag_enc.c:101:38: warning: unused function 'read32bit'\n      [-Wunused-function]\nstatic inline uint32_t ALWAYS_INLINE read32bit( uint8_t \\* buffer )\n                                     ^\n5 warnings generated.\n  CC(target) Release/obj.target/binding/ALAC/codec/dp_dec.o\n  CC(target) Release/obj.target/binding/ALAC/codec/dp_enc.o\n  CC(target) Release/obj.target/binding/ALAC/codec/matrix_dec.o\n  CC(target) Release/obj.target/binding/ALAC/codec/matrix_enc.o\n  CXX(target) Release/obj.target/binding/binding.o\n  SOLINK_MODULE(target) Release/binding.node\n  SOLINK_MODULE(target) Release/binding.node: Finished\n\n> fsevents@1.0.14 install /Users/peterolsen-harbich/.npm-global/lib/node_modules/airsonos/node_modules/babel/node_modules/chokidar/node_modules/fsevents\n> node-pre-gyp install --fallback-to-build\n\n[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\nPass --update-binary to reinstall or --build-from-source to recompile\n\n> lame@1.2.4 install /Users/peterolsen-harbich/.npm-global/lib/node_modules/airsonos/node_modules/nicercast/node_modules/lame\n> node-gyp rebuild\n\nxcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance\n\nxcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance\n\ndeps/mpg123/test.target.mk:147: warning: overriding commands for target `Release/test'\ndeps/lame/test.target.mk:155: warning: ignoring old commands for target`Release/test'\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/VbrTag.o\n../deps/lame/libmp3lame/VbrTag.c:263:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[0], 8u, 0xffu);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:265:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[1], 3u, 7);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:266:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[1], 1u, (cfg->samplerate_out < 16000) ? 0 : 1);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:267:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[1], 1u, cfg->version);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:268:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[1], 2u, 4 - 3);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:269:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[1], 1u, (!cfg->error_protection) ? 1 : 0);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:271:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[2], 4u, eov->bitrate_index);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:272:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[2], 2u, cfg->samplerate_index);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:273:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[2], 1u, 0);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:274:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[2], 1u, cfg->extension);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:276:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[3], 2u, cfg->mode);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:277:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[3], 2u, eov->mode_ext);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:278:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[3], 1u, cfg->copyright);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:279:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[3], 1u, cfg->original);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:280:5: warning: shifting a negative signed\n      value is undefined [-Wshift-negative-value]\n    SHIFT_IN_BITS_VALUE(buffer[3], 2u, cfg->emphasis);\n    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n../deps/lame/libmp3lame/VbrTag.c:254:68: note: expanded from macro\n      'SHIFT_IN_BITS_VALUE'\n# define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )\n\n```\n                                                            ~~ ^\n```\n\n../deps/lame/libmp3lame/VbrTag.c:430:23: warning: comparison of array\n      'pTagData->toc' not equal to a null pointer is always true\n      [-Wtautological-pointer-compare]\n        if (pTagData->toc != NULL) {\n            ~~~~~~~~~~^~~    ~~~~\n16 warnings generated.\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/bitstream.o\n../deps/lame/libmp3lame/bitstream.c:992:24: warning: unused variable 'rov'\n      [-Wunused-variable]\n    RpgResult_t *const rov = &gfc->ov_rpg;\n                       ^\n../deps/lame/libmp3lame/bitstream.c:991:32: warning: unused variable 'rsv'\n      [-Wunused-variable]\n    RpgStateVar_t const *const rsv = &gfc->sv_rpg;\n                               ^\n../deps/lame/libmp3lame/bitstream.c:990:34: warning: unused variable 'cfg'\n      [-Wunused-variable]\n    SessionConfig_t const *const cfg = &gfc->cfg;\n                                 ^\n3 warnings generated.\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/encoder.o\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/fft.o\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/gain_analysis.o\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/id3tag.o\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/lame.o\n../deps/lame/libmp3lame/lame.c:628:13: warning: using floating point absolute\n      value function 'fabs' when argument is of integer type [-Wabsolute-value]\n        if (EQ(gfp->compression_ratio, 0))\n            ^\n../deps/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'\n(fabs(a) > fabs(b)) \\\n           ^\n../deps/lame/libmp3lame/lame.c:628:13: note: use function 'abs' instead\n../deps/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'\n(fabs(a) > fabs(b)) \\\n           ^\n../deps/lame/libmp3lame/lame.c:628:13: warning: using floating point absolute\n      value function 'fabs' when argument is of integer type [-Wabsolute-value]\n        if (EQ(gfp->compression_ratio, 0))\n            ^\n../deps/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'\n : (fabs((a)-(b)) <= (fabs(b) \\* 1e-6f)))\n                      ^\n../deps/lame/libmp3lame/lame.c:628:13: note: use function 'abs' instead\n../deps/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'\n : (fabs((a)-(b)) <= (fabs(b) \\* 1e-6f)))\n                      ^\n../deps/lame/libmp3lame/lame.c:1596:13: warning: using floating point absolute\n      value function 'fabs' when argument is of integer type [-Wabsolute-value]\n        if (NEQ(RadioGain, GAIN_NOT_ENOUGH_SAMPLES)) {\n            ^\n../deps/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'\n# define NEQ(a,b) (!EQ(a,b))\n\n```\n               ^\n```\n\n../deps/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'\n(fabs(a) > fabs(b)) \\\n           ^\n../deps/lame/libmp3lame/lame.c:1596:13: note: use function 'abs' instead\n../deps/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'\n# define NEQ(a,b) (!EQ(a,b))\n\n```\n               ^\n```\n\n../deps/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'\n(fabs(a) > fabs(b)) \\\n           ^\n../deps/lame/libmp3lame/lame.c:1596:13: warning: using floating point absolute\n      value function 'fabs' when argument is of integer type [-Wabsolute-value]\n        if (NEQ(RadioGain, GAIN_NOT_ENOUGH_SAMPLES)) {\n            ^\n../deps/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'\n# define NEQ(a,b) (!EQ(a,b))\n\n```\n               ^\n```\n\n../deps/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'\n : (fabs((a)-(b)) <= (fabs(b) \\* 1e-6f)))\n                      ^\n../deps/lame/libmp3lame/lame.c:1596:13: note: use function 'abs' instead\n../deps/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'\n# define NEQ(a,b) (!EQ(a,b))\n\n```\n               ^\n```\n\n../deps/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'\n : (fabs((a)-(b)) <= (fabs(b) \\* 1e-6f)))\n                      ^\n4 warnings generated.\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/newmdct.o\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/presets.o\n../deps/lame/libmp3lame/presets.c:170:5: warning: using floating point absolute\n      value function 'fabs' when argument is of integer type [-Wabsolute-value]\n    SET_OPTION(quant_comp, set->quant_comp, -1);\n    ^\n../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'\n    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \\\n               ^\n../deps/lame/libmp3lame/presets.c:170:5: note: use function 'abs' instead\n../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'\n    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \\\n               ^\n../deps/lame/libmp3lame/presets.c:171:5: warning: using floating point absolute\n      value function 'fabs' when argument is of integer type [-Wabsolute-value]\n    SET_OPTION(quant_comp_short, set->quant_comp_s, -1);\n    ^\n../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'\n    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \\\n               ^\n../deps/lame/libmp3lame/presets.c:171:5: note: use function 'abs' instead\n../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'\n    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \\\n               ^\n../deps/lame/libmp3lame/presets.c:280:5: warning: using floating point absolute\n      value function 'fabs' when argument is of integer type [-Wabsolute-value]\n    SET_OPTION(quant_comp, abr_switch_map[r].quant_comp, -1);\n    ^\n../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'\n    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \\\n               ^\n../deps/lame/libmp3lame/presets.c:280:5: note: use function 'abs' instead\n../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'\n    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \\\n               ^\n../deps/lame/libmp3lame/presets.c:281:5: warning: using floating point absolute\n      value function 'fabs' when argument is of integer type [-Wabsolute-value]\n    SET_OPTION(quant_comp_short, abr_switch_map[r].quant_comp_s, -1);\n    ^\n../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'\n    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \\\n               ^\n../deps/lame/libmp3lame/presets.c:281:5: note: use function 'abs' instead\n../deps/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'\n    else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \\\n               ^\n4 warnings generated.\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/psymodel.o\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/quantize.o\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/quantize_pvt.o\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/reservoir.o\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/set_get.o\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/tables.o\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/takehiro.o\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/util.o\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/vbrquantize.o\n  CC(target) Release/obj.target/mp3lame/deps/lame/libmp3lame/version.o\n  LIBTOOL-STATIC Release/libmp3lame.a\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/compat.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/parse.o\n../deps/mpg123/src/libmpg123/parse.c:184:27: warning: comparison of integers of\n      different signs: 'off_t' (aka 'long long') and 'unsigned long'\n      [-Wsign-compare]\n  ...if(fr->track_frames > TRACK_MAX_FRAMES) fr->track_frames = 0; /\\* endles...\n        ~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~\n1 warning generated.\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/frame.o\n../deps/mpg123/src/libmpg123/frame.c:285:28: warning: comparison of integers of\n      different signs: 'unsigned long' and 'int' [-Wsign-compare]\n        if(2_2_0x110_sizeof(real) > buffssize)\n           ~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~\n1 warning generated.\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/format.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/dct64.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/equalizer.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/id3.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/optimize.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/readers.o\n../deps/mpg123/src/libmpg123/readers.c:856:11: warning: comparison of integers\n      of different signs: 'ssize_t' (aka 'long') and 'unsigned long'\n      [-Wsign-compare]\n                        if(got < sizeof(readbuf)) /_ That naturally catc...\n                           ~~~ ^ ~~~~~~~~~~~~~~~\n1 warning generated.\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/tabinit.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/libmpg123.o\n../deps/mpg123/src/libmpg123/libmpg123.c:1581:29: warning: comparison of\n      integers of different signs: 'int' and 'unsigned long' [-Wsign-compare]\n        if(errcode >= 0 && errcode < sizeof(mpg123_error)/sizeof(char*))\n                           ~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n1 warning generated.\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/index.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/stringbuf.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/icy.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/icy2utf8.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/ntom.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_8bit.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/layer1.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/layer2.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/layer3.o\n../deps/mpg123/src/libmpg123/layer3.c:804:6: warning: comparison of integers of\n      different signs: 'int' and 'unsigned long' [-Wsign-compare]\n                                        REFRESH_MASK;\n                                        ^~~~~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro\n      'REFRESH_MASK'\n        while(num < BITSHIFT) { \\\n              ~~~ ^ ~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:818:6: warning: comparison of integers of\n      different signs: 'int' and 'unsigned long' [-Wsign-compare]\n                                        REFRESH_MASK;\n                                        ^~~~~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro\n      'REFRESH_MASK'\n        while(num < BITSHIFT) { \\\n              ~~~ ^ ~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:842:6: warning: comparison of integers of\n      different signs: 'int' and 'unsigned long' [-Wsign-compare]\n                                        REFRESH_MASK;\n                                        ^~~~~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro\n      'REFRESH_MASK'\n        while(num < BITSHIFT) { \\\n              ~~~ ^ ~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:890:4: warning: comparison of integers of\n      different signs: 'int' and 'unsigned long' [-Wsign-compare]\n                        REFRESH_MASK;\n                        ^~~~~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro\n      'REFRESH_MASK'\n        while(num < BITSHIFT) { \\\n              ~~~ ^ ~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:1021:6: warning: comparison of integers of\n      different signs: 'int' and 'unsigned long' [-Wsign-compare]\n                                        REFRESH_MASK;\n                                        ^~~~~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro\n      'REFRESH_MASK'\n        while(num < BITSHIFT) { \\\n              ~~~ ^ ~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:1036:6: warning: comparison of integers of\n      different signs: 'int' and 'unsigned long' [-Wsign-compare]\n                                        REFRESH_MASK;\n                                        ^~~~~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro\n      'REFRESH_MASK'\n        while(num < BITSHIFT) { \\\n              ~~~ ^ ~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:1059:6: warning: comparison of integers of\n      different signs: 'int' and 'unsigned long' [-Wsign-compare]\n                                        REFRESH_MASK;\n                                        ^~~~~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro\n      'REFRESH_MASK'\n        while(num < BITSHIFT) { \\\n              ~~~ ^ ~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:1088:4: warning: comparison of integers of\n      different signs: 'int' and 'unsigned long' [-Wsign-compare]\n                        REFRESH_MASK;\n                        ^~~~~~~~~~~~\n../deps/mpg123/src/libmpg123/layer3.c:695:12: note: expanded from macro\n      'REFRESH_MASK'\n        while(num < BITSHIFT) { \\\n              ~~~ ^ ~~~~~~~~\n8 warnings generated.\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/feature.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/dct64_x86_64.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/dct64_x86_64_float.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_s32.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_real.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_stereo_x86_64.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_stereo_x86_64_float.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_stereo_x86_64_s32.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_x86_64.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_x86_64_s32.o\n  CC(target) Release/obj.target/mpg123/deps/mpg123/src/libmpg123/synth_x86_64_float.o\n  LIBTOOL-STATIC Release/libmpg123.a\n  CC(target) Release/obj.target/lamevectorroutines/deps/lame/libmp3lame/vector/xmm_quantize_sub.o\n  LIBTOOL-STATIC Release/liblamevectorroutines.a\n  CXX(target) Release/obj.target/bindings/src/bindings.o\n  CXX(target) Release/obj.target/bindings/src/node_lame.o\n  CXX(target) Release/obj.target/bindings/src/node_mpg123.o\n../src/node_mpg123.cc:322:130: warning: comparison of array 'v1->comment' equal\n      to a null pointer is always false [-Wtautological-pointer-compare]\n  ...min(sizeof(v1->comment) - 2, v1->comment == NULL ? 0 : strlen(v1->commen...\n                                  ~~~~^~~~~~~    ~~~~\n1 warning generated.\n  SOLINK_MODULE(target) Release/bindings.node\n  SOLINK_MODULE(target) Release/bindings.node: Finished\n/Users/peterolsen-harbich/.npm-global/bin/airsonos -> /Users/peterolsen-harbich/.npm-global/lib/node_modules/airsonos/bin/index.js\nairsonos@0.2.6 /Users/peterolsen-harbich/.npm-global/lib/node_modules/airsonos\n├── flags@0.1.3\n├── ip@1.1.0\n├── bluebird@2.11.0\n├── 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)\n├── 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)\n├── 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)\n└── nicercast@0.1.0 (ip@0.3.3, icecast-stack@0.3.0, express@3.5.3, lame@1.2.4)`\n\n<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\">\n"},"comment":{"url":"https://api.github.com/repos/stephen/airsonos/issues/comments/260157213","html_url":"https://github.com/stephen/airsonos/issues/324#issuecomment-260157213","issue_url":"https://api.github.com/repos/stephen/airsonos/issues/324","id":260157213,"user":{"login":"mraniki","id":8766259,"avatar_url":"https://avatars.githubusercontent.com/u/8766259?v=3","gravatar_id":"","url":"https://api.github.com/users/mraniki","html_url":"https://github.com/mraniki","followers_url":"https://api.github.com/users/mraniki/followers","following_url":"https://api.github.com/users/mraniki/following{/other_user}","gists_url":"https://api.github.com/users/mraniki/gists{/gist_id}","starred_url":"https://api.github.com/users/mraniki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mraniki/subscriptions","organizations_url":"https://api.github.com/users/mraniki/orgs","repos_url":"https://api.github.com/users/mraniki/repos","events_url":"https://api.github.com/users/mraniki/events{/privacy}","received_events_url":"https://api.github.com/users/mraniki/received_events","type":"User","site_admin":false},"created_at":"2016-11-13T00:08:02Z","updated_at":"2016-11-13T00:08:02Z","body":"you need to clean the NPM & node installations. This is due to missing dependencies. This helped me https://gist.github.com/DanHerbert/9520689\r\n\r\n`rm -rf /usr/local/lib/node_modules\r\nbrew uninstall node\r\nbrew install node --without-npm\r\necho prefix=~/.npm-packages >> ~/.npmrc\r\ncurl -L https://www.npmjs.com/install.sh | sh`\r\n"}}
{"actor":{"display_login":"mraniki"}}