Currently RPi is the only device that have these installation options available.
Request: http://dietpi.com/phpbb/viewtopic.php?f=12&t=440&p=1917#p1915
My notes: http://dietpi.com/phpbb/viewtopic.php?f=12&t=440&p=1917#p1917
Worth a shot:
wget https://github.com/Logitech/slimserver/archive/public/7.9.zip -O package.zip
unzip package.zip
rm package.zip
cp -R slimserver-public-7.9/CPAN/* /usr/share/perl/5.20.2/CPAN/
Cant seem to find the perl modules in repo either: https://packages.debian.org/stable/perl/
I am also very interested in this and I have made a comment in that thread. I have made a small donation.
I recall reading something about not being able to use Perl 5.22 on the Odroid C2.
LMS will not run due to "missing or failed" loading of Perl modules.
root@DietPi:~# squeezeboxserver
The following modules failed to load: DBI EV XML::Parser::Expat HTML::Parser JSON::XS Digest::SHA1 YAML::XS Sub::Name
apt-get install missing perl modules, using this package list: https://packages.debian.org/jessie/perl/
:u6307: XML::Parser::Expat
apt-get install -y libxml-parser-perl
:u55b6: HTML::Parser | Already installed, no effect
apt-get install -y libhtml-parser-perl
:u55b6: DBI | installs, no effect
apt-get install -y libdbi-perl
:u6307: JSON::XS
apt-get install -y libjson-xs-perl
:u55b6: Sub::Name | Installs, no effect
apt-get install -y libsub-name-perl
:u55b6: YAML::XS | Installs, no effect
apt-get install -y libyaml-libyaml-perl
:u55b6: Digest::SHA1 | Installs, no effect
apt-get install -y libdigest-sha-perl
:u55b6: EV | Installs, no effect
apt-get install -y libev-perl
Leaves us with:
root@DietPi:~# squeezeboxserver
The following modules failed to load: DBI EV HTML::Parser Digest::SHA1 YAML::XS Sub::Name
Did a bit of "hack and slash":
#Install perl modules that work from repo
apt-get install -y libxml-parser-perl libjson-xs-perl
# - DBI
apt-get install -y libdbi-perl
cp /usr/lib/aarch64-linux-gnu/perl5/5.20/DBI.pm /usr/share/perl5/Slim/Schema/DBI.pm
cp /usr/lib/aarch64-linux-gnu/perl5/5.20/DBI.pm /usr/share/squeezeboxserver/CPAN/DBI.pm
# - HTML::Parser
apt-get install -y libhtml-parser-perl
cp -R /usr/lib/aarch64-linux-gnu/perl5/5.20/HTML/* /usr/share/squeezeboxserver/CPAN/HTML/
# - EV
apt-get install -y libev-perl
cp /usr/lib/aarch64-linux-gnu/perl5/5.20/EV.pm /usr/share/squeezeboxserver/CPAN/EV.pm
# - Sub::Name
apt-get install -y libsub-name-perl
cp /usr/lib/aarch64-linux-gnu/perl5/5.20/Sub/Name.pm /usr/share/squeezeboxserver/CPAN/Sub/Name.pm
# - JSON::XS
apt-get install -y libjson-xs-perl
cp /usr/lib/aarch64-linux-gnu/perl5/5.20/JSON/XS.pm /usr/share/squeezeboxserver/CPAN/YAML/XS.pm
# - YAML::XS
apt-get install -y libyaml-libyaml-perl
cp -R /usr/lib/aarch64-linux-gnu/perl5/5.20/YAML/* /usr/share/squeezeboxserver/CPAN/YAML/
# - Digest::SHA1
apt-get install -y libdigest-sha-perl
cp /usr/lib/aarch64-linux-gnu/perl5/5.20/Digest/SHA.pm /usr/share/squeezeboxserver/CPAN/Digest/SHA1.pm
cp -R /usr/lib/aarch64-linux-gnu/perl5/5.20/Digest/* /usr/share/squeezeboxserver/CPAN/Digest/
find /usr/share -type d -name Digest
# root@DietPi:~# squeezeboxserver
# The following CPAN modules were found but cannot work with Logitech Media Server:
# Audio::Scan (loaded <not found>, need 0.93)
# Image::Scale (loaded but missing object file, need 0.08)
# To fix this problem you have several options:
# 1. Install the latest version of the module(s) using CPAN: sudo cpan Some::Module
# 2. Update the module's package using apt-get, yum, etc.
# 3. Run the .tar.gz version of Logitech Media Server which includes all required CPAN modules.
# - Audio::Scan
apt-get install -y libaudio-scan-perl
# - Image::Scale
#libimage-size-perl
apt-get install -y cpanminus
cpan Image::Scale
# Image::Scale requires at least one of libjpeg or libpng, please install one or both and try again.
# -> N/A
# -> FAIL Configure failed for Image-Scale-0.12.
apt-get install libjpeg-dev libpng-dev
cpan Image::Scale
cp /root/.cpanm/work/1471704886.9410/Image-Scale-0.12/lib/Image/Scale.pm /usr/share/squeezeboxserver/CPAN/Image/Scale.pm
apt-get install -y build-essential
cpanm Image::[email protected]
cp /usr/local/lib/aarch64-linux-gnu/perl/5.20.2/Image/Scale.pm /usr/share/squeezeboxserver/CPAN/Image/Scale.pm
# root@DietPi:~# squeezeboxserver
# dirsFor: Didn't find a match request: [scprefs]
# Can't locate loadable object for module DBD::SQLite in @INC (@INC contains: /usr/share/squeezeboxserver/CPAN/arch/5.20/aarch64-linux-thread-multi /usr/share/squeezeboxserver/CPAN/arch/5.20/aarch64-linux-thread-multi/auto /usr/share/squeezeboxserver/CPAN/arch/5.20.2/aarch64-linux-gnu-thread-multi /usr/share/squeezeboxserver/CPAN/arch/5.20.2/aarch64-linux-gnu-thread-multi/auto /usr/share/squeezeboxserver/CPAN/arch/5.20/aarch64-linux-gnu-thread-multi /usr/share/squeezeboxserver/CPAN/arch/5.20/aarch64-linux-gnu-thread-multi/auto /usr/share/squeezeboxserver/CPAN/arch/aarch64-linux-gnu-thread-multi /usr/share/squeezeboxserver/CPAN/arch/5.20 /usr/share/squeezeboxserver/lib /usr/share/squeezeboxserver/CPAN /usr/share/squeezeboxserver /usr/share/squeezeboxserver/CPAN /usr/share/squeezeboxserver /usr/sbin /etc/perl /usr/local/lib/aarch64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/aarch64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/aarch64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .) at /usr/share/perl5/Slim/Utils/DbCache.pm line 10.
# Compilation failed in require at /usr/share/perl5/Slim/Utils/DbCache.pm line 10.
# BEGIN failed--compilation aborted at /usr/share/perl5/Slim/Utils/DbCache.pm line 10.
# Compilation failed in require at /usr/share/perl5/Slim/Utils/Cache.pm line 49.
# BEGIN failed--compilation aborted at /usr/share/perl5/Slim/Utils/Cache.pm line 49.
# Compilation failed in require at /usr/share/perl5/Slim/Music/Info.pm line 33.
# BEGIN failed--compilation aborted at /usr/share/perl5/Slim/Music/Info.pm line 33.
# Compilation failed in require at /usr/share/perl5/Slim/Utils/Misc.pm line 49.
# Compilation failed in require at /usr/sbin/squeezeboxserver line 225.
# BEGIN failed--compilation aborted at /usr/sbin/squeezeboxserver line 225.
cpanm DBD::SQLite
cp -R /usr/local/lib/aarch64-linux-gnu/perl/5.20.2/DBD /usr/share/squeezeboxserver/CPAN/
# root@DietPi:~# squeezeboxserver
# NOTE: Class::XSAccessor 1.05+ not found, install it for better performance
# [16-08-20 11:11:02.2606] main::init (383) Starting Logitech Media Server (v7.9.0, 1451894331, Mon Jan 4 08:08:41 UTC 2016) perl 5.020002
# [16-08-20 11:11:02.2717] main::changeEffectiveUserAndGroup (1014) Warning: Logitech Media Server must not be run as root! Trying user squeezeboxserver instead.
# [16-08-20 11:11:02.6105] Slim::Music::TitleFormatter::init (42) Warning: Base class package "Slim::Schema::DBI" is empty.
# (Perhaps you need to 'use' the module which defines that package first,
# or make that module available in @INC (@INC contains: /var/lib/squeezeboxserver/cache/InstalledPlugins /usr/share/squeezeboxserver/CPAN/arch/5.20/aarch64-linux-thread-multi /usr/share/squeezeboxserver/CPAN/arch/5.20/aarch64-linux-thread-multi/auto /usr/share/squeezeboxserver/CPAN/arch/5.20.2/aarch64-linux-gnu-thread-multi /usr/share/squeezeboxserver/CPAN/arch/5.20.2/aarch64-linux-gnu-thread-multi/auto /usr/share/squeezeboxserver/CPAN/arch/5.20/aarch64-linux-gnu-thread-multi /usr/share/squeezeboxserver/CPAN/arch/5.20/aarch64-linux-gnu-thread-multi/auto /usr/share/squeezeboxserver/CPAN/arch/aarch64-linux-gnu-thread-multi /usr/share/squeezeboxserver/CPAN/arch/5.20 /usr/share/squeezeboxserver/lib /usr/share/squeezeboxserver/CPAN /usr/share/squeezeboxserver /usr/share/squeezeboxserver/CPAN /usr/share/squeezeboxserver /usr/sbin /etc/perl /usr/local/lib/aarch64-linux-gnu/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/aarch64-linux-gnu/perl5/5.20 /usr/share/perl5 /usr/lib/aarch64-linux-gnu/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .).
# at /usr/share/perl5/Slim/Schema/Track.pm line 6.
# BEGIN failed--compilation aborted at /usr/share/perl5/Slim/Schema/Track.pm line 6.
# Compilation failed in require at /usr/share/perl5/Slim/Music/TitleFormatter.pm line 42.
# [16-08-20 11:11:02.6154] Slim::Utils::Prefs::Namespace::savenow (338) Error: can't save /var/lib/squeezeboxserver/prefs/plugin/state.prefs: Permission denied at /usr/share/perl5/Slim/Utils/Prefs/Namespace.pm line 327.
cpanm Slim::Schema::DBI
# root@DietPi:~# cpanm Slim::Schema::DBI
# ! Finding Slim::Schema::DBI on cpanmetadb failed.
# ! Finding Slim::Schema::DBI () on mirror http://www.cpan.org failed.
# ! Couldn't find module or a distribution Slim::Schema::DBI
Following instructions from binary:
If you're running some unsupported Linux/Unix platform, please use the buildme.sh
script located here:
https://github.com/Logitech/slimserver-vendor/tree/public/7.9/CPAN
Same issues as per: https://github.com/Logitech/slimserver-vendor/issues/9. Even with the updated config.x files. Fails to build.
wget "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD" -O /root/slimserver-vendor/CPAN/icu/source/config.guess
wget "http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD" -O /root/slimserver-vendor/CPAN/icu/source/config.sub
Build CPAN modules:
apt-get install -y cpanminus build-essential yasm nasm
cpanm DBI EV XML::Parser::Expat HTML::Parser JSON::XS Digest::SHA1 YAML::XS Sub::Name
24 distributions installed
root@DietPi:~# squeezeboxserver
The following modules failed to load: DBI EV XML::Parser::Expat HTML::Parser JSON::XS Sub::Name
nts, check paths
Finally getting somewhere:

Current issues:
[16-08-22 13:02:04.3764] Slim::Utils::Misc::msg (1233) Warning: [13:02:04.3758] Can't locate auto/IO/Interface/autosplit.ix: ./auto/IO/Interface/autosplit.ix: Permission denied at /usr/share/perl/5.20/AutoLoader.pm line 181.
at /usr/share/squeezeboxserver/CPAN/IO/Interface.pm line 12.
JSON::XS object version 3.02 does not match bootstrap parameter 2.34 at /usr/lib/aarch64-linux-gnu/perl/5.20/DynaLoader.pm line 210.
Compilation failed in require at /usr/share/squeezeboxserver/CPAN/JSON/XS/VersionOneAndTwo.pm line 5.
BEGIN failed--compilation aborted at /usr/share/squeezeboxserver/CPAN/JSON/XS/VersionOneAndTwo.pm line 5.
Compilation failed in require at /usr/share/perl5/Slim/Utils/Prefs/Base.pm line 23.
BEGIN failed--compilation aborted at /usr/share/perl5/Slim/Utils/Prefs/Base.pm line 23.
Compilation failed in require at /usr/share/perl/5.20/base.pm line 100.
...propagated at /usr/share/perl/5.20/base.pm line 110.
BEGIN failed--compilation aborted at /usr/share/perl5/Slim/Utils/Prefs/Namespace.pm line 23.
Compilation failed in require at /usr/share/perl5/Slim/Utils/Prefs.pm line 79.
BEGIN failed--compilation aborted at /usr/share/perl5/Slim/Utils/Prefs.pm line 79.
Compilation failed in require at /usr/sbin/squeezeboxserver-scanner line 77.
BEGIN failed--compilation aborted at /usr/sbin/squeezeboxserver-scanner line 77.
JSON::XS object version 3.02 does not match bootstrap parameter 2.34 at /usr/lib/aarch64-linux-gnu/perl/5.20/DynaLoader.pm line 210.
Compilation failed in require at /usr/share/squeezeboxserver/CPAN/JSON/XS/VersionOneAndTwo.pm line 5.
BEGIN failed--compilation aborted at /usr/share/squeezeboxserver/CPAN/JSON/XS/VersionOneAndTwo.pm line 5.
Compilation failed in require at /usr/share/perl5/Slim/Utils/Prefs/Base.pm line 23.
BEGIN failed--compilation aborted at /usr/share/perl5/Slim/Utils/Prefs/Base.pm line 23.
Compilation failed in require at /usr/share/perl/5.20/base.pm line 100.
...propagated at /usr/share/perl/5.20/base.pm line 110.
BEGIN failed--compilation aborted at /usr/share/perl5/Slim/Utils/Prefs/Namespace.pm line 23.
Compilation failed in require at /usr/share/perl5/Slim/Utils/Prefs.pm line 79.
BEGIN failed--compilation aborted at /usr/share/perl5/Slim/Utils/Prefs.pm line 79.
Compilation failed in require at /usr/sbin/squeezeboxserver-scanner line 77.
BEGIN failed--compilation aborted at /usr/sbin/squeezeboxserver-scanner line 77.
@Gabba35
Looking good, should make v130 release:

Thanks a lot Fourdee! Looks like you've cracked it! Seems like it wasn't too straight forward. What were the main issues (in fairly lay language!)?
@Gabba35
C2 LMS+Squeezelite working perfectly. Will be available in DietPi v130.
What were the main issues
LMS uses Perl CPAN modules. As far as I can tell, LMS do not bundle the ARM64 binaries for these in their 7.9 deb package. Notice the ARM-hf (ARM32), i386 (32bit PC), x86_64 (64bit PC) but no ARM64.

So basically I needed to get those ARM64 binaries made.
LMS have a build script that should do this automatically (https://github.com/Logitech/slimserver-vendor/blob/public/7.9/CPAN/buildme.sh), however, it fails for ARM64: https://github.com/Fourdee/DietPi/issues/354#issuecomment-241210059
So, I ran squeezeboxserver and followed the errors to manually build each Perl CPAN module. Took a few days on and off (LMS likes specific versions of the CPAN modules). I've zipped up the binaries and hosted on DietPi. So when users install LMS through DietPi in v130, no cpan complies are needed.
Note to self:
Test Pine A64
Edit:
Working fine
Completed. LMS+Squeezelite Available in v130 for ARM64 devices.
Awesome, thanks for the explanation. Putting it all together would have been way beyond what I am capable of. Thanks so much for getting it working!
@Gabba35
We still have a bit to do on v130 before its released: https://github.com/Fourdee/DietPi/milestone/31
In the mean time, you can do a install of LMS by using the testing branch: https://github.com/Fourdee/DietPi/blob/master/TESTING-BRANCH.md#steps-to-use-the-dietpi-testing-branch
I'd recommend using a different SDcard if you use the testing branch.
Most helpful comment
I am also very interested in this and I have made a comment in that thread. I have made a small donation.
I recall reading something about not being able to use Perl 5.22 on the Odroid C2.