Closed rdeutsch3 closed 10 months ago
We have released Homebridge-config-ui-x-4.52.0-beta.33 which should resolve the issue where people are having issues running
sudo hb-service-rebuild
after updating homebridge-config-ui-x on linux based environments and needed to rollback to the previous version. We are looking for testers that want to give it a try. So far we have had one positive test result.
No joy on my DSM with Homebridge-config-ui-x-4.52.0-beta.33. Build failed. Can you get me a link for the tools to build?
sudo hb-service rebuild
ℹ Rebuilding for Node.js v18.15.0...
npm ERR! code 1
npm ERR! path /volume1/@appstore/homebridge/app/lib/node_modules/homebridge-config-ui-x/node_modules/@homebridge/node-pty-prebuilt-multiarch
npm ERR! command failed
npm ERR! command sh -c node scripts/check-prebuild.js || prebuild-install || node scripts/install.js
npm ERR! Prebuild binary exists: /volume1/@appstore/homebridge/app/lib/node_modules/homebridge-config-ui-x/node_modules/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi108.node
npm ERR! Prebuild binary failed test.
npm ERR! gyp ERR! build error
npm ERR! gyp ERR! stack Error: not found: make
npm ERR! gyp ERR! stack at getNotFoundError (/volume1/@appstore/homebridge/app/lib/node_modules/npm/node_modules/node-gyp/node_modules/which/which.js:10:17)
npm ERR! gyp ERR! stack at /volume1/@appstore/homebridge/app/lib/node_modules/npm/node_modules/node-gyp/node_modules/which/which.js:57:18
npm ERR! gyp ERR! stack at new Promise (
npm ERR! A complete log of this run can be found in: /var/packages/homebridge/home/.npm/_logs/2023-10-30T21_15_52_639Z-debug-0.log Error: Command failed: npm rebuild --unsafe-perm ✖ ERROR: Failed Operation
@rdeutsch3 the compiling tools - https://github.com/homebridge/homebridge-syno-spk/wiki/DSM-7:-Enable-Compiling-Of-Native-Modules
@rdeutsch3 - With Beta 33, I had updated the native module prebuild process to reduce the number of issues on RPI, but haven't deep dived into the Synology DSM.
At this point in your last log - npm ERR! Prebuild binary exists: /volume1/@appstore/homebridge/app/lib/node_modules/homebridge-config-ui-x/node_modules/@homebridge/node-pty-prebuilt-multiarch/prebuilds/linux-x64/node.abi108.node npm ERR! Prebuild binary failed test.
It is attempting to load a native module, and it is failing.
If your running 4.50.6, what does this command show
find /volume1/@appstore/homebridge/app/lib/node_modules/homebridge-config-ui-x/node_modules/@homebridge/node-pty-prebuilt-multiarch/ -ls
And I'm going to introduce a new beta later today, with additional logging to hopefully find the resolution to the issue.
@NorthernMan54 I am currently running: homebridge-config-ui-x v4.50.4
/$ find /volume1/@appstore/homebridge/app/lib/node_modules/homebridge-config-ui-x/node_modules/@homebridge/node-pty-prebuilt-multiarch/ -ls find: `/volume1/@appstore/homebridge/app/lib/node_modules/homebridge-config-ui-x/node_modules/@homebridge/node-pty-prebuilt-multiarch/': No such file or directory
There is no @homebridge directory under: /volume1/@appstore/homebridge/app/lib/node_modules/homebridge-config-ui-x/node_modules
However there is a node-pty-prebuild-multiarch directory and it shows: /volume1/@appstore/homebridge/app/lib/node_modules/homebridge-config-ui-x/node_modules/node-pty-prebuilt-multiarch$ ls -l total 40 -rw-r--r-- 1 homebridge homebridge 1997 Oct 26 1985 binding.gyp drwxr-xr-x 3 homebridge homebridge 4096 Jul 20 15:44 deps drwxr-xr-x 2 homebridge homebridge 4096 Jul 20 15:44 lib -rw-r--r-- 1 homebridge homebridge 3326 Oct 26 1985 LICENSE -rw-r--r-- 1 homebridge homebridge 2910 Jul 20 15:44 package.json drwxr-xr-x 8 homebridge homebridge 4096 Jul 20 15:44 prebuilds -rw-r--r-- 1 homebridge homebridge 2502 Oct 26 1985 README.md drwxr-xr-x 2 homebridge homebridge 4096 Jul 20 15:44 scripts drwxr-xr-x 4 homebridge homebridge 4096 Jul 20 15:44 src drwxr-xr-x 2 homebridge homebridge 4096 Jul 20 15:44 typings
How can we resolve more quickly? Can you message me directly and establish verbal comm?
Tks for that ls
, it helps to determine why 4.50.4 works and a bit into why 4.51.x fails.
Looking at the other log messages supplied, and this one
Error: /lib64/libc.so.6: version
GLIBC_2.28' not found (required by /volume1/@appstore/homebridge/app/lib/node_modules/homebridge-config-ui-x/node_modules/@homebridge/node-pty-prebuilt-multiarch/build/Release/pty.node)`
Does this output anything on your DSM ? getconf GNU_LIBC_VERSION
My working theory is that the updated OS prebuild server is generating native modules with too high of a GLIBC version.
PS I'm on the homebridge discord, most mornings from 9 to 11ish Eastern Time
@NorthernMan54 $ getconf GNU_LIBC_VERSION bash: getconf: command not found
Not on discord, and not familiar. I used to work remotely into Toronto, from Texas Update: I'm now on discord, but still not familiar. Tried to message you, and failed. Perhaps we can connect at some point and resolve more quickly.
Challenge is that the prebuild service builds native modules for a lot of environments, and the old Linux OS is no longer supported. Need to find a method of building for the older GLIBC
From old version
strings node.abi108.node | grep GLIBC | awk -F@ '{ print $3 }' | sort | uniq
GLIBCXX_3.4
GLIBC_2.2.5
From Current Version
strings node.abi108.node | grep GLIBC | awk -F@ '{ print $2 }' | sort | uniq
GLIBCXX_3.4
GLIBC_2.2.5
GLIBC_2.28
Build from buster-slim
strings ~/Downloads/node.abi108.node | grep GLIBC | awk -F@ '{ print $2 $3 }' | sort | uniq
GLIBCXX_3.4
GLIBC_2.2.5
GLIBC_2.28
Build from stretch
strings node.abi108.node | grep GLIBC | awk -F@ '{ print $2 $3 }' | sort | uniq
GLIBCXX_3.4
GLIBC_2.2.5
PS Everything was very cranky as the OS Release is no longer supported
Now just need to split up the build process for NodeJS <= 18 and NodeJS > 18
@rdeutsch3 and others - If you have some free time and brave, could you test Homebridge-config-ui-x@v4.52.0-beta.49 ? I believe I have resolved the GLIBC_2.28 issue.
This version includes native modules when running NodeJS <= 18 that don't look for GLIBC_2.28
PS Getting this assembled as a package took longer than expected as I needed to redo the build process, and create a separate build environment targeting older releases.
@NorthernMan54 successfully installed the version v4.52.0-beta.49 on Raspbian GNU/Linux Buster (10) with node v18.18.2 via ui. with version v4.51.0 I had the issue with GLIBCXX_3.4.26/node 20 so node 20 isn't required anymore for homebridge-config-ui-x (for now) ?
Homebridge-config-ui-x supports Node 18 and 20, so your okay for now. But at some point you will need an operating system update to a more recent version to support Node 20, when Node 18 goes out of support ( Spring 2025 ). Hopefully synology supplies this.
Perfect - I currently in-upgrading to bullseye in the meantime (with updating node to v20), homebridge is working fine, some plugins need attention (eg. camera ffmpeg does not stream anymore, but this is another story) ;)
@NorthernMan54 I will be able to try it on my DSM on Sunday evening or Monday am
@rdeutsch3 - If we get a couple of positive results, we may release before then. Stay tuned.
Success with Homebridge UI v4.52.1 on Synology DSM (node 18). Thank you!
@NorthernMan54 - Confirmed success on update from v4.50.4 to 4.52.1, with no changes to the native DSM homebridge installation.
Feels like Docker is in my future as it looks like my 415+ DSM is no longer supported with the latest versions of their OS, even though I fixed the resistor and updated the memory ages ago and its still working great. :(
@rdeutsch3 thank you confirming.
Thank you for your tests of the various versions. Your plans to switch to docker or something else in the future is a great thought. The build server to create the native modules for these older versions is also long past support as well, so with the next major update, likely 12 to 18 months out, we won’t be able to build these anymore.
Am thinking we need to highlight this future end of support for older OS’s.
I’m going to leave this open for a few weeks, in case anyone else has issues.
I used to run Homebridge on a Pi then Synology Docker (DSM 6 & 7) all without issue. With Synology DSM 7 it seemed the "native install" was the way to go so I switched... looks like I may be switching back to Docker as well... appreciate the updates and roadmap.
Success with Homebridge UI v4.52.1 on Synology DSM (node 18). Thank you!
Great but how to make this update without access to the UI?
Success with Homebridge UI v4.52.1 on Synology DSM (node 18). Thank you!
Great but how to make this update without access to the UI?
I found you can go to the package manager on Synology and stop and then uninstall homebridge and then reinstall the homebridge package and everything works with the default installed version of the config ui plug-in. Then you can update the config ui plug in to a newer version that addresses the issue.
Success with Homebridge UI v4.52.1 on Synology DSM (node 18). Thank you!
Great but how to make this update without access to the UI?
I found you can go to the package manager on Synology and stop and then uninstall homebridge and then reinstall the homebridge package and everything works with the default installed version of the config ui plug-in. Then you can update the config ui plug in to a newer version that addresses the issue.
I tried to do so many times during the past weeks, and tried again few minutes ago and it doesn't work for me. Thank you to take time to answer, probably it will work for other users
Success with Homebridge UI v4.52.1 on Synology DSM (node 18). Thank you!
Great but how to make this update without access to the UI?
I found you can go to the package manager on Synology and stop and then uninstall homebridge and then reinstall the homebridge package and everything works with the default installed version of the config ui plug-in. Then you can update the config ui plug in to a newer version that addresses the issue.
I tried to do so many times during the past weeks, and tried again few minutes ago and it doesn't work for me. Thank you to take time to answer, probably it will work for other users
Bummer. There is one more approach that will definitely work, but it is a bit more dramatic. If you have a backup of when it was working there is very little drama, if you don’t then it means re-installing the plug-ins and re-adding to HK.
Go to the Package Manager on the Synology, then stop the service within the package page and uninstall it. Then delete the entire /homebridge folder and re-installs the homebridge package. This makes it like a fresh installation.
Then choose your path: A) The clean slate approach - Update the config up plug in to one that works and then reinstall the other plug-ins and configure HK. I actually favor this one, as a software engineer this allowed me to isolate it down to just the config plug in being problematic. B) Restore the homebridge backup. This will automatically download the plug-ins and they’ll show back up in HK like they were before and any previous automations will work, etc. Then update the config-ui plug-in to a known working version.
I’ve actually done both as a consequence of this issue, several times as a matter of fact. I then transplanted homebridge onto an old Raspberry Pi 3+ with the restoration.
Then choose your path: A) The clean slate approach - Update the config up plug in to one that works and then reinstall the other plug-ins and configure HK. I actually favor this one, as a software engineer this allowed me to isolate it down to just the config plug in being problematic.
Can you elaborate a bit on how I can "Update the config up plug in to one that works"? I can't find any reference to the UI plugin version in any of the configuration files. Is it an SSH command?
You are correct the config UI is not in the config like the rest of the plug ins.
If you uninstall the homebridge package on the Synology, and then re-install it leaving the current config in place everything will work. Then in the homebridge plug-in install section there will be a dropdown for what version to install and you can pick a version that works. This issue was addressed a while back, so jumping forward to at least 4.52.1 was key. The latest/current version 4.54.1 works.
You are correct the config UI is not in the config like the rest of the plug ins.
If you uninstall the homebridge package on the Synology, and then re-install it leaving the current config in place everything will work. Then in the homebridge plug-in install section there will be a dropdown for what version to install and you can pick a version that works. This issue was addressed a while back, so jumping forward to at least 4.52.1 was key. The latest/current version 4.54.1 works.
Ah.. I see what you mean now but I'm having the same problem as RegisCorbet i.e. I get this problem from a fresh install i.e. after a fresh install the UI plugin does not work for me...
I'm running...
DSM = DSM 7.1.1 Node = v18.15.0 DS216j
...and just following the install instructions from https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Synology-DSM.
You are correct the config UI is not in the config like the rest of the plug ins. If you uninstall the homebridge package on the Synology, and then re-install it leaving the current config in place everything will work. Then in the homebridge plug-in install section there will be a dropdown for what version to install and you can pick a version that works. This issue was addressed a while back, so jumping forward to at least 4.52.1 was key. The latest/current version 4.54.1 works.
Ah.. I see what you mean now but I'm having the same problem as RegisCorbet i.e. I get this problem from a fresh install i.e. after a fresh install the UI plugin does not work for me...
I'm running...
DSM = DSM 7.1.1 Node = v18.15.0 DS216j
...and just following the install instructions from https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Synology-DSM.
For the sake of clarity and curiosity I just stopped and uninstalled homebridge on my Synology 415+ via the package manager. I then reinstalled homebridge from package version 3.0.20, which I think was made available in early Dec. That version has homebridge-config-ui-x v4.52.3 in that package and runs fine on my system.
My DSM is running: 7.1.1-42962 Update 5 The Node.js package v18 is installed, as well as homebridge 3.0.20 package
Without updating any plug-ins or anything, Homebridge reports: Node.js v18.15 Homebridge v1.7.0 homebridge-config-ui-x v4.52.3 npm v 10.1.0
If you've got the same packages as me and it doesn't work, I might suggest the 'clean slate' approach. What I would suggest is copying your entire homebridge folder on the DSM to a back up location, then deleting it from the original location and uninstalling and reinstalling the packages and see what you come up with a clean load. You could then install the latest config ui and see if it works. Again the latest/current version 4.54.1 works for me.
If you've got a backup, e.g. from the homebridge/backups/instance-backups folder from your original install when it was working, you should be able to restore it and get your HK environment back like it was.
For the sake of clarity and curiosity I just stopped and uninstalled homebridge on my Synology 415+ via the package manager. I then reinstalled homebridge from package version 3.0.20, which I think was made available in early Dec. That version has homebridge-config-ui-x v4.52.3 in that package and runs fine on my system.
My DSM is running: 7.1.1-42962 Update 5 The Node.js package v18 is installed, as well as homebridge 3.0.20 package
Without updating any plug-ins or anything, Homebridge reports: Node.js v18.15 Homebridge v1.7.0 homebridge-config-ui-x v4.52.3 npm v 10.1.0
If you've got the same packages as me and it doesn't work, I might suggest the 'clean slate' approach. What I would suggest is copying your entire homebridge folder on the DSM to a back up location, then deleting it from the original location and uninstalling and reinstalling the packages and see what you come up with a clean load. You could then install the latest config ui and see if it works. Again the latest/current version 4.54.1 works for me.
If you've got a backup, e.g. from the homebridge/backups/instance-backups folder from your original install when it was working, you should be able to restore it and get your HK environment back like it was.
I've tried the "clean slate" approach a few times and it still doesn't work. This is the first time I've tried to install Homebridge so I don't have a backup of a working setup.
My setup is pretty much the same as yours. I have a slightly newer DSM (DSM 7.1.1-42962 Update 6) and a slightly older NPM (9.5.0) but otherwise everything looks the same (i.e. 3.0.20 (v1.7.0)).
Thanks for your help but I'm going to find another device to run it on I think.
This may be a solution for some users - https://github.com/homebridge/homebridge-syno-spk/issues/134#issuecomment-1833953261
Describe The Bug
I updated homebridge-config-ui-x to v4.51.0. The download seemed to be fine, but then the server had a hard time restarting and then it became inaccessible and the one plugin XFinityHome was running became unresponsive. I then completely uninstalled homebridge, wiped out all the folders and did a clean install of homebridge and then updated homebridge-config-ui-x to v4.51.0. There are no other plugins running now, and the homebridge-config-ui-x is broken.
I have the Node.js v18 package installed and the prior version of the UI (v4.50.4) was working fine before the update.
Logs
Config
Homebridge UI Version
v4.51.0
Homebridge Version
3.0.17
Node.js Version
v18.15.0
Operating System
Synology DSM
Environment Info
Raspberry Pi Model
None