A number of the perl modules (and their dependencies) bundled with LMS haven't been updated for some time. As I needed to rebuild my LMS installation, I decided to upgrade these to the latest available versions. Since this seems to have worked out pretty well (so far ;-), here are some notes on this topic.
Advantages
Stability, performance and security improvements in the new versions of the perl modules and support libraries
(not tested) may compile on architectures not yet supported by official version
Disadvantages
May introduce new bugs (interaction between new modules and LMS, unexpected side effects etc.)
Other notes
Only rudimentarily tested on Linux x64 / perl 5.24 (i.e. has been running for a couple of days without any obvious errors)
Older perl versions (<5.22) most likely won't work
Not all libraries have been updated (notably ffmpeg, which is only used for videos)
Can be easily combined with Opus support
Instructions
Make sure your build environment is set up (gcc, nasm, -dev packages for Debian/Ubuntu etc.)
Create a folder somewhere
Unzip the attachment into it
Download all required sources. There is a file included (CPANsources.txt) containing the URLs, so simply do
Execute the build script
(Note: if you want to use a non-standard perl, you can tell buildme.sh like this:
)
Check build.log for errors.
If the build was successful, you'll find the perl modules in
e.g. for perl 5.24 on Linux 64bit:
copy the build/arch directory to your LMS installation's CPAN folder
e.g. if your LMS is in opt/logitechmediaserver-7.8-0-noCPAN, the full final path will be
Finally, edit your modules.conf
Advantages
Stability, performance and security improvements in the new versions of the perl modules and support libraries
(not tested) may compile on architectures not yet supported by official version
Disadvantages
May introduce new bugs (interaction between new modules and LMS, unexpected side effects etc.)
Other notes
Only rudimentarily tested on Linux x64 / perl 5.24 (i.e. has been running for a couple of days without any obvious errors)
Older perl versions (<5.22) most likely won't work
Not all libraries have been updated (notably ffmpeg, which is only used for videos)
Can be easily combined with Opus support
Instructions
Make sure your build environment is set up (gcc, nasm, -dev packages for Debian/Ubuntu etc.)
Create a folder somewhere
Unzip the attachment into it
Download all required sources. There is a file included (CPANsources.txt) containing the URLs, so simply do
Code:
wget -v -nc -i CPANsources.txt
Code:
export PERL_CANARY_STABILITY_NOPROMPT=1
chmod +x buildme.sh
./buildme.sh &> build.log
Code:
PERL_524=/opt/perl-5.24-LMS/bin/perl5.24.0 ../buildme.sh &> build.log
Check build.log for errors.
If the build was successful, you'll find the perl modules in
Code:
./build/arch/<perl version>/<architecture>
Code:
build/arch/5.24/x86_64-linux-thread-multi
e.g. if your LMS is in opt/logitechmediaserver-7.8-0-noCPAN, the full final path will be
Code:
/opt/logitechmediaserver-7.8-0-noCPAN/CPAN/arch/5.24/x86_64-linux-thread-multi/auto/Audio
...
Code:
Audio::Scan 0.93 0.96