Logitech Media Server en Ubuntu 22.04

Mi preciado servidor Logitech Media Server (LMS), tambi茅n conocido como Slimserver, deja de funcionar al actualizar a Ubuntu 22.04. As铆, sin m谩s... Afortunadamente, hay soluci贸n.

Pues eso, una entrada r谩pida para dejar registro del calvario que supone, en ocasiones, actualizar a una versi贸n nueva y radiante de Ubuntu. El asunto: un servidor con LMS deja de funcionar al actualizar a Ubuntu 22.04, as铆, sin m谩s.

Alg煤n d铆a dar茅 cuenta de c贸mo es eso de instalar un sistema de audio distribuido por toda la casa con software libre y hardware casero. Algo a la altura de los car铆simos sistemas propietarios de varias marcas de prestigio pero al alcance de cualquier bolsillo modesto. Una aut茅ntica gozada. Y pr谩cticamente gratis. Envidia, 驴驴eh??

Pero ahora vamos al l铆o. Lo primero es recabar un poco de informaci贸n.

1.- Lo primero, ojear el estado del servicio logitechmediaserver. Al parecer no se est谩 ejecutando y cada vez que lo arranco muere inmediatamente:

$sudo systemctl status logitechmediaserver
鈼 logitechmediaserver.service - Logitech Media Server
     Loaded: loaded (/lib/systemd/system/logitechmediaserver.service; enabled; vendor preset: enabled)
     Active: inactive (dead) since Wed 2022-05-11 00:47:56 CEST; 1s ago
    Process: 113300 ExecStart=/usr/sbin/squeezeboxserver --prefsdir $PREFSDIR --logdir $LOGDIR --cachedir $CACHEDIR --charset $CHARS>
   Main PID: 113300 (code=exited, status=0/SUCCESS)
        CPU: 450ms

May 11 00:47:56 blackstone squeezeboxserver[113300]: If you're running some unsupported Linux/Unix platform, please use the buildme.>
May 11 00:47:56 blackstone squeezeboxserver[113300]: script located here:
May 11 00:47:56 blackstone squeezeboxserver[113300]: https://github.com/Logitech/slimserver-vendor/tree/public/8.2/CPAN
May 11 00:47:56 blackstone squeezeboxserver[113300]: If 8.2 is outdated by the time you read this, Replace "8.2" with the major vers>
May 11 00:47:56 blackstone squeezeboxserver[113300]: You should never need to do this if you're on Windows or Mac OSX. If the instal>
May 11 00:47:56 blackstone squeezeboxserver[113300]: don't work for you, ask for help and/or report a bug.
May 11 00:47:56 blackstone squeezeboxserver[113300]: *******
May 11 00:47:56 blackstone squeezeboxserver[113300]:                         
May 11 00:47:56 blackstone squeezeboxserver[113300]: Exiting..
May 11 00:47:56 blackstone systemd[1]: logitechmediaserver.service: Deactivated successfully.

2.- Para tener una idea de por qu茅 se aborta puedo correr el servidor directamente desde el ejecutable:

$squeezeboxserver
The following modules failed to load: DBI EV XML::Parser::Expat HTML::Parser JSON::XS Digest::SHA1 YAML::XS Sub::Name

Lo que ya me est谩 indicando un problema con la carga de los m贸dulos de Perl el cual, por cierto, est谩 instalado en su 煤ltima versi贸n.

3.- Veamos un poco m谩s informaci贸n sobre la versi贸n de Perl actualmente instalada:

$perl -v

This is perl 5, version 34, subversion 0 (v5.34.0) built for x86_64-linux-gnu-thread-multi
(with 50 registered patches, see perl -V for more detail)

Copyright 1987-2021, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

Es decir, que tenemos la versi贸n v5.34. 驴Y por qu茅 no cargan los m贸dulos? Pues vaya usted a saber. O mejor a煤n, b煤squelo usted en DuckDuckGo (je, je…)

La primera idea es que la actualizaci贸n a Ubuntu 22.04 haya implicado un cambio a una versi贸n m谩s reciente de Perl (no comprobado) y que cuando LMS se ejecuta busca los m贸dulos correspondientes a esta versi贸n. Pero como LMS se instal贸 con una versi贸n de Perl anterior, dichos m贸dulos, simplemente, no est谩n. As铆 que lo l贸gico parece reinstalar LMS (y, de paso, instalar la 煤ltima versi贸n). Sin embargo, esto no parece funcionar…

As铆 que me fijo en los mensajes de la primera salida, que hab铆a pasado por alto, y veo que los muchachos de Logitech en realidad ya me han dejado una pista que seguir, aunque de una manera un pel铆n cr铆ptica. Ubuntu NO es, o al menos hasta la fecha no lo era, una plataforma no soportada para su Media Server (Por eso la primera vez ni segu铆 leyendo) Pero, como lo cierto es que no est谩 funcionando, empec茅 a pensar que, de hecho, ahora S脥 que lo es. De modo que me puse a seguir el rastro de migas.

El enlace lleva a un repositorio de github con un software que hay que compilar para parchear la instalaci贸n del servidor. Tambi茅n hay un archivo de ayuda (README.md) con unas austeras indicaciones de qu茅 hacer con este software. As铆 que clon茅 el repositorio, lo compil茅 con el script proporcionado (buildme.sh) y realic茅 la copia de las dos carpetas generadas a la ruta donde squeezeboxserver est谩 instalado, tal como indican las instrucciones. Por cierto, que me cost贸 un poco encontrar la dichosa ruta, as铆 que la dejo anotada aqu铆:

$cd /usr/share/squeezeboxserver/CPAN/arch/

Curioseando en esta carpeta compruebo, para mi sorpresa, que hay compilaciones instaladas autom谩ticamente con cada una de las versiones anteriores, pero ninguna para la actual versi贸n de Perl, la 5.34. Es decir, que cada instalador ha generado su carpeta con sus m贸dulos salvo la 煤ltima 驴Y eso por qu茅? Efectivamente, algo aqu铆 no est谩 funcionando bien. Y, efectivamente, una vez compilado el software y copiado a la ruta en cuesti贸n, mi querido Logitech Media Server vuelve a funcionar. Eso s铆, queda sin explicar por qu茅 ya no se incluyen autom谩ticamente estos m贸dulos durante la instalaci贸n, si es que los de Logitech han decidido dejar de dar soporte a Ubuntu, si tiene que ver con la versi贸n de Perl o qu茅, por lo que no sabemos qu茅 pasar谩 cando haya nuevas actualizaciones. Como siempre, cruzaremos ese puente cuando lleguemos a 茅l. Y si eso… ya lo comentaremos.

Deja una respuesta