Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

spotifyd does not start as needs glibc 2.32 or newer, distro version is 2.31-13 #6419

Closed
ghost opened this issue Jun 6, 2023 · 11 comments · Fixed by #6420
Closed

spotifyd does not start as needs glibc 2.32 or newer, distro version is 2.31-13 #6419

ghost opened this issue Jun 6, 2023 · 11 comments · Fixed by #6420

Comments

@ghost
Copy link

ghost commented Jun 6, 2023

Creating a bug report/issue

Required Information

  • DietPi version | 8.18.2
  • Distro version | Native PC x64
  • Kernel version | 5.10.0-23-amd64
  • SBC model | Native PC
@MichaIng
Copy link
Owner

MichaIng commented Jun 6, 2023

Many thanks for your report. You are right, the current binaries are compiled with too high glibc version requirement:

root@VM-Bullseye:~# journalctl -u spotifyd
-- Journal begins at Tue 2023-06-06 21:25:23 CEST, ends at Tue 2023-06-06 21:26:40 CEST. --
Jun 06 21:26:40 VM-Bullseye systemd[1]: Started Spotifyd (DietPi).
Jun 06 21:26:40 VM-Bullseye spotifyd[1501]: /opt/spotifyd/spotifyd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /opt/spotifyd/spotifyd)
Jun 06 21:26:40 VM-Bullseye spotifyd[1501]: /opt/spotifyd/spotifyd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /opt/spotifyd/spotifyd)
Jun 06 21:26:40 VM-Bullseye spotifyd[1501]: /opt/spotifyd/spotifyd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /opt/spotifyd/spotifyd)
Jun 06 21:26:40 VM-Bullseye systemd[1]: spotifyd.service: Main process exited, code=exited, status=1/FAILURE
Jun 06 21:26:40 VM-Bullseye systemd[1]: spotifyd.service: Failed with result 'exit-code'.

We take them from here: https://github.com/Spotifyd/spotifyd/releases
Same with the "default" and "slim" variants (we use the "full" one).

@MichaIng MichaIng added Upstream change and removed External bug 🐞 For bugs which are not caused by DietPi. Waiting for external fix ⏳ labels Jun 6, 2023
@Joulinar
Copy link
Collaborator

Joulinar commented Jun 6, 2023

This one sounds similar Spotifyd/spotifyd#1147

@MichaIng
Copy link
Owner

MichaIng commented Jun 6, 2023

Okay, it was actually intended, true for last release already: Spotifyd/spotifyd#1147
Last working release is v0.3.3: https://github.com/Spotifyd/spotifyd/releases/tag/v0.3.3
Try this:

cd /tmp
curl -LO 'https://github.com/Spotifyd/spotifyd/releases/download/v0.3.3/spotifyd-linux-full.tar.gz'
tar xf spotifyd-linux-full.tar.gz
rm spotifyd-linux-full.tar.gz
mv spotifyd /opt/spotifyd/spotifyd
systemctl restart spotifyd

@Joulinar
Copy link
Collaborator

Joulinar commented Jun 6, 2023

ok we would need to set 0.3.3 for Buster and Bullseye, right?

@ghost
Copy link
Author

ghost commented Jun 6, 2023

Okay, it was actually intended, true for last release already: Spotifyd/spotifyd#1147 Last working release is v0.3.3: https://github.com/Spotifyd/spotifyd/releases/tag/v0.3.3 Try this:

cd /tmp
curl -LO 'https://github.com/Spotifyd/spotifyd/releases/download/v0.3.3/spotifyd-linux-full.tar.gz'
tar xf spotifyd-linux-full.tar.gz
rm spotifyd-linux-full.tar.gz
mv spotifyd /opt/spotifyd/spotifyd
systemctl restart spotifyd

Thank you very much for such a lightning fast reply and fix. I have now:

root@J4105:/tmp# systemctl status spotifyd
● spotifyd.service - Spotifyd (DietPi)
     Loaded: loaded (/etc/systemd/system/spotifyd.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2023-06-06 20:36:46 BST; 11s ago
   Main PID: 6255 (spotifyd)
      Tasks: 6 (limit: 9062)
     Memory: 2.3M
        CPU: 32ms
     CGroup: /system.slice/spotifyd.service
             └─6255 /opt/spotifyd/spotifyd --no-daemon --config-path=/mnt/dietpi_userdata/spotifyd/spotifyd.conf

@MichaIng MichaIng added the x86_64 label Jun 6, 2023
@MichaIng
Copy link
Owner

MichaIng commented Jun 6, 2023

ok we would need to set 0.3.3 for Buster and Bullseye, right?

Probably even an older version on Buster.

Lol I just tested it on Bookworm, and there it does not work because it depends on libssl1.1 while Bookworm ships libssl3.

At least the current version does work on ARMv7 Bullseye, only the x86 one is compiled with this high glibc requirement.

Pretty inconsistent. Let's get an overview and fix one by one where possible: https://github.com/MichaIng/DietPi/actions/runs/5192682619

@Joulinar
Copy link
Collaborator

Joulinar commented Jun 6, 2023

Pretty inconsistent. Let's get an overview and fix one by one where possible: https://github.com/MichaIng/DietPi/actions/runs/5192682619

it's failing on our container ARMv7 Bullseye. However, it's working in RPi3B+ 32bit

@MichaIng
Copy link
Owner

MichaIng commented Jun 6, 2023

Very strange, the exact same binary on Buster shows that it supports glibc 2.29 as well:

Jun 06 20:44:05 DietPi spotifyd[2108]: /opt/spotifyd/spotifyd: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by /opt/spotifyd/spotifyd)
Jun 06 20:44:05 DietPi spotifyd[2108]: /opt/spotifyd/spotifyd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found (required by /opt/spotifyd/spotifyd)
Jun 06 20:44:05 DietPi spotifyd[2108]: /opt/spotifyd/spotifyd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.29' not found (required by /opt/spotifyd/spotifyd)
Jun 06 20:44:05 DietPi spotifyd[2108]: /opt/spotifyd/spotifyd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.33' not found (required by /opt/spotifyd/spotifyd)
Jun 06 20:44:05 DietPi spotifyd[2108]: /opt/spotifyd/spotifyd: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by /opt/spotifyd/spotifyd)

Buster however ships v2.28. So it does neither support libc6 from Buster, nor from Bullseye but supports one single version between them. Very strange toolchain used have such a glibc support list 😄.

On ARMv7:

Jun 06 20:47:29 DietPi spotifyd[5552]: /opt/spotifyd/spotifyd: error while loading shared libraries: libdbus-1.so.3: cannot open shared object file: No such file or directory

This was needed on x86 only, now on ARMv7 as well. It is a dependency of wpasupplicant, so usually installed, but not in containers.

@Joulinar
Copy link
Collaborator

Joulinar commented Jun 6, 2023

This was needed on x86 only, now on ARMv7 as well. It is a dependency of wpasupplicant, so usually installed, but not in containers.

Yes, it is for container only as spotifyd is working fine on my 32bit RPI

MichaIng added a commit that referenced this issue Jun 6, 2023
- DietPi-Software | Spotifyd: Fix installed version and dependencies depending on architecture and Debian version: #6419
@MichaIng
Copy link
Owner

MichaIng commented Jun 6, 2023

Yes, it is for container only

And if one chooses to uninstall WiFi packages when changing/applying network settings.

MichaIng added a commit that referenced this issue Jun 6, 2023
- DietPi-Software | Spotifyd: Fix installed version and dependencies depending on architecture and Debian version: #6419
- DietPi-Software | Spotifyd: Do not remove the binary on reinstall prior to starting the download, as it is replaced anyway. That way on download failures, the previous binary stays in place. Update our default config to expose new config keys
- DietPi-Software | Spotifyd: Disable on Bookworm for x86_64 since "full" binary depends on libssl1.1 while "default" and "slim" support PulseAudio backend only
MichaIng added a commit that referenced this issue Jun 6, 2023
- DietPi-Software | Spotifyd: Fix installed version and dependencies depending on architecture and Debian version: #6419
- DietPi-Software | Spotifyd: Do not remove the binary on reinstall prior to starting the download, as it is replaced anyway. That way on download failures, the previous binary stays in place. Update our default config to expose new config keys
- DietPi-Software | Spotifyd: Disable on Bookworm for x86_64 since "full" binary depends on libssl1.1 while "default" and "slim" support PulseAudio backend only
@MichaIng
Copy link
Owner

MichaIng commented Jun 6, 2023

Solved: https://github.com/MichaIng/DietPi/actions/runs/5193127264
Sadly, it cannot run on x86_64 Bookworm systems due to mentioned libssl1.1 dependency. The "default" and "slim" variants do not depend on it, but they only support PulseAudio as audio backend, not ALSA. Luckily the ARM binaries all do not depend on libssl at all.

When time permits, I'll create a workflow for own packages for all architectures, distros and with (only) the features we need. It is a pity that there are still no aarch64 binaries provided.

@MichaIng MichaIng added the Solution available 🥂 Definite solution has been done label Jun 6, 2023
MichaIng added a commit that referenced this issue Jun 6, 2023
- DietPi-Software | Spotifyd: Fix installed version and dependencies depending on architecture and Debian version: #6419
- DietPi-Software | Spotifyd: Do not remove the binary on reinstall prior to starting the download, as it is replaced anyway. That way on download failures, the previous binary stays in place. Update our default config to expose new config keys
- DietPi-Software | Spotifyd: Disable on Bookworm for x86_64 since "full" binary depends on libssl1.1 while "default" and "slim" support PulseAudio backend only
- CI | DietPi-Software: Fix Unbound UDP port when Pi-hole or AdGuard Home are installed, and add UDP port (zeroconf) for Spotifyd, which is btw mDNS
@MichaIng MichaIng closed this as completed Jul 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants