volumio / Build

Buildscripts for Volumio System
GNU General Public License v2.0
113 stars 102 forks source link

Updating to node v8 LTS #315

Closed ashthespy closed 6 years ago

ashthespy commented 6 years ago

Copy paste follow up from https://github.com/volumio/Build/issues/259

@ashthespy

Quick question - would this be a good time to move to Node v8 LTS as well? Node v6.x will go into maintenance mode in a month and half (30-04-18)

@volumio

I would feel more confident in doing one change at the time, if not we might not be able to identify the root cause in case of regression. We could upgrade node either before or later debian. As of now we did not update node because of a misbehaving module (mdns) in newer node versions

@piffio

I am also interested in the Node update, do you have any link with more details about the module misbehaviour?

@volumio

No, but you can easily replicate by substituting the node version ( see https://github.com/volumio/Build/blob/master/scripts/volumioconfig.sh#L118 ) and then doing

cd /volumo rm -rf node_modules npm install

ashthespy commented 6 years ago

A quick update. I just updated to node v8.10.0 and rebuilt the node modules listed in Volumio's package.json The highlights are:

npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated strtok2@1.0.4: depricated, use strtok3 & music-metadata instead
npm WARN deprecated graceful-fs@2.0.3: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js
:/volumio$ npm list --depth=0
Volumio2@2.0.0-alpha4 /volumio
+-- album-art@1.0.4
+-- base64-url@1.3.3
+-- body-parser@1.18.2
+-- cache-manager@2.8.0
+-- child_process@1.0.2
+-- compare-versions@3.1.0
+-- compression@1.7.2
+-- connect-busboy@0.0.2
+-- convert-seconds@1.0.1
+-- cookie-parser@1.4.3
+-- cue-parser@0.0.4
+-- ejs@2.5.7
+-- express@4.16.3
+-- fast.js@0.1.1
+-- file-download@0.1.2
+-- firebase@4.12.0
+-- fs-extra@3.0.1 invalid
+-- hashmap@2.3.0
+-- html-entities@1.2.1
+-- inotify@1.4.2
+-- inquirer@3.3.0
+-- ip@1.1.5
+-- is-online@7.0.0
+-- jimp@0.2.28
+-- json-query@2.2.2
+-- kew@0.7.0
+-- libxmljs@0.18.7
+-- linux-mountutils@1.0.2
+-- mdns@2.3.4
+-- mocha@3.5.3
+-- moment@2.21.0
+-- mpd@1.3.0
+-- musicbrainz@0.2.6
+-- musicmetadata@2.0.5
+-- njstrace@0.0.2
+-- node-cache@4.2.0
+-- node-schedule@1.3.0
+-- node-ssdp@3.2.5
+-- node-uuid@1.4.8
+-- nodetools@1.1.4
+-- onoff@1.2.0
+-- pidof@1.0.2
+-- pullr@0.3.2
+-- random-string@0.2.0
+-- serve-favicon@2.4.5
+-- shairport-sync-reader@0.0.6
+-- shelljs@0.7.8
+-- socket.io@1.7.4
+-- socket.io-client@1.7.4
+-- sort-on@2.0.0
+-- spotify-web-api-node@2.5.0
+-- string@3.3.3
+-- tail@1.2.3
+-- telnet@0.0.1
+-- underscore@1.8.3
+-- unirest@0.5.1
+-- v-conf@1.4.0
+-- winston@2.4.1
+-- wireless-tools@0.19.0
`-- yargs@8.0.2

npm ERR! invalid: fs-extra@3.0.1 /volumio/node_modules/fs-extra

Apart from gcc/++ warnings from epoll and libxmljs, it seems that the first step to updating to nodejsv8 was quite painless!

npm log

```shell $ npm install npm WARN deprecated node-uuid@1.4.8: Use uuid module instead npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue npm WARN deprecated strtok2@1.0.4: depricated, use strtok3 & music-metadata instead npm WARN deprecated graceful-fs@2.0.3: please upgrade to graceful-fs 4 for compatibility with current and future versions of Node.js > epoll@1.0.2 install /volumio/node_modules/epoll > node-gyp rebuild make: Entering directory '/volumio/node_modules/epoll/build' CXX(target) Release/obj.target/epoll/src/epoll.o SOLINK_MODULE(target) Release/obj.target/epoll.node COPY Release/epoll.node make: Leaving directory '/volumio/node_modules/epoll/build' > grpc@1.10.0 install /volumio/node_modules/grpc > node-pre-gyp install --fallback-to-build --library=static_library [grpc] Success: "/volumio/node_modules/grpc/src/node/extension_binary/node-v57-linux-arm-glibc/grpc_node.node" is installed via remote > inotify@1.4.2 install /volumio/node_modules/inotify > node-gyp rebuild make: Entering directory '/volumio/node_modules/inotify/build' CXX(target) Release/obj.target/inotify/src/bindings.o ../src/bindings.cc: In static member function 'static void NodeInotify::Inotify::Callback(uv_poll_t*, int, int)': ../src/bindings.cc:279:34: warning: 'v8::Local Nan::Callback::Call(v8::Local, int, v8::Local*) const' is deprecated (declared at ../../nan/nan.h:1596) [-Wdeprecated-declarations] callback.Call(handle, 1, argv); ^ CXX(target) Release/obj.target/inotify/src/node_inotify.o ../src/node_inotify.cc: In function 'void NodeInotify::InitializeInotify(v8::Handle)': ../src/node_inotify.cc:13:60: warning: 'static v8::Local v8::ObjectTemplate::New()' is deprecated (declared at /home/volumio/.node-gyp/8.10.0/include/node/v8.h:5706): Use isolate version [-Wdeprecated-declarations] Local global = ObjectTemplate::New(); ^ SOLINK_MODULE(target) Release/obj.target/inotify.node COPY Release/inotify.node make: Leaving directory '/volumio/node_modules/inotify/build' > libxmljs@0.18.7 install /volumio/node_modules/libxmljs > node-pre-gyp install --fallback-to-build --loglevel http node-pre-gyp http GET https://github.com/libxmljs/libxmljs/releases/download/v0.18.7/node-v57-linux-arm.tar.gz node-pre-gyp http 404 https://github.com/libxmljs/libxmljs/releases/download/v0.18.7/node-v57-linux-arm.tar.gz node-pre-gyp ERR! Tried to download(404): https://github.com/libxmljs/libxmljs/releases/download/v0.18.7/node-v57-linux-arm.tar.gz node-pre-gyp ERR! Pre-built binaries not found for libxmljs@0.18.7 and node@8.10.0 (node-v57 ABI, glibc) (falling back to source compile with node-gyp) node-pre-gyp http 404 status code downloading tarball https://github.com/libxmljs/libxmljs/releases/download/v0.18.7/node-v57-linux-arm.tar.gz make: Entering directory '/volumio/node_modules/libxmljs/build' CXX(target) Release/obj.target/xmljs/src/libxmljs.o CXX(target) Release/obj.target/xmljs/src/xml_attribute.o CXX(target) Release/obj.target/xmljs/src/xml_document.o CXX(target) Release/obj.target/xmljs/src/xml_element.o CXX(target) Release/obj.target/xmljs/src/xml_comment.o CXX(target) Release/obj.target/xmljs/src/xml_namespace.o CXX(target) Release/obj.target/xmljs/src/xml_node.o CXX(target) Release/obj.target/xmljs/src/xml_sax_parser.o CXX(target) Release/obj.target/xmljs/src/xml_syntax_error.o CXX(target) Release/obj.target/xmljs/src/xml_text.o CXX(target) Release/obj.target/xmljs/src/xml_xpath_context.o CC(target) Release/obj.target/xmljs/vendor/libxml/buf.o ../vendor/libxml/buf.c: In function 'xmlBufMemoryError': ../vendor/libxml/buf.c:94:5: warning: too many arguments for format [-Wformat-extra-args] __xmlSimpleError(XML_FROM_BUFFER, XML_ERR_NO_MEMORY, NULL, NULL, extra); ^ ../vendor/libxml/buf.c: In function 'xmlBufOverflowError': ../vendor/libxml/buf.c:109:5: warning: too many arguments for format [-Wformat-extra-args] __xmlSimpleError(XML_FROM_BUFFER, XML_BUF_OVERFLOW, NULL, NULL, extra); ^ CC(target) Release/obj.target/xmljs/vendor/libxml/catalog.o CC(target) Release/obj.target/xmljs/vendor/libxml/chvalid.o CC(target) Release/obj.target/xmljs/vendor/libxml/dict.o ../vendor/libxml/dict.c: In function 'xmlDictAddString': ../vendor/libxml/dict.c:252:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (pool->end - pool->free > namelen) ^ ../vendor/libxml/dict.c: In function 'xmlDictAddQString': ../vendor/libxml/dict.c:320:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] if (pool->end - pool->free > namelen + plen + 1) ^ CC(target) Release/obj.target/xmljs/vendor/libxml/encoding.o ../vendor/libxml/encoding.c: In function 'xmlEncodingErrMemory': ../vendor/libxml/encoding.c:86:5: warning: too many arguments for format [-Wformat-extra-args] __xmlSimpleError(XML_FROM_I18N, XML_ERR_NO_MEMORY, NULL, NULL, extra); ^ ../vendor/libxml/encoding.c: In function 'xmlCharEncCloseFunc': ../vendor/libxml/encoding.c:2856:12: warning: variable 'handler_in_list' set but not used [-Wunused-but-set-variable] int i, handler_in_list = 0; ^ CC(target) Release/obj.target/xmljs/vendor/libxml/entities.o ../vendor/libxml/entities.c: In function 'xmlEntitiesErrMemory': ../vendor/libxml/entities.c:76:5: warning: too many arguments for format [-Wformat-extra-args] __xmlSimpleError(XML_FROM_TREE, XML_ERR_NO_MEMORY, NULL, NULL, extra); ^ CC(target) Release/obj.target/xmljs/vendor/libxml/error.o CC(target) Release/obj.target/xmljs/vendor/libxml/globals.o CC(target) Release/obj.target/xmljs/vendor/libxml/hash.o CC(target) Release/obj.target/xmljs/vendor/libxml/HTMLparser.o CC(target) Release/obj.target/xmljs/vendor/libxml/HTMLtree.o ../vendor/libxml/HTMLtree.c: In function 'htmlSaveErrMemory': ../vendor/libxml/HTMLtree.c:355:5: warning: too many arguments for format [-Wformat-extra-args] __xmlSimpleError(XML_FROM_OUTPUT, XML_ERR_NO_MEMORY, NULL, NULL, extra); ^ CC(target) Release/obj.target/xmljs/vendor/libxml/legacy.o CC(target) Release/obj.target/xmljs/vendor/libxml/list.o CC(target) Release/obj.target/xmljs/vendor/libxml/parser.o CC(target) Release/obj.target/xmljs/vendor/libxml/parserInternals.o CC(target) Release/obj.target/xmljs/vendor/libxml/pattern.o CC(target) Release/obj.target/xmljs/vendor/libxml/relaxng.o CC(target) Release/obj.target/xmljs/vendor/libxml/SAX2.o CC(target) Release/obj.target/xmljs/vendor/libxml/SAX.o CC(target) Release/obj.target/xmljs/vendor/libxml/tree.o ../vendor/libxml/tree.c: In function 'xmlTreeErrMemory': ../vendor/libxml/tree.c:74:5: warning: too many arguments for format [-Wformat-extra-args] __xmlSimpleError(XML_FROM_TREE, XML_ERR_NO_MEMORY, NULL, NULL, extra); ^ CC(target) Release/obj.target/xmljs/vendor/libxml/threads.o CC(target) Release/obj.target/xmljs/vendor/libxml/uri.o CC(target) Release/obj.target/xmljs/vendor/libxml/valid.o CC(target) Release/obj.target/xmljs/vendor/libxml/xinclude.o CC(target) Release/obj.target/xmljs/vendor/libxml/xlink.o CC(target) Release/obj.target/xmljs/vendor/libxml/xmlIO.o ../vendor/libxml/xmlIO.c: In function 'xmlIOErrMemory': ../vendor/libxml/xmlIO.c:256:5: warning: too many arguments for format [-Wformat-extra-args] __xmlSimpleError(XML_FROM_IO, XML_ERR_NO_MEMORY, NULL, NULL, extra); ^ CC(target) Release/obj.target/xmljs/vendor/libxml/xmlmemory.o CC(target) Release/obj.target/xmljs/vendor/libxml/xmlmodule.o CC(target) Release/obj.target/xmljs/vendor/libxml/xmlreader.o CC(target) Release/obj.target/xmljs/vendor/libxml/xmlregexp.o CC(target) Release/obj.target/xmljs/vendor/libxml/xmlsave.o ../vendor/libxml/xmlsave.c: In function 'xmlSaveErrMemory': ../vendor/libxml/xmlsave.c:111:5: warning: too many arguments for format [-Wformat-extra-args] __xmlSimpleError(XML_FROM_OUTPUT, XML_ERR_NO_MEMORY, NULL, NULL, extra); ^ CC(target) Release/obj.target/xmljs/vendor/libxml/xmlschemas.o ../vendor/libxml/xmlschemas.c: In function 'xmlSchemaPSimpleErr': ../vendor/libxml/xmlschemas.c:1861:22: warning: too many arguments for format [-Wformat-extra-args] msg); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlSchemaPErrMemory': ../vendor/libxml/xmlschemas.c:1878:22: warning: too many arguments for format [-Wformat-extra-args] extra); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlSchemaVErrMemory': ../vendor/libxml/xmlschemas.c:2002:22: warning: too many arguments for format [-Wformat-extra-args] extra); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlSchemaPValAttrNodeQNameValue': ../vendor/libxml/xmlschemas.c:5823:6: warning: too many arguments for format [-Wformat-extra-args] NULL, value, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlGetMaxOccurs': ../vendor/libxml/xmlschemas.c:6046:3: warning: too many arguments for format [-Wformat-extra-args] val, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:6060:6: warning: too many arguments for format [-Wformat-extra-args] val, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:6077:6: warning: too many arguments for format [-Wformat-extra-args] val, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlGetMinOccurs': ../vendor/libxml/xmlschemas.c:6112:6: warning: too many arguments for format [-Wformat-extra-args] val, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:6129:6: warning: too many arguments for format [-Wformat-extra-args] val, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlSchemaPGetBoolNodeValue': ../vendor/libxml/xmlschemas.c:6174:6: warning: too many arguments for format [-Wformat-extra-args] NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlGetBooleanProp': ../vendor/libxml/xmlschemas.c:6222:6: warning: too many arguments for format [-Wformat-extra-args] NULL, val, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlSchemaPValAttrNodeValue': ../vendor/libxml/xmlschemas.c:6327:6: warning: too many arguments for format [-Wformat-extra-args] type, NULL, value, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlSchemaParseWildcardNs': ../vendor/libxml/xmlschemas.c:6762:6: warning: too many arguments for format [-Wformat-extra-args] NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:6800:7: warning: too many arguments for format [-Wformat-extra-args] nsItem, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlSchemaParseLocalAttribute': ../vendor/libxml/xmlschemas.c:7187:8: warning: too many arguments for format [-Wformat-extra-args] attrValue, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:7207:4: warning: too many arguments for format [-Wformat-extra-args] attrValue, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlSchemaParseElement': ../vendor/libxml/xmlschemas.c:8628:4: warning: too many arguments for format [-Wformat-extra-args] attrValue, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:8707:4: warning: too many arguments for format [-Wformat-extra-args] attrValue, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:8737:7: warning: too many arguments for format [-Wformat-extra-args] NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlSchemaParseSimpleType': ../vendor/libxml/xmlschemas.c:9293:7: warning: too many arguments for format [-Wformat-extra-args] attrValue, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlSchemaParseSchemaElement': ../vendor/libxml/xmlschemas.c:9692:3: warning: too many arguments for format [-Wformat-extra-args] "(qualified | unqualified)", val, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:9705:3: warning: too many arguments for format [-Wformat-extra-args] "(qualified | unqualified)", val, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:9723:3: warning: too many arguments for format [-Wformat-extra-args] val, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:9739:3: warning: too many arguments for format [-Wformat-extra-args] val, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlSchemaParseImport': ../vendor/libxml/xmlschemas.c:10762:6: warning: too many arguments for format [-Wformat-extra-args] NULL, namespaceName, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:10773:6: warning: too many arguments for format [-Wformat-extra-args] NULL, schemaLocation, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlSchemaParseComplexType': ../vendor/libxml/xmlschemas.c:12232:8: warning: too many arguments for format [-Wformat-extra-args] attrValue, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:12250:8: warning: too many arguments for format [-Wformat-extra-args] attrValue, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c: In function 'xmlSchemaValidateFacets': ../vendor/libxml/xmlschemas.c:24252:3: warning: too many arguments for format [-Wformat-extra-args] value, len, type, facetLink->facet, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:24288:3: warning: too many arguments for format [-Wformat-extra-args] value, length, type, facetLink->facet, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:24340:7: warning: too many arguments for format [-Wformat-extra-args] value, 0, type, NULL, NULL, NULL, NULL); ^ ../vendor/libxml/xmlschemas.c:24385:4: warning: too many arguments for format [-Wformat-extra-args] value, 0, type, facet, NULL, NULL, NULL); ^ CC(target) Release/obj.target/xmljs/vendor/libxml/xmlschemastypes.o ../vendor/libxml/xmlschemastypes.c: In function 'xmlSchemaTypeErrMemory': ../vendor/libxml/xmlschemastypes.c:204:5: warning: too many arguments for format [-Wformat-extra-args] __xmlSimpleError(XML_FROM_DATATYPE, XML_ERR_NO_MEMORY, node, NULL, extra); ^ CC(target) Release/obj.target/xmljs/vendor/libxml/xmlstring.o CC(target) Release/obj.target/xmljs/vendor/libxml/xmlunicode.o CC(target) Release/obj.target/xmljs/vendor/libxml/xmlwriter.o CC(target) Release/obj.target/xmljs/vendor/libxml/xpath.o In file included from ../vendor/libxml/xpath.c:462:0: ../vendor/libxml/timsort.h: In function 'libxml_domnode_tim_sort_resize': ../vendor/libxml/timsort.h:326:7: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'unsigned int' [-Wformat=] fprintf(stderr, "Error allocating temporary storage for tim sort: need %lu bytes", sizeof(SORT_TYPE) * new_size); ^ ../vendor/libxml/timsort.h: In function 'libxml_domnode_tim_sort_collapse': ../vendor/libxml/timsort.h:397:19: warning: variable 'BD' set but not used [-Wunused-but-set-variable] int ABC, BCD, BD, CD; ^ ../vendor/libxml/xpath.c: In function 'xmlXPathNodeCollectAndTest': ../vendor/libxml/xpath.c:12409:28: warning: comparison between 'xmlElementType' and 'xmlXPathTypeVal' [-Wenum-compare] } else if (cur->type == type) { ^ In file included from ../vendor/libxml/xpath.c:476:0: ../vendor/libxml/xpath.c: At top level: ../vendor/libxml/trionan.c:218:1: warning: 'trio_is_negative' defined but not used [-Wunused-function] trio_is_negative ^ ../vendor/libxml/xpath.c: In function 'xmlXPathCastNumberToString': ../vendor/libxml/xpath.c:3197:7: warning: array subscript is above array bounds [-Warray-bounds] work[buffersize - 1] = 0; ^ CC(target) Release/obj.target/xmljs/vendor/libxml/xpointer.o ../vendor/libxml/xpointer.c: In function 'xmlXPtrNewRangeNodePoint': ../vendor/libxml/xpointer.c:451:21: warning: comparison between 'xmlElementType' and 'enum ' [-Wenum-compare] if (start->type != XPATH_POINT) ^ SOLINK(target) Release/obj.target/xmljs.node COPY Release/xmljs.node make: Leaving directory '/volumio/node_modules/libxmljs/build' > mdns@2.3.4 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/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/obj.target/dns_sd_bindings.node COPY Release/dns_sd_bindings.node make: Leaving directory '/volumio/node_modules/mdns/build' npm notice created a lockfile as package-lock.json. You should commit this file. npm WARN Volumio2@2.0.0-alpha4 No license field. npm WARN The package fs-extra is included as both a dev and production dependency. added 809 packages in 616.814s ```

ashthespy commented 6 years ago

Well,

systemd[1]: Started Volumio Backend Module.
Mar 24 17:36:49 opivol volumio[12342]: module.js:549
Mar 24 17:36:49 opivol volumio[12342]: throw err;
Mar 24 17:36:49 opivol volumio[12342]: ^
Mar 24 17:36:49 opivol volumio[12342]: Error: Cannot find module 'nodetools'
Mar 24 17:36:49 opivol volumio[12342]: at Function.Module._resolveFilename (module.js:547:15)
Mar 24 17:36:49 opivol volumio[12342]: at Function.Module._load (module.js:474:25)
Mar 24 17:36:49 opivol volumio[12342]: at Module.require (module.js:596:17)
Mar 24 17:36:49 opivol volumio[12342]: at require (internal/module.js:11:18)
Mar 24 17:36:49 opivol volumio[12342]: at Object.<anonymous> (/volumio/app/plugins/miscellanea/albumart/albumart.js:9:17)
Mar 24 17:36:49 opivol volumio[12342]: at Module._compile (module.js:652:30)
Mar 24 17:36:49 opivol volumio[12342]: at Object.Module._extensions..js (module.js:663:10)
Mar 24 17:36:49 opivol volumio[12342]: at Module.load (module.js:565:32)
Mar 24 17:36:49 opivol volumio[12342]: at tryModuleLoad (module.js:505:12)
Mar 24 17:36:49 opivol volumio[12342]: at Function.Module._load (module.js:497:3)
Mar 24 17:36:49 opivol systemd[1]: volumio.service: main process exited, code=exited, status=1/FAILURE
Mar 24 17:36:49 opivol systemd[1]: Unit volumio.service entered failed state.

I don't understand the error - given that I have +-- nodetools@1.1.4 in /volumio/node_modules/.

For some reason downgrading to nodetools@1.0.0 somehow doesn't throw this error, and I have a working Volumio with nodev8.10.0LTS :-)

ashthespy commented 6 years ago

@volumio If you have some more details/specific tests for the mdns module - I could test them out.

My box with node v8.10.0 does show up under Multiroom devices, and seems to work without hitches in my preliminary tests.

volumio commented 6 years ago

Give me sometime and I will create a new image with this. So we can release it in the forum for people to test it ;)

ashthespy commented 6 years ago

So after a few days, I seem to have issues with the playername automatically changing back to Volumio, from volumiodiscovery

Was this the previous mdsn issues you were mentioning?

volumio commented 6 years ago

Actually, this can be a regression, but it's difficult to say, since mdns is very "picky", I never managed to make it as stable as it should be

ashthespy commented 6 years ago

Hmm, I actually tracked it down to something unrelated to mdns ;-) https://github.com/volumio/Volumio2/pull/1530

ashthespy commented 6 years ago

Closed as of b9695799c401628b20a6b391dadd773e29c5166a