HowTo: Install Roon Extension Manager on Linux

Might be something sudo related. What distro are you using?

Hi Jan,
I’ve a little problem with “start-limit-hit” message. (Ubuntu 18.04.2 LTS)

Here some info:

● roon-extension-manager.service - Roon Extension Manager

  • Loaded: loaded (/etc/systemd/system/roon-extension-manager.service; enabled; vendor preset: enabled)*
  • Active: failed (Result: start-limit-hit) since Mon 2019-08-05 22:33:02 CEST; 38s ago*
  • Process: 1515 ExecStart=/home/roon/roon-extension-manager.sh (code=exited, status=0/SUCCESS)*
  • Main PID: 1515 (code=exited, status=0/SUCCESS)*

Aug 05 22:33:02 roon systemd[1]: roon-extension-manager.service: Service hold-off time over, scheduling restart.
Aug 05 22:33:02 roon systemd[1]: roon-extension-manager.service: Scheduled restart job, restart counter is at 5.
Aug 05 22:33:02 roon systemd[1]: Stopped Roon Extension Manager.
Aug 05 22:33:02 roon systemd[1]: roon-extension-manager.service: Start request repeated too quickly.
Aug 05 22:33:02 roon systemd[1]: roon-extension-manager.service: Failed with result ‘start-limit-hit’.
Aug 05 22:33:02 roon systemd[1]: Failed to start Roon Extension Manager.

roon@roon:~$ node -v
v8.10.0
roon@roon:~$ npm -v
3.5.2

root@roon:~/.RoonExtensions/lib/node_modules/roon-extension-manager# node . ignore service
{ ‘roon-extension-manager’: ‘0.10.0’,

  • ‘roon-extension-repository’: ‘0.3.3’ }*
    Docker not found
    2019-08-05T20:35:10.455Z - Inf: Roon Extension Manager started!
    {}
    2019-08-05T20:35:10.463Z - Inf: Extension Repository loaded
    -> REQUEST 0 com.roonlabs.registry:1/info
    <- COMPLETE 0 Success {“core_id”:“65b91824-c76c-4371-bdc3-727f882954e3”,“display_name”:“Libreria di Daniele”,“display_version”:“1.6 (build 416) stable”}
    -> REQUEST 1 com.roonlabs.registry:1/register {“extension_id”:“com.theappgineer.extension-manager.roon”,“display_name”:“Roon Extension Manager @roon”,“displ ay_version”:“0.10.0”,“publisher”:“The Appgineer",“email”:"theappgineer@gmail.com”,“required_services”:[],“optional_services”:[],“provided_services”:[“com.ro onlabs.settings:1”,“com.roonlabs.status:1”,“com.roonlabs.pairing:1”,“com.roonlabs.ping:1”],“website”:“https://community.roonlabs.com/t/roon-extension-manage r/26632”,“token”:“03142eb7-624c-4744-a80a-f77fb7e6927c”}
    <- CONTINUE 1 Registered {“core_id”:“65b91824-c76c-4371-bdc3-727f882954e3”,“display_name”:“Libreria di Daniele”,“display_version”:“1.6 (build 416) stable”," token":“03142eb7-624c-4744-a80a-f77fb7e6927c”,“provided_services”:[],“http_port”:9100}
    <- REQUEST 1 com.roonlabs.status:1/subscribe_status {“subscription_key”:“1”}
    -> CONTINUE 1 Subscribed {“message”:“Core paired”,“is_error”:false}
    <- REQUEST 2 com.roonlabs.pairing:1/subscribe_pairing {“subscription_key”:“2”}
    -> CONTINUE 2 Subscribed {“paired_core_id”:“65b91824-c76c-4371-bdc3-727f882954e3”}
    -> REQUEST 0 com.roonlabs.registry:1/info
    <- COMPLETE 0 Success {“core_id”:“188e1010-6d8a-420d-952a-8ca428d11515”,“display_name”:“DESKTOP-54G1987”,“display_version”:“1.6 (build 416) stable”}
    -> REQUEST 1 com.roonlabs.registry:1/register {“extension_id”:“com.theappgineer.extension-manager.roon”,“display_name”:“Roon Extension Manager @roon”,“displ ay_version”:“0.10.0”,“publisher”:“The Appgineer",“email”:"theappgineer@gmail.com”,“required_services”:[],“optional_services”:[],“provided_services”:[“com.ro onlabs.settings:1”,“com.roonlabs.status:1”,“com.roonlabs.pairing:1”,“com.roonlabs.ping:1”],“website”:“https://community.roonlabs.com/t/roon-extension-manage r/26632”,“token”:“82babd9a-edc4-4579-94b3-c8824b16b624”}
    <- CONTINUE 1 Registered {“core_id”:“188e1010-6d8a-420d-952a-8ca428d11515”,“display_name”:“DESKTOP-54G1987”,“display_version”:“1.6 (build 416) stable”,“toke n”:“82babd9a-edc4-4579-94b3-c8824b16b624”,“provided_services”:[],“http_port”:9100}
    <- REQUEST 1 com.roonlabs.status:1/subscribe_status {“subscription_key”:“3”}
    -> CONTINUE 1 Subscribed {“message”:“Core paired”,“is_error”:false}
    <- REQUEST 2 com.roonlabs.pairing:1/subscribe_pairing {“subscription_key”:“4”}
    -> CONTINUE 2 Subscribed {“paired_core_id”:“65b91824-c76c-4371-bdc3-727f882954e3”}
    -> CONTINUE 1 Changed {“message”:“Core paired”,“is_error”:false}

Suggestion?

Start-up log looks good, probably something wrong with the service.
What output do you get from these two commands?

cd ~/.RoonExtensions/bin
./roon-extension-manager.sh

Solved! The path in service was wrong (ExecStart)
my fault :tired_face:

Hi all!

Running Roon core on a Linux Ubuntu 18.04.3 with HWE enabled.

Installed npm from the distro, which installed node.

node version: 8.10.0
npm -v 3.5.2

I’m having errors when running the setup script as root, related to not finding bufferutil or utf-8-validate

I have tried going to /usr/local/lib/node-modules and rm -rf everything, but still same errors.

├─┬ node-roon-api@1.2.2 (git://github.com/roonlabs/node-roon-api.git#b09c875738360a9413518a8a51ac70294745a926)
│ ├── UNMET PEER DEPENDENCY bufferutil@^4.0.1
│ ├── ip@1.1.5
│ ├── node-uuid@1.4.8
│ ├── UNMET PEER DEPENDENCY utf-8-validate@^5.0.2
│ └── ws@7.2.1
├── node-roon-api-settings@1.0.0 (git://github.com/roonlabs/node-roon-api-settings.git#67cd8ca156c5bcd01ea63833ceaaec6d6a79654d)
└── node-roon-api-status@1.0.0 (git://github.com/roonlabs/node-roon-api-status.git#504c918d6da267e03fbb4337befa71ca3d3c7526)

npm WARN ws@7.2.1 requires a peer of bufferutil@^4.0.1 but none was installed.
npm WARN ws@7.2.1 requires a peer of utf-8-validate@^5.0.2 but none was installed.
/usr/local/lib

Hi @Erik_Squires,

The two warnings during installation are not a problem, they will be covered during first startup of the Extension Manager. What is a problem is the old version of npm that gets installed on Ubuntu 18.04. Please follow the instructions from this post to install a recent version.

Thanks, that makes sense. I’ve installed it, can run the set up script without those errors, but no dice. Still can’t see it.

No idea why it says it can’t find npm, because I sure can which it … version 6.13.4, node 12.14.1

I’ve also attempted to restart the system.

At which location did you install npm?
Do you get that location as output if you enter the command: which npm?

This script is doing something wonky and I don’t feel like playing with bash anymore.

Yes, I can get a which npm, but the script doesn’t see it. Even if I sudo su, and make sure my path is set, it seems to be getting or looking for the path in some place I can’t tell.

The only thing that seems to work is to add PATH to the top of the script, and then it tells me it can’t write to /usr/lib

It is as if it’s going back and forth between my personal credentials (erik) and root.

Pardon, even the path in the script didn’t work. The only thing that worked was putting a softlink in /usr/bin

I have even done a release upgrade, which accidentally took me all the way up to Ubuntu 20. No dice.

I think this was enough effort. I’m done. Thanks for the help.