Closed balbuze closed 9 years ago
Have you seen node_mdns Installation?
Before insalling: apt-get install libavahi-compat-libdnssd-dev
I erase the /volumio folder and restart from the beginning. With "apt-get install libavahi-compat-libdnssd-dev" installation works much better just a small message a the beginning
npm install
npm WARN package.json Volumio2@2.0.0-alpha4 No license field.
npm WARN optional dep failed, continuing fsevents@0.3.8
npm ERR! registry error parsing json
But I still can't reach the UI. Only ssh works. Node is working and eating 98% of the cpu and its PID changes every 10 sec (about).
There's clearly something wrong... Which image are you using?
Can you paste the full npm log? I suspect there's something that tells us why it's failing to parse the JSON.
Image is VolumioAlpha4-2015-08-02PI sorry but where am I supposed to find npm log ?
Are those 3 lines from your previous comment all it spits out? :confused:
The full output is
npm install
npm WARN package.json Volumio2@2.0.0-alpha4 No license field.
npm WARN optional dep failed, continuing fsevents@0.3.8
npm ERR! registry error parsing json
> mdns@2.2.9 install /volumio/node_modules/mdns
> node-gyp rebuild
make: Entering directory '/volumio/node_modules/mdns/build'
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/obj.target/dns_sd_bindings.node
COPY Release/dns_sd_bindings.node
make: Leaving directory '/volumio/node_modules/mdns/build'
> utf-8-validate@1.1.0 install /volumio/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate
> node-gyp rebuild
make: Entering directory '/volumio/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate/build'
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/obj.target/validation.node
COPY Release/validation.node
make: Leaving directory '/volumio/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/utf-8-validate/build'
> bufferutil@1.1.0 install /volumio/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/bufferutil
> node-gyp rebuild
make: Entering directory '/volumio/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/bufferutil/build'
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
SOLINK_MODULE(target) Release/obj.target/bufferutil.node
COPY Release/bufferutil.node
make: Leaving directory '/volumio/node_modules/socket.io/node_modules/engine.io/node_modules/ws/node_modules/bufferutil/build'
> bufferutil@1.1.0 install /volumio/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/bufferutil
> node-gyp rebuild
make: Entering directory '/volumio/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/bufferutil/build'
CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
SOLINK_MODULE(target) Release/obj.target/bufferutil.node
COPY Release/bufferutil.node
make: Leaving directory '/volumio/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/bufferutil/build'
> utf-8-validate@1.1.0 install /volumio/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/utf-8-validate
> node-gyp rebuild
make: Entering directory '/volumio/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/utf-8-validate/build'
CXX(target) Release/obj.target/validation/src/validation.o
SOLINK_MODULE(target) Release/obj.target/validation.node
COPY Release/validation.node
make: Leaving directory '/volumio/node_modules/socket.io/node_modules/socket.io-client/node_modules/engine.io-client/node_modules/ws/node_modules/utf-8-validate/build'
> leveldown@0.10.5 install /volumio/node_modules/level/node_modules/leveldown
> node-gyp rebuild
make: Entering directory '/volumio/node_modules/level/node_modules/leveldown/build'
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/db/builder.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/db/db_impl.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/db/db_iter.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/db/filename.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/db/dbformat.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/db/log_reader.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/db/log_writer.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/db/memtable.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/db/repair.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/db/table_cache.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/db/version_edit.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/db/version_set.o
../deps/leveldb/leveldb-1.14.0/db/version_set.cc:58:13: warning: 'std::string leveldb::{anonymous}::IntSetToString(const std::set<long long unsigned int>&)' defined but not used [-Wunused-function]
std::string IntSetToString(const std::set<uint64_t>& s) {
^
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/db/write_batch.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/helpers/memenv/memenv.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/table/block.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/table/block_builder.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/table/filter_block.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/table/format.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/table/iterator.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/table/merger.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/table/table.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/table/table_builder.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/table/two_level_iterator.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/util/arena.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/util/bloom.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/util/cache.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/util/coding.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/util/comparator.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/util/crc32c.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/util/env.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/util/filter_policy.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/util/hash.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/util/logging.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/util/options.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/util/status.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/port/port_posix.o
CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.14.0/util/env_posix.o
AR(target) Release/obj.target/deps/leveldb/leveldb.a
COPY Release/leveldb.a
CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.1/snappy-sinksource.o
CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.1/snappy-stubs-internal.o
CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.1/snappy.o
AR(target) Release/obj.target/deps/snappy/snappy.a
COPY Release/snappy.a
CXX(target) Release/obj.target/leveldown/src/batch.o
CXX(target) Release/obj.target/leveldown/src/batch_async.o
CXX(target) Release/obj.target/leveldown/src/database.o
CXX(target) Release/obj.target/leveldown/src/database_async.o
CXX(target) Release/obj.target/leveldown/src/iterator.o
CXX(target) Release/obj.target/leveldown/src/iterator_async.o
CXX(target) Release/obj.target/leveldown/src/leveldown.o
CXX(target) Release/obj.target/leveldown/src/leveldown_async.o
SOLINK_MODULE(target) Release/obj.target/leveldown.node
COPY Release/leveldown.node
make: Leaving directory '/volumio/node_modules/level/node_modules/leveldown/build'
base64-url@1.2.1 node_modules/base64-url
album-art@1.0.2 node_modules/album-art
mpd@1.3.0 node_modules/mpd
hashmap@2.0.3 node_modules/hashmap
random-string@0.1.2 node_modules/random-string
ip@0.3.3 node_modules/ip
underscore@1.7.0 node_modules/underscore
sort-on@1.2.2 node_modules/sort-on
├── arrify@1.0.0
└── dot-prop@2.2.0
node-uuid@1.4.3 node_modules/node-uuid
cookie-parser@1.3.5 node_modules/cookie-parser
├── cookie@0.1.3
└── cookie-signature@1.0.6
kew@0.5.0 node_modules/kew
debug@2.0.0 node_modules/debug
└── ms@0.6.2
morgan@1.3.2 node_modules/morgan
├── basic-auth@1.0.0
├── depd@0.4.5
└── on-finished@2.1.0 (ee-first@1.0.5)
serve-favicon@2.1.7 node_modules/serve-favicon
├── ms@0.6.2
├── fresh@0.2.4
└── etag@1.5.1 (crc@3.2.1)
ejs@0.8.8 node_modules/ejs
body-parser@1.8.4 node_modules/body-parser
├── media-typer@0.3.0
├── bytes@1.0.0
├── raw-body@1.3.0
├── depd@0.4.5
├── on-finished@2.1.0 (ee-first@1.0.5)
├── qs@2.2.4
├── type-is@1.5.7 (mime-types@2.0.14)
└── iconv-lite@0.4.4
express@4.9.8 node_modules/express
├── utils-merge@1.0.0
├── merge-descriptors@0.0.2
├── fresh@0.2.4
├── escape-html@1.0.1
├── cookie@0.1.2
├── range-parser@1.0.2
├── vary@1.0.1
├── cookie-signature@1.0.5
├── finalhandler@0.2.0
├── media-typer@0.3.0
├── parseurl@1.3.0
├── methods@1.1.0
├── serve-static@1.6.5
├── path-to-regexp@0.1.3
├── depd@0.4.5
├── qs@2.2.4
├── on-finished@2.1.1 (ee-first@1.1.0)
├── etag@1.4.0 (crc@3.0.0)
├── proxy-addr@1.0.8 (forwarded@0.1.0, ipaddr.js@1.0.1)
├── send@0.9.3 (destroy@1.0.3, ms@0.6.2, mime@1.2.11, on-finished@2.1.0)
├── accepts@1.1.4 (negotiator@0.4.9, mime-types@2.0.14)
└── type-is@1.5.7 (mime-types@2.0.14)
chokidar@1.0.5 node_modules/chokidar
├── arrify@1.0.0
├── path-is-absolute@1.0.0
├── is-glob@1.1.3
├── glob-parent@1.2.0
├── async-each@0.1.6
├── is-binary-path@1.0.1 (binary-extensions@1.3.1)
├── readdirp@1.4.0 (graceful-fs@4.1.2, readable-stream@1.0.33, minimatch@0.2.14)
└── anymatch@1.3.0 (micromatch@2.2.0)
playmusic@2.0.2 node_modules/playmusic
└── crypto-js@3.1.5
coverart@0.0.1 node_modules/coverart
└── request@2.30.0 (forever-agent@0.5.2, aws-sign2@0.5.0, qs@0.6.6, tunnel-agent@0.3.0, oauth-sign@0.3.0, json-stringify-safe@5.0.1, mime@1.2.11, form-data@0.1.4, http-signature@0.10.1, tough-cookie@0.9.15, hawk@1.0.0)
fs-extra@0.22.1 node_modules/fs-extra
├── graceful-fs@4.1.2
├── jsonfile@2.2.1
└── rimraf@2.4.2 (glob@5.0.14)
fast.js@0.1.1 node_modules/fast.js
musicbrainz@0.2.5 node_modules/musicbrainz
├── timetrickle@0.1.1
├── request@1.9.9
└── xml2js@0.1.14 (sax@1.1.1)
mdns@2.2.9 node_modules/mdns
├── bindings@1.2.1
└── nan@1.8.4
socket.io@1.3.6 node_modules/socket.io
├── debug@2.1.0 (ms@0.6.2)
├── has-binary-data@0.1.3 (isarray@0.0.1)
├── socket.io-adapter@0.3.1 (object-keys@1.0.1, debug@1.0.2, socket.io-parser@2.2.2)
├── socket.io-parser@2.2.4 (isarray@0.0.1, debug@0.7.4, component-emitter@1.1.2, benchmark@1.0.0, json3@3.2.6)
├── engine.io@1.5.2 (base64id@0.1.0, debug@1.0.3, engine.io-parser@1.2.1, ws@0.7.2)
└── socket.io-client@1.3.6 (to-array@0.1.3, indexof@0.0.1, component-bind@1.0.0, debug@0.7.4, backo2@1.0.2, object-component@0.0.3, component-emitter@1.1.2, has-binary@0.1.6, parseuri@0.0.2, engine.io-client@1.5.2)
level@0.18.0 node_modules/level
├── level-packager@0.18.0 (levelup@0.18.6)
└── leveldown@0.10.5 (bindings@1.2.1, nan@1.8.4)
I just replicated the procedure and everything is fine here. Try deleting /volumio and recloning it Try also as root...
npm ERR! registry error parsing json
That json error is really weird. The rest of the npm log looks fine, though.
I have removed /volumio folder and restart the procedure. After installing, if I do node index.js I get
node index.js
Loading plugins from folder /volumio/app/plugins/
Loading plugins from folder /plugins
[1439932166605] Loading plugin "system"...
No id defined. Creating one
[1439932167204] Loading plugin "network"...
[1439932168044] Loading plugin "services"...
[1439932168364] Loading plugin "volumiodiscovery"...
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
[1439932169240] Loading plugin "upnp"...
[1439932172094] Loading plugin "dirble"...
Plugin example_plugin is not enabled
[1439932172147] Loading plugin "mpd"...
[1439932176083] Loading plugin "spop"...
Plugin mpdemulation is not enabled
[1439932176705] Loading plugin "websocket"...
events.js:85
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
at exports._errnoException (util.js:746:11)
at Server._listen2 (net.js:1156:14)
at listen (net.js:1182:10)
at Server.listen (net.js:1267:5)
at Function.app.listen (/volumio/node_modules/express/lib/application.js:556:24)
at Object.<anonymous> (/volumio/index.js:6:29)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
I will reflash my sd card tomorow and retry...
Error: listen EADDRINUSE
That means it can't start the server because the port is in use. I guess you just have it running already? Check with pgrep -l node
yes it means you have the server already running, it's normal
if you want to see the new version. just do
killall node
So I have reflashed my SD card Boot RPI B with it- everthing works as expected - webUI is reachable Next step
apt-get install libavahi-compat-libdnssd-dev
and I have ereased /volumio then
git clone https://github.com/volumio/Volumio2.git volumio
cd volumio
npm install
Still have some error at the beginning
npm install
npm WARN package.json Volumio2@2.0.0-alpha4 No license field.
npm WARN cannot run in wd Volumio2@2.0.0-alpha4 git submodule init && git submodule update (wd=/volumio)
npm WARN optional dep failed, continuing fsevents@0.3.8
....
When finished
node killall
returns the following
node killall
module.js:338
throw err;
^
Error: Cannot find module '/volumio/killall'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
The webUI displays "Cannot GET/" The dev console is reachable There is something missing in the procedure or what ?
you type node killall, instead is: killall node
The errors are fine. The UI version has a known error, so it's not working. But the /dev UI is
I had the same problem and got it solved by doing what was explained here. The webUI seems to provide angular error and I get this when I run node index.js:
Loading plugins from folder /home/pi/volumio/app/plugins/
Loading plugins from folder /plugins
[1442064929388] Loading plugin "system"...
[1442064929543] Loading plugin "network"...
[1442064929889] Loading plugin "networkfs"...
[1442064930135] Loading plugin "services"...
[1442064930301] Loading plugin "volumiodiscovery"...
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
Started advertising...
[1442064930806] Loading plugin "upnp"...
[1442064931731] Starting Upmpd Daemon
[1442064931839] Loading plugin "dirble"...
Plugin example_plugin is not enabled
[1442064931890] Loading plugin "mpd"...
[1442064933392] ControllerMpd::StartedWatchService
[1442064933398] Loading plugin "spop"...
[1442064933594] ControllerSpop::loadTracklistFromDB
Loading Spop tracklist from DB...
Plugin mpdemulation is not enabled
[1442064933702] Loading plugin "websocket"...
[1442064937738] CoreMusicLibrary::loadLibraryFromDB
Loading library from DB...
[1442064937842] CorePlaylistFS::loadPlaylistsFromDB
Loading playlists from DB...
[1442064937855] BOOT COMPLETED
Express server listening on port 3000
[1442064937909] CoreStateMachine::resetVolumioState
[1442064937914] CoreStateMachine::getcurrentVolume
[1442064937917] CoreCommandRouter::volumioRetrievevolume
[1442064937980] CoreStateMachine::updateTrackBlock
[1442064937996] CorePlayQueue::getTrackBlock
[1442064938507] ControllerSpop::pushError(Error: Error reading DB: NotFoundError: Key not found in database [tracklist])
[1442064938520] CoreMusicLibrary::pushError(Error: Error reading DB: NotFoundError: Key not found in database [library])
MPD error:
{ [Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect' }
SPOP command error:
{ [Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect' }
SPOP status error:
{ [Error: connect ECONNREFUSED]
code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect' }
The following error occurred while starting SPOPD: Error: Command failed: /bin/sh: 1: spopd: not found
[1442064938657] Upmpcli error: Error: Command failed: /bin/sh: 1: upmpdcli: not found
Changing my name to raspberrypi
[1442064938871] mDNS: Found device volumio
[1442064938920] VolumeController:: Volume=80 Mute =false
[1442064938927] CoreStateMachine::updateVolume80
[1442064938932] CoreStateMachine::getState
[1442064938940] CoreStateMachine::pushState
[1442064938945] CoreCommandRouter::volumioPushState
[1442064938951] InterfaceWebUI::pushState
[1442064944717] mDNS: Found device raspberrypi
At this point of development it would be really hard for you to set a complete working environment. We are almost at the point of having a first beta image... If you can wait a little...
The AirPlay feature does not seem to work so far also ... but of course I can wait :) Keep up the good work !
Yep this doesn't work yet, it will be one of the last things we'll tackle...
When doing npm install, it return errors
No webUI and if I look in the process, node is eating plenty of cpu (on rpi B+ a total of 88% of cpu is used). What am I doing wrong ?