noelhibbard / node-airplayhub

AirPlay server which accepts streams and then streams the audio back out to multiple AirPlay devices with sync support.
51 stars 12 forks source link

Can't install on modern OS (Fedora 32) #20

Open derekatkins opened 4 years ago

derekatkins commented 4 years ago

Hi, I'm trying to install this on Fedora 32, but I'm having lots of issues with packages that just don't work together anymore. First I tried with the npm/nodejs that comes with F32 (npm-6.14.4 and nodejs-12.16.3). The error I got with that was:

784 warn notsup unsupported engine for nodetunes@0.3.0: wanted: {"node":"0.12.x" } (current: {"node":"12.16.3","npm":"6.14.4"})

So okay, I downgraded nodejs, installed 0.12.18 from the tarball, and reran. But no, that wasn't sufficient either because a bunch of the deps now require node >= 4. I'm going to try to downgrade my version of Fedora to something with a much older version of Python to see if that helps.

Have you tried installing on a fresh, modern system?

npm i -g git+https://github.com/noelhibbard/node-airplayhub
npm WARN deprecated coffee-script@1.3.3: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
npm WARN engine mime@1.6.0: wanted: {"node":">=4"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN engine escodegen@1.14.2: wanted: {"node":">=4.0"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN engine esprima@4.0.1: wanted: {"node":">=4"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN engine estraverse@4.3.0: wanted: {"node":">=4.0"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm WARN deprecated react-tools@0.13.3: react-tools is deprecated. For more information, visit https://fb.me/react-tools-deprecated
/
> mdns@2.5.1 install /opt/node-v0.12.18-linux-x64/lib/node_modules/node-airplayhub/node_modules/nodetunes/node_modules/mdns
> node-gyp rebuild

gyp ERR! configure error 
gyp ERR! stack Error: Python executable "/usr/bin/python" is v3.8.3, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
gyp ERR! stack     at failPythonVersion (/opt/node-v0.12.18-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:454:14)
gyp ERR! stack     at /opt/node-v0.12.18-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:443:9
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:745:7)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at maybeClose (child_process.js:1019:16)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1091:5)
gyp ERR! System Linux 5.6.6-300.fc32.x86_64
gyp ERR! command "node" "/opt/node-v0.12.18-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/node-v0.12.18-linux-x64/lib/node_modules/node-airplayhub/node_modules/nodetunes/node_modules/mdns
gyp ERR! node -v v0.12.18
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 
|
> libalac@0.1.2 install /opt/node-v0.12.18-linux-x64/lib/node_modules/node-airplayhub/node_modules/nodetunes/node_modules/alac2pcm/node_modules/libalac
> node-gyp rebuild

gyp ERR! configure error 
gyp ERR! stack Error: Python executable "/usr/bin/python" is v3.8.3, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
gyp ERR! stack     at failPythonVersion (/opt/node-v0.12.18-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:454:14)
gyp ERR! stack     at /opt/node-v0.12.18-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:443:9
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:745:7)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at maybeClose (child_process.js:1019:16)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1091:5)
gyp ERR! System Linux 5.6.6-300.fc32.x86_64
gyp ERR! command "node" "/opt/node-v0.12.18-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/node-v0.12.18-linux-x64/lib/node_modules/node-airplayhub/node_modules/nodetunes/node_modules/alac2pcm/node_modules/libalac
gyp ERR! node -v v0.12.18
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 

> airtunes@0.1.7 install /opt/node-v0.12.18-linux-x64/lib/node_modules/node-airplayhub/node_modules/airtunes
> node-gyp rebuild

gyp ERR! configure error 
gyp ERR! stack Error: Python executable "/usr/bin/python" is v3.8.3, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
gyp ERR! stack     at failPythonVersion (/opt/node-v0.12.18-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:454:14)
gyp ERR! stack     at /opt/node-v0.12.18-linux-x64/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:443:9
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:745:7)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at maybeClose (child_process.js:1019:16)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1091:5)
gyp ERR! System Linux 5.6.6-300.fc32.x86_64
gyp ERR! command "node" "/opt/node-v0.12.18-linux-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /opt/node-v0.12.18-linux-x64/lib/node_modules/node-airplayhub/node_modules/airtunes
gyp ERR! node -v v0.12.18
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok 
npm WARN engine esprima@3.1.3: wanted: {"node":">=4"} (current: {"node":"0.12.18","npm":"2.15.11"})
npm ERR! Linux 5.6.6-300.fc32.x86_64
npm ERR! argv "/opt/node-v0.12.18-linux-x64/bin/node" "/opt/node-v0.12.18-linux-x64/bin/npm" "i" "-g" "git+https://github.com/noelhibbard/node-airplayhub"
npm ERR! node v0.12.18
npm ERR! npm  v2.15.11
npm ERR! code ELIFECYCLE

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

npm ERR! Please include the following file with any support request:
npm ERR!     /home/airhub/npm-debug.log
derekatkins commented 4 years ago

Downgraded to Fedora 25 and using the nodejs/npm from there allowed me to get it installed. I'm not sure if I'm hitting #19 or possibly #13 (as all my devices are shairport-sync devices).