Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Roland0 wrote: > Binary perl modules have a non-binary part (usually .pm files) as well, > and these two have to be the same version. The LMS package supplies the > non-binary parts (in the CPAN folder), however, if a binary module built > by buildme.sh is a different version, the non-binary part needs to be > installed as well. buildme.sh should therefore copy this non-binary part > to build/arch/, which it does for e.g. DBI, but not for Image::Scale, so > one ends up with v0.08 of the non-binary part (CPAN/Image/Scale.pm from > 2011) and v0.11 of the binary part. > My modification ensures all new .pm files are copied to build/arch/ Will you be submitting this mod as a pull request, so everyone can benefit? fsbruva's Profile: http://forums.slimdevices.com/member.php?userid=67298 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Roland0 wrote: > Binary perl modules have a non-binary part (usually .pm files) as well, > and these two have to be the same version. The LMS package supplies the > non-binary parts (in the CPAN folder), however, if a binary module built > by buildme.sh is a different version, the non-binary part needs to be > installed as well. buildme.sh should therefore copy this non-binary part > to build/arch/, which it does for e.g. DBI, but not for Image::Scale, so > one ends up with v0.08 of the non-binary part (CPAN/Image/Scale.pm from > 2011) and v0.11 of the binary part. > My modification ensures all new .pm files are copied to build/arch/ Thanks - I think I now understand a little more. LMS 7.9.1 on VortexBox Midi box, Xubuntu 17.10, FLACs 16->24 bit, 44.1->192kbps. Touch & EDO. 2nd Touch standard. LMS plugin UPnP/DLNA Bridge to MF M1 CLiC (to A308CR amp & ESLs) & Marantz CR603 UPnP renderers. Alternatively Minimserver & Upplay to same & to upmpdcli/mpd PC renderers. Squeezelite to Meridian USB Explorer DAC to PC speakers/headphones. Wireless Xubuntu 17.10 laptop firefox/upplay or Android 'phone with Squeeze-Commander/BubbleUPnP controls LMS/Minimserver. PasTim's Profile: http://forums.slimdevices.com/member.php?userid=41642 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Roland0 wrote: > Binary perl modules have a non-binary part (usually .pm files) as well, > and these two have to be the same version. The LMS package supplies the > non-binary parts (in the CPAN folder), however, if a binary module built > by buildme.sh is a different version, the non-binary part needs to be > installed as well. buildme.sh should therefore copy this non-binary part > to build/arch/, which it does for e.g. DBI, but not for Image::Scale, so > one ends up with v0.08 of the non-binary part (CPAN/Image/Scale.pm from > 2011) and v0.11 of the binary part. > My modification ensures all new .pm files are copied to build/arch/this > explains a lot! I suspect the Audio::Scan version issues, seen repeatedly in the past, could stem from the very same issue! Thanks for addressing/fixing this!!! Sent from my E6653 using Tapatalk Ge Ba's Profile: http://forums.slimdevices.com/member.php?userid=66816 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
PasTim wrote: > > I'm very puzzled as to what your change does. Scale.pm is still dated > Oct 7 2015. Binary perl modules have a non-binary part (usually .pm files) as well, and these two have to be the same version. The LMS package supplies the non-binary parts (in the CPAN folder), however, if a binary module built by buildme.sh is a different version, the non-binary part needs to be installed as well. buildme.sh should therefore copy this non-binary part to build/arch/, which it does for e.g. DBI, but not for Image::Scale, so one ends up with v0.08 of the non-binary part (CPAN/Image/Scale.pm from 2011) and v0.11 of the binary part. My modification ensures all new .pm files are copied to build/arch/ SW: extGUI4LMS - new web UI: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (https://www.nexus0.net/pub/sw/extgui4lms/) | 'LMSlib2go' (http://forums.slimdevices.com/showthread.php?107704-Announce-LMSlib2go-library-information-on-mobile-devices) | 'music visualizer' (http://forums.slimdevices.com/showthread.php?103073-Announce-music-visualizer-for-squeezelite) for squeezelite HowTos: 'build a self-contained LMS' (http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS) | 'Ogg Opus support' (http://forums.slimdevices.com/showthread.php?107011-Howto-play-Ogg-Opus-files) | 'Bluetooth with ALSA' (http://forums.slimdevices.com/showthread.php?107230-Howto-Bluetooth-streaming-to-from-LMS-(ALSA-only-no-PulseAudio)) | ' update bundled perl modules' (http://forums.slimdevices.com/showthread.php?107040-Howto-update-perl-modules-bundled-with-LMS) Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
I've also now managed to produce an init.d script that works both for the current LMS and for the self-built version, using a PATH defined in /etc/default/logitechmediaserver, so it's easy to switch as needed in future. I had to copy squeezeboxserver and squeezeboxserver_safe from /usr/sbin and change the 1st line in squeezeboxserver to use the older perl version. I also copied squeezeboxserver-scanner and squeezeboxserver-cleanup (I don't know if the latter is ever used) and change the 1st line similarly. My init.d script is slightly tweaked from standard, but if anyone is interested I'll post it here. LMS 7.9.1 on VortexBox Midi box, Xubuntu 17.10, FLACs 16->24 bit, 44.1->192kbps. Touch & EDO. 2nd Touch standard. LMS plugin UPnP/DLNA Bridge to MF M1 CLiC (to A308CR amp & ESLs) & Marantz CR603 UPnP renderers. Alternatively Minimserver & Upplay to same & to upmpdcli/mpd PC renderers. Squeezelite to Meridian USB Explorer DAC to PC speakers/headphones. Wireless Xubuntu 17.10 laptop firefox/upplay or Android 'phone with Squeeze-Commander/BubbleUPnP controls LMS/Minimserver. PasTim's Profile: http://forums.slimdevices.com/member.php?userid=41642 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Roland0 wrote: > That's a bit strange, it looks like an issue in the build script > itself. > Modify the rsync in buildme.sh as follows: > > Code: > > > #rsync -amv --include='*/' --include='*.so' --include='*.bundle' --include='autosplit.ix' --exclude='*' $PERL_BASE/lib/perl5/*/auto $PERL_ARCH/$ARCH/ > rsync -amv --include='*/' --include='*.so' --include='*.pm' --include='*.bundle' --include='autosplit.ix' --exclude='*' $PERL_BASE/lib/perl5/$ARCH $PERL_ARCH/ > > > > Rebuild Image::Scale: > > Code: > > > PERL_524=PERL_524=/opt/perl-5.24.3-LMS/bin/perl5.24.3 ./buildme.sh Image::Scale > > > > Check you have this file: > > Code: > > > build/arch/5.24/x86_64-linux-thread-multi/Image/Scale.pm > > > > and copy the modules (or just the > build/arch/5.24/x86_64-linux-thread-multi/Image folder) again to > /opt/... Having removed the extra PERL_524= on your build instruction things progressed and it now works! Thank you very much indeed. I rather feared I was never quite going to make it! I'm very puzzled as to what your change does. Scale.pm is still dated Oct 7 2015. I also notice that .../build/5.24 exists, but I'm not instructed to copy that. Ah well, I assumed that all is as per instructions (ie copy ...build/arch to .../arch), and proceeded, and it now runs. Being of a slightly suspicious bent I've checked I'm running an older LMS that the one released today (I am). and that my startup script definitely runs that version. Code: Logitech Media Server Version: 7.9.1 - 1508251793 @ Tue Oct 17 19:02:38 UTC 2017 Hostname: vortexbox Server IP Address: 192.168.1.12 Server HTTP Port Number: 9000 Operating system: Debian - EN - utf8 Platform Architecture: x86_64-linux Perl Version: 5.24.3 - x86_64-linux-thread-multi Audio::Scan: 0.95 Database Version: DBD::SQLite 1.34_01 (sqlite 3.7.7.1) Total Players Recognized: 1 Again, thanks very much indeed. What would we all do without you guys? LMS 7.9.1 on VortexBox Midi box, Xubuntu 17.10, FLACs 16->24 bit, 44.1->192kbps. Touch & EDO. 2nd Touch standard. LMS plugin UPnP/DLNA Bridge to MF M1 CLiC (to A308CR amp & ESLs) & Marantz CR603 UPnP renderers. Alternatively Minimserver & Upplay to same & to upmpdcli/mpd PC renderers. Squeezelite to Meridian USB Explorer DAC to PC speakers/headphones. Wireless Xubuntu 17.10 laptop firefox/upplay or Android 'phone with Squeeze-Commander/BubbleUPnP controls LMS/Minimserver. PasTim's Profile: http://forums.slimdevices.com/member.php?userid=41642 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
PasTim wrote: > I've sorted out the buildme.sh script and now have built with 5.24.3. > > I still get: > > Code: > > > Oct 25 15:44:41 vortexbox logitechmediaserver[7275]: Image::Scale: > Oct 25 15:44:41 vortexbox logitechmediaserver[7275]: Image::Scale object version 0.11 does not match bootstrap parameter 0.08 at /opt/perl-5.24.3-LMS/lib/5.24.3/x86_64-linux-thread-multi/DynaLoader.pm line 210. > Oct 25 15:44:41 vortexbox logitechmediaserver[7275]: Compilation failed in require at (eval 98) line 1. > Oct 25 15:44:41 vortexbox logitechmediaserver[7275]: BEGIN failed--compilation aborted at (eval 98) line 1. > > > > The code comments don't help me, and I don't know any perl. That's a bit strange, it looks like an issue in the build script itself. Modify the rsync in buildme.sh as follows: Code: #rsync -amv --include='*/' --include='*.so' --include='*.bundle' --include='autosplit.ix' --exclude='*' $PERL_BASE/lib/perl5/*/auto $PERL_ARCH/$ARCH/ rsync -amv --include='*/' --include='*.so' --include='*.pm' --include='*.bundle' --include='autosplit.ix' --exclude='*' $PERL_BASE/lib/perl5/$ARCH $PERL_ARCH/ Rebuild Image::Scale: Code: PERL_524=PERL_524=/opt/perl-5.24.3-LMS/bin/perl5.24.3 ./buildme.sh Image::Scale Check you have this file: Code: build/arch/5.24/x86_64-linux-thread-multi/Image/Scale.pm and copy the modules (or just the build/arch/5.24/x86_64-linux-thread-multi/Image folder) again to /opt/... SW: extGUI4LMS - new web UI: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (https://www.nexus0.net/pub/sw/extgui4lms/) | 'LMSlib2go' (http://forums.slimdevices.com/showthread.php?107704-Announce-LMSlib2go-library-information-on-mobile-devices) | 'music visualizer' (http://forums.slimdevices.com/showthread.php?103073-Announce-music-visualizer-for-squeezelite) for squeezelite HowTos: 'build a self-contained LMS' (http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS) | 'Ogg Opus support' (http://forums.slimdevices.com/showthread.php?107011-Howto-play-Ogg-Opus-files) | 'Bluetooth with ALSA' (http://forums.slimdevices.com/showthread.php?107230-Howto-Bluetooth-streaming-to-from-LMS-(ALSA-only-no-PulseAudio)) | ' update bundled perl modules' (http://forums.slimdevices.com/showthread.php?107040-Howto-update-perl-modules-bundled-with-LMS) Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
I've sorted out the buildme.sh script and now have built with 5.24.3. I still get: Code: Oct 25 15:44:41 vortexbox logitechmediaserver[7275]: Image::Scale: Oct 25 15:44:41 vortexbox logitechmediaserver[7275]: Image::Scale object version 0.11 does not match bootstrap parameter 0.08 at /opt/perl-5.24.3-LMS/lib/5.24.3/x86_64-linux-thread-multi/DynaLoader.pm line 210. Oct 25 15:44:41 vortexbox logitechmediaserver[7275]: Compilation failed in require at (eval 98) line 1. Oct 25 15:44:41 vortexbox logitechmediaserver[7275]: BEGIN failed--compilation aborted at (eval 98) line 1. The code comments don't help me, and I don't know any perl. LMS 7.9.1 on VortexBox Midi box, Xubuntu 17.10, FLACs 16->24 bit, 44.1->192kbps. Touch & EDO. 2nd Touch standard. LMS plugin UPnP/DLNA Bridge to MF M1 CLiC (to A308CR amp & ESLs) & Marantz CR603 UPnP renderers. Alternatively Minimserver & Upplay to same & to upmpdcli/mpd PC renderers. Squeezelite to Meridian USB Explorer DAC to PC speakers/headphones. Wireless Xubuntu 17.10 laptop firefox/upplay or Android 'phone with Squeeze-Commander/BubbleUPnP controls LMS/Minimserver. PasTim's Profile: http://forums.slimdevices.com/member.php?userid=41642 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Krisbee wrote: > I would think this has happened as the ./buildme.sh script has changed > since the first post in this thread to include building for perl 5.26 > if it already exists on the host system. See > https://github.com/Logitech/slimserver-vendor/blob/public/7.9/CPAN/buildme.sh > lines lines 287 to 324. The command you used may have set the variable > PERL_524, but if the file ""/usr/bin/perl5.26.0" exists on your host, > the script logic sets the variable PERL_526 to this path and then the > variable PERL_BIN ends up with the contents of PERL_526 and not the > contents of PERL_524. > > If you want to build LMS against an earlier version of perl you've > built in /opt then you need to alter the ./buildme.sh script. I would > think commenting out lines 296 to 306 should work if your case. Thanks. Indeed so. I was just getting round to trying to understand the script (not being really up to speed on the syntax). LMS 7.9.1 on VortexBox Midi box, Xubuntu 17.10, FLACs 16->24 bit, 44.1->192kbps. Touch & EDO. 2nd Touch standard. LMS plugin UPnP/DLNA Bridge to MF M1 CLiC (to A308CR amp & ESLs) & Marantz CR603 UPnP renderers. Alternatively Minimserver & Upplay to same & to upmpdcli/mpd PC renderers. Squeezelite to Meridian USB Explorer DAC to PC speakers/headphones. Wireless Xubuntu 17.10 laptop firefox/upplay or Android 'phone with Squeeze-Commander/BubbleUPnP controls LMS/Minimserver. PasTim's Profile: http://forums.slimdevices.com/member.php?userid=41642 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
PasTim wrote: > So I thought I should start afresh, having probably mucked something up. > I downloaded everything again starting with empty folders. > > Imagine my surprise when having entered > "PERL_524=/opt/perl-5.24.3-LMS/bin/perl5.24.3 ./buildme.sh &> > buildme.log" I find it has built 5.26 (in .../build/arch/). I assume > when I cloned slimserver-vendor I got a new one and the buildme did > something different. > > Michael has now released LMS for 5.26 so I'm up and running again, but I > would still quite like to get this working if I can, for protection > against future changes. > > Is there something else I may have done wrong? I had assumed that > command would do the job. I would think this has happened as the ./buildme.sh script has changed since the first post in this thread to include building for perl 5.26 if it already exists on the host system. See https://github.com/Logitech/slimserver-vendor/blob/public/7.9/CPAN/buildme.sh lines lines 287 to 324. The command you used may have set the variable PERL_524, but if the file ""/usr/bin/perl5.26.0" exists on your host, the script logic sets the variable PERL_526 to this path and then the variable PERL_BIN ends up with the contents of PERL_526 and not the contents of PERL_524. If you want to build LMS against an earlier version of perl you've built in /opt then you need to alter the ./buildme.sh script. Krisbee's Profile: http://forums.slimdevices.com/member.php?userid=59080 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
So I thought I should start afresh, having probably mucked something up. I downloaded everything again starting with empty folders. Imagine my surprise when having entered "PERL_524=/opt/perl-5.24.3-LMS/bin/perl5.24.3 ./buildme.sh &> buildme.log" I find it has built 5.26 (in .../build/arch/). I assume when I cloned slimserver-vendor I got a new one and the buildme did something different. Michael has now released LMS for 5.26 so I'm up and running again, but I would still quite like to get this working if I can, for protection against future changes. Is there something else I may have done wrong? I had assumed that command would do the job. LMS 7.9.1 on VortexBox Midi box, Xubuntu 17.10, FLACs 16->24 bit, 44.1->192kbps. Touch & EDO. 2nd Touch standard. LMS plugin UPnP/DLNA Bridge to MF M1 CLiC (to A308CR amp & ESLs) & Marantz CR603 UPnP renderers. Alternatively Minimserver & Upplay to same & to upmpdcli/mpd PC renderers. Squeezelite to Meridian USB Explorer DAC to PC speakers/headphones. Wireless Xubuntu 17.10 laptop firefox/upplay or Android 'phone with Squeeze-Commander/BubbleUPnP controls LMS/Minimserver. PasTim's Profile: http://forums.slimdevices.com/member.php?userid=41642 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Roland0 wrote: > Yes > To make sure permissions are correct: > > Code: > > > chmod -R a+rX /opt/logitechmediaserver-7.9.1-1508251793-noCPAN/ > find /opt/logitechmediaserver-7.9.1-1508251793-noCPAN -name \*.pl -exec chmod a+x {} \; > > > > > > If fixing the permissions didn't solve it: > First, make sure all modules have been build without error (i.e. the > buildme script has finished, the last output is from rsync and there > are files in build/arch/5.24/) > Then check you have copied the resulting modules to the correct > location (everything in build/arch/ to > /opt/logitechmediaserver-7.9.1-1508251793-noCPAN/CPAN/) > Final paths should be e.g > /opt/logitechmediaserver-7.9.1-1508251793-noCPAN/CPAN/arch/5.24/x86_64-linux-thread-multi/auto/Audio > etc. I started again, configuring, building and so on, producing logs of each step. I can't see any errors in amongst large numbers of warnings. The perl makes are odd in that they repeatedly say: Code: ==> Your Makefile has been rebuilt. <== ==> Please rerun the make command. <== false Makefile:738: recipe for target 'Makefile' failed make[1]: *** [Makefile] Error 1 So I reran the whole make and no errors appear. In the buldme I can't get rid of a missing giflib warning (I've installed recent giflib-tools, and libgif-dev) or Code: Warning: the following files are missing in your kit: win32/zlib.lib Please inform the author I assume that this: Code: sent 7,606,054 bytes received 519 bytes 15,213,146.00 bytes/sec total size is 7,601,219 speedup is 1.00 is from rsync. And after that I now get the following error when starting it. Code: Oct 24 21:31:22 vortexbox logitechmediaserver[19508]: Image::Scale: Oct 24 21:31:22 vortexbox logitechmediaserver[19508]: Image::Scale object version 0.11 does not match bootstrap parameter 0.08 at /opt/perl-5.24.3-LMS/lib/5.24.3/x86_64-linux-thread-multi Oct 24 21:31:22 vortexbox logitechmediaserver[19508]: Compilation failed in require at (eval 98) line 1. Oct 24 21:31:22 vortexbox logitechmediaserver[19508]: BEGIN failed--compilation aborted at (eval 98) line 1. If I'm wasting too much of your time, just tell me. LMS 7.9.1 on VortexBox Midi box, Xubuntu 17.10, FLACs 16->24 bit, 44.1->192kbps. Touch & EDO. 2nd Touch standard. LMS plugin UPnP/DLNA Bridge to MF M1 CLiC (to A308CR amp & ESLs) & Marantz CR603 UPnP renderers. Alternatively Minimserver & Upplay to same & to upmpdcli/mpd PC renderers. Squeezelite to Meridian USB Explorer DAC to PC speakers/headphones. Wireless Xubuntu 17.10 laptop firefox/upplay or Android 'phone with Squeeze-Commander/BubbleUPnP controls LMS/Minimserver. PasTim's Profile: http://forums.slimdevices.com/member.php?userid=41642 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
PasTim wrote: > I'm assuming the /opt/logitechmediaserver... directory and all it's > contents should be owned by root, is that right? > Yes > > I clearly don't understand how one is meant to copy the LMS files to > /opt. I ended up changing all directories under Slim to 755 and all > files to 644, and that got over the pm permissions issue to a point > (although many may still be wrong). I thought I followed the > instructions to the letter but maybe I missed something. > To make sure permissions are correct: Code: chmod -R a+rX /opt/logitechmediaserver-7.9.1-1508251793-noCPAN/ find /opt/logitechmediaserver-7.9.1-1508251793-noCPAN -name \*.pl -exec chmod a+x {} \; > > > Code: > > > The following modules failed to load: DBI EV XML::Parser::Expat HTML::Parser JSON::XS Digest::SHA1 YAML::XS Sub::Name > > > > So I guess I am missing modules, or something failed to build, or more > permissions issues? Where do I start looking? > If fixing the permissions didn't solve it: First, make sure all modules have been build without error (i.e. the buildme script has finished, the last output is from rsync and there are files in build/arch/5.24/) Then check you have copied the resulting modules to the correct location (everything in build/arch/ to /opt/logitechmediaserver-7.9.1-1508251793-noCPAN/CPAN/) Final paths should be e.g /opt/logitechmediaserver-7.9.1-1508251793-noCPAN/CPAN/arch/5.24/x86_64-linux-thread-multi/auto/Audio etc. SW: extGUI4LMS - new web UI: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (https://www.nexus0.net/pub/sw/extgui4lms/) | 'LMSlib2go' (http://forums.slimdevices.com/showthread.php?107704-Announce-LMSlib2go-library-information-on-mobile-devices) | 'music visualizer' (http://forums.slimdevices.com/showthread.php?103073-Announce-music-visualizer-for-squeezelite) for squeezelite HowTos: 'build a self-contained LMS' (http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS) | 'Ogg Opus support' (http://forums.slimdevices.com/showthread.php?107011-Howto-play-Ogg-Opus-files) | 'Bluetooth with ALSA' (http://forums.slimdevices.com/showthread.php?107230-Howto-Bluetooth-streaming-to-from-LMS-(ALSA-only-no-PulseAudio)) | ' update bundled perl modules' (http://forums.slimdevices.com/showthread.php?107040-Howto-update-perl-modules-bundled-with-LMS) Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
I'm almost there, but when slimserver.pl starts it can't get seem to get permission to run bootstrap.pm, as below. bootstrap.pm exists in Slim, and I changed permissions to 755, then 777, but still nothing. I'm assuming the /opt/logitechmediaserver... directory and all it's contents should be owned by root, is that right? Code: - Unit logitechmediaserver.service has begun starting up. Oct 24 09:15:56 vortexbox logitechmediaserver[2841]: Making sure that Logitech Media Server is not running first: No process in pidfile '/var/run/logitechmediaserver.pid' found running; none killed. Oct 24 09:15:59 vortexbox logitechmediaserver[2841]: Starting Logitech Media ServerStartingCan't locate Slim/bootstrap.pm: /opt/logitechmediaserver-7.9.1-1508251793-noCPAN/Slim/bootstrap.pm: Permissi on denied at /opt/logitechmediaserver-7.9.1-1508251793-noCPAN/slimserver.pl line 169. Oct 24 09:15:59 vortexbox logitechmediaserver[2841]: BEGIN failed--compilation aborted at /opt/logitechmediaserver-7.9.1-1508251793-noCPAN/slimserver.pl line 169. Oct 24 09:15:59 vortexbox systemd[1]: logitechmediaserver.service: Control process exited, code=exited status=13 Oct 24 09:15:59 vortexbox systemd[1]: Failed to start LSB: Startup script for the Logitech Media Server. -- Subject: Unit logitechmediaserver.service has failed -- Defined-By: systemd -- Support: http://www.ubuntu.com/support -- -- Unit logitechmediaserver.service has failed. -- -- The result is failed. Oct 24 09:15:59 vortexbox systemd[1]: logitechmediaserver.service: Unit entered failed state. Oct 24 09:15:59 vortexbox systemd[1]: logitechmediaserver.service: Failed with result 'exit-code'. Oct 24 09:15:59 vortexbox sudo[2811]: pam_unix(sudo:session): session closed for user root Oct 24 09:16:01 vortexbox sudo[2851]: crusty : TTY=pts/2 ; PWD=/etc/init.d ; USER=root ; COMMAND=/usr/sbin/service logitechmediaserver status Oct 24 09:16:01 vortexbox sudo[2851]: pam_unix(sudo:session): session opened for user root by (uid=0) Oct 24 09:16:14 vortexbox sudo[2851]: pam_unix(sudo:session): session closed for user root Oct 24 09:17:01 vortexbox CRON[2863]: pam_unix(cron:session): session opened for user root by (uid=0) Oct 24 09:17:01 vortexbox CRON[2864]: (root) CMD ( cd / && run-parts --report /etc/cron.hourly) Oct 24 09:17:01 vortexbox CRON[2863]: pam_unix(cron:session): session closed for user root LMS 7.9.1 on VortexBox Midi box, Xubuntu 17.04, FLACs 16->24 bit, 44.1->192kbps. Touch & EDO. 2nd Touch standard. LMS plugin UPnP/DLNA Bridge to MF M1 CLiC (to A308CR amp & ESLs) & Marantz CR603 UPnP renderers. Alternatively Minimserver & Upplay to same & to upmpdcli/mpd PC renderers. Squeezelite to Meridian USB Explorer DAC to PC speakers/headphones. Wireless Xubuntu 17.04 laptop firefox/upplay or Android 'phone with Squeeze-Commander/BubbleUPnP controls LMS/Minimserver. PasTim's Profile: http://forums.slimdevices.com/member.php?userid=41642 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
PasTim wrote: > > I notice that the make install uses sudo. Is that correct? If so does > the 1st post here need amendment? > There are basically two options when you build a package as a regular user, but want to install to a system-wide location 1. configure, build, install as root (using sudo) 2. create destination directory as root (using sudo), change permissions of destination directory to user (as root using sudo), configure, build, install as user, change permissions of destination directory to root (as root using sudo) e.g. Code: sudo mkdir /opt/perl-5.24.3-LMS chown $USER /opt/perl-5.24.3-LMS ( configure, build, install ) chown -R root:root /opt/perl-5.24.3-LMS I prefer the latter, since if the install goes wrong somehow, there is no danger of damaging the system. However, since this is a howto about building LMS, and not a tutorial about *nix basics, I cannot cover all potentially related topics - it's more efficient to answer specific questions. SW: extGUI4LMS - new web UI: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (https://www.nexus0.net/pub/sw/extgui4lms/) | 'LMSlib2go' (http://forums.slimdevices.com/showthread.php?107704-Announce-LMSlib2go-library-information-on-mobile-devices) | 'music visualizer' (http://forums.slimdevices.com/showthread.php?103073-Announce-music-visualizer-for-squeezelite) for squeezelite HowTos: 'build a self-contained LMS' (http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS) | 'Ogg Opus support' (http://forums.slimdevices.com/showthread.php?107011-Howto-play-Ogg-Opus-files) | 'Bluetooth with ALSA' (http://forums.slimdevices.com/showthread.php?107230-Howto-Bluetooth-streaming-to-from-LMS-(ALSA-only-no-PulseAudio)) | ' update bundled perl modules' (http://forums.slimdevices.com/showthread.php?107040-Howto-update-perl-modules-bundled-with-LMS) Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Roland0 wrote: > When you build perl, you need to make sure you have the debian -dev > packages for some perl support libraries installed (e.g. zlib-dev in > this case). Check the output you get while running the build/test for > anything missing. Thanks. I'll try again > > You won't have to install any non-standard perl packages for normal LMS > operations (with Net-SSLeay and IO-Socket-SSL being the only exception > if you need SSL support for LMS) > Adding modules to your perl installation, however, is 'fairly simple' > (http://forums.slimdevices.com/showthread.php?107609-Perl-5-26-support=897455=1#post897455) > I notice that the make install uses sudo. Is that correct? If so does the 1st post here need amendment? > > Note that for just running LMS, you don't need to build your own modules > if you compile a officially supported perl version (which 5.24 is). > Just compile your own perl, install the regular debs, and 'modify LMS to > use the perl installed in /opt' > (http://forums.slimdevices.com/showthread.php?107609-Perl-5-26-support=897159=1#post897159) > instead of the system perl. I'll try. Fortunately i have always known that I might trip up with LMS one day, so I have a completely separate additional server system (minimserver) that can do a similar job in the mean time, although not as well as LMS. I am also deeply indebted to the likes of yourself and other people on this forum. It's a truly amazing ecosystem. LMS 7.9.1 on VortexBox Midi box, Xubuntu 17.04, FLACs 16->24 bit, 44.1->192kbps. Touch & EDO. 2nd Touch standard. LMS plugin UPnP/DLNA Bridge to MF M1 CLiC (to A308CR amp & ESLs) & Marantz CR603 UPnP renderers. Alternatively Minimserver & Upplay to same & to upmpdcli/mpd PC renderers. Squeezelite to Meridian USB Explorer DAC to PC speakers/headphones. Wireless Xubuntu 17.04 laptop firefox/upplay or Android 'phone with Squeeze-Commander/BubbleUPnP controls LMS/Minimserver. PasTim's Profile: http://forums.slimdevices.com/member.php?userid=41642 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
PasTim wrote: > The rest of my perl make went OK, but I had a permissions error on the > make install-strip so used sudo, which seemed to complete OK. Next issue > was the lms CPAN build. I get: > Edit: I can imagine this means I need a zlib module, but there are > several at CPAN, and even if I knew which I should get, where would I > put it in the perl folder, and would I then have to .configure, make and > so on again? When you build perl, you need to make sure you have the debian -dev packages for some perl support libraries installed (e.g. zlib-dev in this case). Check the output you get while running the build/test for anything missing. You won't have to install any non-standard perl packages for normal LMS operations (with Net-SSLeay and IO-Socket-SSL being the only exception if you need SSL support for LMS) > > This may be too complex for me :) > Note that for just running LMS, you don't need to build your own modules if you compile a officially supported perl version (which 5.24 is). Just compile your own perl, install the regular debs, and 'modify LMS to use the perl installed in /opt' (http://forums.slimdevices.com/showthread.php?107609-Perl-5-26-support=897159=1#post897159) instead the system perl. SW: extGUI4LMS - new web UI: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (https://www.nexus0.net/pub/sw/extgui4lms/) | 'LMSlib2go' (http://forums.slimdevices.com/showthread.php?107704-Announce-LMSlib2go-library-information-on-mobile-devices) | 'music visualizer' (http://forums.slimdevices.com/showthread.php?103073-Announce-music-visualizer-for-squeezelite) for squeezelite HowTos: 'build a self-contained LMS' (http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS) | 'Ogg Opus support' (http://forums.slimdevices.com/showthread.php?107011-Howto-play-Ogg-Opus-files) | 'Bluetooth with ALSA' (http://forums.slimdevices.com/showthread.php?107230-Howto-Bluetooth-streaming-to-from-LMS-(ALSA-only-no-PulseAudio)) | ' update bundled perl modules' (http://forums.slimdevices.com/showthread.php?107040-Howto-update-perl-modules-bundled-with-LMS) Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
The rest of my perl make went OK, but I had a permissions error on the make install-strip so used sudo, which seemed to complete OK. Next issue was the lms CPAN build. I get: Code: Warning: the following files are missing in your kit: win32/zlib.lib Which resulted in: Code: Running Mkbootstrap for Audio::Scan () chmod 644 "Scan.bs" "/opt/perl-5.24.3-LMS/bin/perl5.24.3" "/opt/perl-5.24.3-LMS/lib/5.24.3/ExtUtils/xsubpp" -typemap "/opt/perl-5.24.3-LMS/lib/5.24.3/ExtUtils/typemap" Scan.xs > Scan.xsc && mv Scan.xsc Scan.c Please specify prototyping behavior for Scan.xs (see perlxs manual) cc -c -I. -I.. -Isrc -Iinclude -D_REENTRANT -D_GNU_SOURCE -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.95\" -DXS_VERSION=\"0.95\" -fPIC "-I/opt/perl-5.24.3-LMS/lib/5.24.3/x86_64-linux-thread-multi/CORE" -O2 -Wall -Wno-unused-value -Wno-format-security Scan.c In file included from src/id3.c:17:0, from Scan.xs:23: include/id3.h:20:12: fatal error: zlib.h: No such file or directory #include ^~~~ compilation terminated. Makefile:343: recipe for target 'Scan.o' failed make: *** [Scan.o] Error 1 make test failed, aborting This may be too complex for me :) LMS 7.9.1 on VortexBox Midi box, Xubuntu 17.04, FLACs 16->24 bit, 44.1->192kbps. Touch & EDO. 2nd Touch standard. LMS plugin UPnP/DLNA Bridge to MF M1 CLiC (to A308CR amp & ESLs) & Marantz CR603 UPnP renderers. Alternatively Minimserver & Upplay to same & to upmpdcli/mpd PC renderers. Squeezelite to Meridian USB Explorer DAC to PC speakers/headphones. Wireless Xubuntu 17.04 laptop firefox/upplay or Android 'phone with Squeeze-Commander/BubbleUPnP controls LMS/Minimserver. PasTim's Profile: http://forums.slimdevices.com/member.php?userid=41642 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
I'm attempting a Perl 5.4.23 build with LMS 7.9.1. On 'make test' of perl I get Code: Failed 2 tests out of 2313, 99.91% okay. ../dist/Time-HiRes/t/stat.t ../lib/File/stat.t ### Since not all tests were successful, you may want to run some of ### them individually and examine any diagnostic messages they produce. ### See the INSTALL document's section on "make test". ### You have a good chance to get more information by running ### ./perl harness ### in the 't' directory since most (>=80%) of the tests succeeded. ### You may have to set your dynamic library search path, ### LD_LIBRARY_PATH, to point to the build directory: ### setenv LD_LIBRARY_PATH `pwd`; cd t; ./perl harness ### LD_LIBRARY_PATH=`pwd`; export LD_LIBRARY_PATH; cd t; ./perl harness ### export LD_LIBRARY_PATH=`pwd`; cd t; ./perl harness ### for csh-style shells, like tcsh; or for traditional/modern ### Bourne-style shells, like bash, ksh, and zsh, respectively. Elapsed: 2355 sec u=38.70 s=9.08 cu=1810.53 cs=126.89 scripts=2313 tests=856302 makefile:812: recipe for target 'test' failed make: *** [test] Error 1 Should I worry about these or not? LMS 7.9.1 on VortexBox Midi box, Xubuntu 17.04, FLACs 16->24 bit, 44.1->192kbps. Touch & EDO. 2nd Touch standard. LMS plugin UPnP/DLNA Bridge to MF M1 CLiC (to A308CR amp & ESLs) & Marantz CR603 UPnP renderers. Alternatively Minimserver & Upplay to same & to upmpdcli/mpd PC renderers. Squeezelite to Meridian USB Explorer DAC to PC speakers/headphones. Wireless Xubuntu 17.04 laptop firefox/upplay or Android 'phone with Squeeze-Commander/BubbleUPnP controls LMS/Minimserver. PasTim's Profile: http://forums.slimdevices.com/member.php?userid=41642 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Maybe someone find it useful. I've made a simple script for automatic update LMS from nightly noCPAN tarball. It assume that you have somewhere a build of additional perl modules for LMS. I added a link to this script to the cron (my cronbab file) and set update every 3 days. comments: /etc/rc.d/init.d/slimserver -is a location of my bootscript /usr/share/lms/ - location of LMS /root/perl5/perlbrew/perls/perl-5.22.1/bin/perl - location of my custom perl wih permission for lms user (lms:music) /usr/share/lms_perl_build - location of additional Perl modules build for LMS for user (lms:music). Should include .../arch and ...lib/perl5/... directory - as explained in '#37' (http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS=843533=1#post843533) user=lms group=music Code: #!/bin/bash #stop LMS /etc/rc.d/init.d/slimserver stop #remove all files from /usr/share/lms rm -Rf /usr/share/lms/* # download latest nightly 'noCPAN' tarball to /usr/share/ cd /usr/share wget -O lms_7.9_noCPAN_nightly.tgz $(wget -q -O - "http://www.mysqueezebox.com/update/?version=7.9.0=1=1=nocpan;) # extract tarbal to /usr/share/lms tar xf lms_7.9_noCPAN_nightly.tgz -C /usr/share/lms --strip-components 1 # change references to custom perl location in files: scanner.pl, slimserver.pl, cleanup.pl, gdresize.pl, gdresized.pl cd /usr/share/lms sed -ie '1s:#!/usr/bin/perl:#!/root/perl5/perlbrew/perls/perl-5.22.1/bin/perl:' *.pl # remove unnecessary directory /usr/share/lms/CPAN/arch rm -rf /usr/share/lms/CPAN/arch # simlink to addtional Perl modules built for LMS ln -s /usr/share/lms_perl_build/arch /usr/share/lms/CPAN/ # change permission of /usr/share/lms chown -R lms:music /usr/share/lms/ chmod 0755 -R /usr/share/lms # remove noCPAN_nightly tarball rm -f /usr/share/lms_7.9_noCPAN_nightly.tgz # run LMS again /etc/rc.d/init.d/slimserver start Thanks again to Roland0 for great idea:) bernid's Profile: http://forums.slimdevices.com/member.php?userid=37408 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Hi, please give me a hint. I was trying to build LMS on one of Linux distro on i586 machine unfortunately there is a problem with Config.pm file: Code: [root@ipfire ~]# /usr/share/lms/slimserver.pl --d_startup Can't locate Config.pm in @INC (you may need to install the Config module) (@INC contains: /root/perl5/perlbrew/perls/perl-5.20.2/lib/site_perl/5.20.2/i586-linux-thread-multi-64int /root/perl5/perlbrew/perls/perl-5.20.2/lib/site_perl/5.20.2 /root/perl5/perlbrew/perls/perl-5.20.2/lib/5.20.2/i586-linux-thread-multi-64int /root/perl5/perlbrew/perls/perl-5.20.2/lib/5.20.2 .) at /usr/share/lms/slimserver.pl line 60. BEGIN failed--compilation aborted at /usr/share/lms/slimserver.pl line 60. I successfully installed/build perl 5.20.2: Code: ./perlbrew install perl-5.20.2 -D usethreads -D use64bitint -A ccflags=-fno-stack-protector -A ldflags=-fno-stack-protector and having perl-5.20.2 linux-thread-multi-64int I (successfully) build needed LMS's perl modules. I copied result of build (arch directory) to LMS CPAN directory /usr/share/lms/CPAN. Earlier I downloaded and extracted to /usr/share/lms directory 'Logitech Media Server: Unix Tarball - No CPAN Libraries' tarball. I changed first lines of slimserver.pl and scanner.pl files pointed out custom perl location: Code: /root/perl5/perlbrew/perls/perl-5.20.2/bin/perl I can see that one of 'Config.pm' file is in the '/usr/share/lms/CPAN/Template' directory. Please advise me what to do next. Tia. bernid's Profile: http://forums.slimdevices.com/member.php?userid=37408 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
bernid wrote: > > > Code: > > ./perlbrew install perl-5.20.2 -D usethreads -D use64bitint -A ccflags=-fno-stack-protector -A ldflags=-fno-stack-protector > > > Do not use perlbrew: > > perlbrew is a tool to manage multiple perl installations in your $HOME > directory. > which is not at all what you want. You are using root to build (never a good idea), but LMS will later run as a non-root user (do not start it as root - use the init script, which will switch to the correct user) - this is bound to cause all sorts of issues Build and install perl as a non-root user to /opt/perl-X.Y.Z, and chown the install dirs afterwards (see howto) bernid wrote: > > and having perl-5.20.2 linux-thread-multi-64int I (successfully) build > needed LMS's perl modules. > There are problems with versions of two modules: DBI and JSON::XS. > See the section "Using newer perl modules" and post #37 (newer perls need updated packages (DBI, JSON::XS, maybe more) which are not part of the LMS tarball), and you have to copy the non-binary parts (*.pm) of these to the LMS dir as well) [ extGUI4LMS - an alternative web interface: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (http://code.google.com/p/extgui4lms/) | 'music visualizer' (http://forums.slimdevices.com/showthread.php?103073-Announce-music-visualizer-for-squeezelite) for squeezelite | 'Howto' (http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS): build a self-contained LMS ] Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Roland0 wrote: > > > See the section "Using newer perl modules" and post #37 (newer perls > need updated packages (DBI, JSON::XS, maybe more) which are not part of > the LMS tarball), and you have to copy the non-binary parts (*.pm) of > these to the LMS dir as well) Thanks for pointed #37 (Thanks to JiMPO for sharing his experience BTW). That was a trick;). I successfully installed/build and run LMS with Perl 5.22.1 :cool: Code: Logitech Media Server Version: 7.9.0 - 1453469922 @ Sat Jan 23 04:08:30 UTC 2016 Hostname: ipfire Server IP Address: 192.168.15.XXX Server HTTP Port Number: 9000 Operating system: Linux - EN - en_US.ISO-8859-1 Platform Architecture: i586-linux Perl Version: 5.22.1 - i586-linux-thread-multi-64int Audio::Scan: 0.95 Database Version: DBD::SQLite 1.34_01 (sqlite 3.7.7.1) Total Players Recognized: 1 bernid's Profile: http://forums.slimdevices.com/member.php?userid=37408 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Just in case my experience help some others. I'm running on Debian Sid (testing) / Perl 5.22, my LMS (7.9) stopped working after the perl upgrade from 5.20 to 5.22. I followed the wonderful instructions from the 1st page of this post (thanks Roland0) but still had an error when starting LMS: Code: The following modules failed to load: DBI JSON::XS After some investigation I found out that I was missing the perl sources modules (.pm) matching the compiled ones (.so). Pick one of the two options below depending on what you're trying to achieve: To install perl sources modules (.pm) to the custom LMS instance you've just installed in /opt do (Ajust perl version number, system architecture and path of your LMS server): Code: cp -r build/5.20/lib/perl5/x86_64-linux-thread-multi/ /opt/logitechmediaserver-7.9.0-1453223721-noCPAN/CPAN/arch/5.20 To install perl sources modules (.pm) to the the LMS package on your system (Ajust perl version number and system architecture): Code: sudo cp -r build/5.22/lib/perl5/i586-linux-gnu-thread-multi-64int/ /usr/share/squeezeboxserver/CPAN/arch/5.22 strace has been very helpful to diagnose that for me ;) JiMPO's Profile: http://forums.slimdevices.com/member.php?userid=52605 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
I'm running on Debian Sid (testing) / Perl 5.22, my LMS (7.9) stopped working after the perl upgrade from 5.20 to 5.22. And as an additional note: I've added x86_64 binaries for Perl 5.22 last night. Please let me know if this still doesn't work. -- Michael ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
I'm having a problem with compiling the modules. I've tried with both the 7.7 and the 7.8 modules, but with both I get a _loads_ of 'Bareword not allowed while "strict subs" in use' errors. E.g.: Error: Bareword "Errno::ENOENT" not allowed while "strict subs" in use at /home/rich/LMS-SelfContained/7.7-CPAN/slimserver-vendor-public-7.7/CPAN/DBI-1.616/blib/lib/DBI/SQL/Nano.pm line 293. Did I miss something? Stanbey's Profile: http://forums.slimdevices.com/member.php?userid=64525 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Roland0 wrote: > What perl version are you using? If it's >=5.18, you need to build > DBI-1.628 instead of DBI-1.616 > If you use the updated build scripts for 7.8 or '7.9' > (https://github.com/Logitech/slimserver-vendor/blob/public/7.9/CPAN/buildme.sh), > this case should be handled automatically. > If this doesn't help, post the full log as a zipped attachment I'm using a clean build of Perl-5.14 specifically for LMS (as described in the OP). I've attached the build log. The first error occurs at ilne 1257 of the log: # Failed test 'use DBI::DBD::SqlEngine;' # at t/48dbi_dbd_sqlengine.t line 18. # Tried to use 'DBI::DBD::SqlEngine'. # Error: Bareword "Errno::ENOENT" not allowed while "strict subs" in use at /home/rich/LMS-SelfContained/7.7-CPAN/slimserver-vendor-public-7.7/CPAN/DBI-1.616/blib/lib/DBI/SQL/Nano.pm line 293. # Compilation failed in require at /home/rich/LMS-SelfContained/7.7-CPAN/slimserver-vendor-public-7.7/CPAN/DBI-1.616/blib/lib/DBI/DBD/SqlEngine.pm line 27. # Compilation failed in require at (eval 11) line 2. Rich +---+ |Filename: buildme.log.zip | |Download: http://forums.slimdevices.com/attachment.php?attachmentid=19276| +---+ Stanbey's Profile: http://forums.slimdevices.com/member.php?userid=64525 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Stanbey wrote: > I'm having a problem with compiling the modules. I've tried with both > the 7.7 and the 7.8 modules, but with both I get a _loads_ of 'Bareword > not allowed while "strict subs" in use' errors. E.g.: > Error: Bareword "Errno::ENOENT" not allowed while "strict subs" in use > at > /home/rich/LMS-SelfContained/7.7-CPAN/slimserver-vendor-public-7.7/CPAN/DBI-1.616/blib/lib/DBI/SQL/Nano.pm > line 293. > What perl version are you using? If it's >=5.18, you need to build DBI-1.628 instead of DBI-1.616 If you use the updated build scripts for 7.8 or '7.9' (https://github.com/Logitech/slimserver-vendor/blob/public/7.9/CPAN/buildme.sh), this case should be handled automatically. If this doesn't help, post the full log as a zipped attachment [ extGUI4LMS - an alternative web interface: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (http://code.google.com/p/extgui4lms/) | 'music visualizer' (http://forums.slimdevices.com/showthread.php?103073-Announce-music-visualizer-for-squeezelite) for squeezelite | 'Howto' (http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS): build a self-contained LMS ] Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Roland0 wrote: > In buildme.sh, try replacing > > Code: > > > DBI) > if [ "$PERL_518" -o "$PERL_520" ]; then > build_module DBI-1.628 > else > build_module DBI-1.616 > fi > ;; > > > > with > > Code: > > > DBI) > RUN_TESTS=0 > if [ "$PERL_518" -o "$PERL_520" ]; then > build_module DBI-1.628 > else > build_module DBI-1.616 > fi > RUN_TESTS=1 > ;; > > > Alright... hacking out the tests stopped the DBI build from failing. ;-D Although... the test failures looked pretty fundamental. If the tests don't pass is this thing going to run once it is built? Anyway, next problem is the ICU module... that's now failing with export CPP= CC=gcc CXX=g++ CPPFLAGS= CFLAGS=-fPIC -DU_USING_ICU_NAMESPACE=0 -O3 CXXFLAGS=-fPIC -DU_USING_ICU_NAMESPACE=0 -O3 LDFLAGS=-fPIC MAKE=/usr/bin/make Running ./configure --prefix=/home/rich/LMS-SelfContained/7.7-CPAN/slimserver-vendor-public-7.7/CPAN/build --enable-static --with-data-packaging=archive for Linux using the GNU C++ compiler checking for ICU version numbers... release 4.6, library 46.0, unicode version 6.0 checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu checking whether to build debug libraries... no checking whether to build release libraries... yes checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether we are using the GNU C++ compiler... no checking whether g++ accepts -g... no checking how to run the C preprocessor... gcc -E checking for a BSD-compatible install... /bin/install -c checking for gmake... /bin/gmake checking for doxygen... no checking checking for executable suffix... checking whether strict compiling is on... yes checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking size of void *... 8 checking whether runnable 64 bit binaries are built by default... yes checking which Makefile fragment to use for x86_64-unknown-linux-gnu... mh-linux checking for floor in -lm... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether to enable auto cleanup of libraries... no checking whether to enable draft APIs... yes checking for library API export... yes checking for ranlib... ranlib checking for ar... ar checking whether to enable renaming of symbols... yes checking whether to enable function and data tracing... no checking whether to enable dynamic loading of plugins... checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for library containing dlopen... -ldl checking for dlopen... yes checking for gettimeofday... yes checking for definition of U_INLINE for C... __inline__ checking if we have a C++ compiler... no configure: error: C++ compiler g++ does not work or no compiler found ./runConfigureICU: ./configure failed make: *** No targets specified and no makefile found. Stop. make failed Not sure why it fails saying their is no C++ compiler when at the top it said it was using Gnu... But these build errors are making me wonder if their is something more fundamental wrong. Is it usually this... fragile? Rich Stanbey's Profile: http://forums.slimdevices.com/member.php?userid=64525 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Stanbey wrote: > I'm using a clean build of Perl-5.14 specifically for LMS (as described > in the OP). I've attached the build log. In buildme.sh, try replacing Code: DBI) if [ "$PERL_518" -o "$PERL_520" ]; then build_module DBI-1.628 else build_module DBI-1.616 fi ;; with Code: DBI) RUN_TESTS=0 if [ "$PERL_518" -o "$PERL_520" ]; then build_module DBI-1.628 else build_module DBI-1.616 fi RUN_TESTS=1 ;; [ extGUI4LMS - an alternative web interface: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (http://code.google.com/p/extgui4lms/) | 'music visualizer' (http://forums.slimdevices.com/showthread.php?103073-Announce-music-visualizer-for-squeezelite) for squeezelite | 'Howto' (http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS): build a self-contained LMS ] Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Stanbey wrote: > Alright... hacking out the tests stopped the DBI build from failing. ;-D > Although... the test failures looked pretty fundamental. If the tests > don't pass is this thing going to run once it is built? > No way of knowing except trying if it does. > > Anyway, next problem is the ICU module... that's now failing with > Not sure why it fails saying their is no C++ compiler when at the top it > said it was using Gnu... > Code: checking whether we are using the GNU C compiler... yes checking whether we are using the GNU C++ compiler... no checking if we have a C++ compiler... no configure: error: C++ compiler g++ does not work or no compiler found While you have GNU C, you don't seem to have GNU C++ Check and install. > > But these build errors are making me wonder if their is something more > fundamental wrong. Is it usually this... fragile? > In this specific case, it seems your build environment is incomplete. That being said, keep in mind that you are trying to build some very old versions of packages in a modern environment (e.g. gcc 5.1.1), so some issues may be expected [ extGUI4LMS - an alternative web interface: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (http://code.google.com/p/extgui4lms/) | 'music visualizer' (http://forums.slimdevices.com/showthread.php?103073-Announce-music-visualizer-for-squeezelite) for squeezelite | 'Howto' (http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS): build a self-contained LMS ] Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Grotus wrote: > I forked slimserver-vendor and made the changes to buildme.sh to copy > over the pm files needed. I submitted a pull request, so feel free to > have a look at the changes (6 lines). Thank you, I was unable to get LMS working on raspberry raspbian jessie and now it works. I installed logitechmediaserver_7.9.0~1445779463_all.deb Code: sudo dpkg -i logitechmediaserver_7.9.0~1445779463_all.deb Then I compiled CPAN with your updated script Code: cd git pull https://github.com/Logitech/slimserver-vendor cd slimserver-vendor/CPAN/ ./buildme.sh Wait a few hours, then Code: cd slimserver-vendor/CPAN/build/arch/5.20 sudo cp -Rf * /usr/share/squeezeboxserver/CPAN/arch/5.20 chown -R root:root /usr/share/squeezeboxserver/CPAN/arch/5.20 And now LMS starts up ! barberousse's Profile: http://forums.slimdevices.com/member.php?userid=63897 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
I forked slimserver-vendor and made the changes to buildme.sh to copy over the pm files needed. I submitted a pull request, so feel free to have a look at the changes (6 lines). Grotus's Profile: http://forums.slimdevices.com/member.php?userid=887 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
I ran into a slight issue when doing this process. The buildme.sh file only creates the *.so files in the build/arch/5.X/* directories, but for 5.20 at the very least, the *.pm files for DBI and JSON (and possibly Class) are also needed in the servers CPAN/arch/5.X directory. I copied them over from a full git checkout that I had and things worked fine. So, should buildme.sh copy over the .pm files when it is building a non-baseline version? I know that it doesn't currently, but it shouldn't be too difficult to modify the appropriate sections of the build function to copy over the needed files. I can make the needed changes, if there is interest. Grotus's Profile: http://forums.slimdevices.com/member.php?userid=887 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
user22 wrote: for the last three days I'm trying to fix the squeezeboxserver after an systemupgrade from weezy to jessie (debian/raspbian) on my raspberry pi. Check if the *.so files(DBI.so etc.) - are still in the correct location (which must be in the @INC paths) - have the correct architecture (eg. hardfloat vs softfloat ) - can be loaded by the dynamic linker (use ldd to check) Check if SELinux is switched on. If yes, disable it and try again. [ extGUI4LMS - an alternative web interface: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (http://code.google.com/p/extgui4lms/) | 'music visualizer' (http://forums.slimdevices.com/showthread.php?103073-Announce-music-visualizer-for-squeezelite) for squeezelite | 'Howto' (http://forums.slimdevices.com/showthread.php?99648-Howto-build-a-self-contained-LMS): build a self-contained LMS ] Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Hi, no need to edit SQLite.pm. As I said it's working now. There was a little note while building DBD-DQLite: Code: Note (probably harmless): No library found for -lstdc++ Harmless? As if! This thread was helpful http://forums.slimdevices.com/showthread.php?90138-7-6-1-buildme-sh-fails-on-DBD-SQLite buildme.sh should check the dependencies better particularly when it relies on deprecated packages! Regards Cabal Cabal2002's Profile: http://forums.slimdevices.com/member.php?userid=16374 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
gharris999 wrote: The version number '1.34_01' is hard-coded into CPAN/DBD/SQLite.pm at line 13. You could try editing that file and putting in the new version number. I wouldn't recommend doing this, as you'd mix different versions of the perl and binary parts of the SQLite perl module. See the paragraph Using newer perl modules of the guide for more information. [ extGUI4LMS - an alternative web interface: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (http://code.google.com/p/extgui4lms/) ] Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Hi, Thanks for this tutorial but it's not working for me :( The buildme.sh script failed building DBD-SQLite-1.34_01. So i modified the script and DBD-SQLite-1.38_05 went through. But now when i try to run slimserver.pl I get this error: Code: DBD::SQLite object version 1.38_05 does not match bootstrap parameter 1.34_01 at /opt/perl-5.14.2-LMS/lib/5.14.2/i686-linux-thread-multi/DynaLoader.pm line 213. What am I missing:confused: Regards Cabal Cabal2002's Profile: http://forums.slimdevices.com/member.php?userid=16374 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Roland0 wrote: It seems your file paths are not correct and LMS doesn't find the perl modules it needs. Does /opt/logitechmediaserver-7.7.3-1375965195-noCPAN/CPAN/UUID/Tiny.pm exist? Yes, it does. supert's Profile: http://forums.slimdevices.com/member.php?userid=47527 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Thank Roland0 for the great tutorial. I was able to build LMS 7.7.3 with Perl 5.14.4 , on an PPC based Linkstation running Debian Wheezy For LMS, I havenot followed the tutorial (download the source distribution of logitechmediaserver-7.7.X-noCPAN.tgz), but I installed the packaged .deb file directly. Thus, I don't have to edit the start-up script, or chown anyfile. The other modifications I need to do are: - chmod /var/lib/squeezeboxserver/prefs/plugin to 777 (the log file at /var/log/squeezeboxserver/server.log complained something about could not write plugins preferences). - add a symlink from /usr/share/perl5/Slim to /opt/perl-5.14.4-LMS/lib/5.14.4/Slim (when using the .deb installation it install this librarry to the default Perl installation, I need to reference it in the LMS Perl instance) - for my LMS, I don't need to edit Perl instance in scanner.pl and slimserver.pl (both in /opt/logitechmediaserver-7.7.2-33893-noCPAN/). I had to edit squeezeboxserver, squeezeboxserver-cleanup, squeezeboxserver-scanner (all in /usr/sbin) Although building Perl and CPAN on my ancient NAS is terrible slow, everything is good and smooth now. Anyone who run LMS 7.7.x with Perl 5.14.x on PPC could use my compiled binary for saving some time: dropbox.com/s/3kyeaebyx4bjxkh/LMS 7.7 Perl 5.14.4 arch.rar khaivq's Profile: http://forums.slimdevices.com/member.php?userid=61929 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Hi, I'm trying to get this working on a Raspberry Pi, but I got lost at this part: - create a directory to build the binary perl modules and download everything from here into it (for 7.8, use this instead). - adjust the buildme.sh script to use the perl in /opt. Look for the lines: Did someone got it working on a Pi? Which directory shall I create? How do I download alle these files to the directory? Thanks a lot! Thomas SBS 7.7.x on SqueezePlug, 2 x Squeezebox Duet, 1 x Squeezebox Touch, 1 x Onkyo TX-8050 DLNA ready receiver iPeng, SqueezeSlave My SqueezePlug Wiki: 'Wiki' (http://www.squeezeplug.eu/wiki) My Blog: 'Blog' (http://squeezeplug.eu) My Forum: 'Forum ' (http://squeezeplug.eu/forum) My Downloads: 'Downloads' (http://squeezeplug.eu/?page_id=52) My Videos: 'YouTube' (http://www.youtube.com/squeezeplug) Feel free to donate my SqueezePlug project: 'Donate' (https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclickhosted_button_id=3R2M49ARYWK6C), thanks a lot! truehl's Profile: http://forums.slimdevices.com/member.php?userid=34265 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
sciurius wrote: Yes, I do build from the CPAN directory: It seems you're not really exactly following the guide, so you end up with several CPAN dirs (using my approach, there is only have one in /opt/logitechmediaserver-7.7.2-33893-noCPAN/CPAN). Since I build all modules from scratch, I need the build/5.16/lib/perl5 build results, not the build/arch. Unless you modified the build.sh script, you don't build all modules from scratch, but only the binary ones. The non-binary parts are already in /opt/logitechmediaserver-7.7.2-33893-noCPAN/CPAN, and this is why only the build/arch folder needs to be copied to /opt/logitechmediaserver-7.7.2-33893-noCPAN/CPAN [ extGUI4LMS - an alternative web interface: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (http://code.google.com/p/extgui4lms/) ] Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
truehl wrote: - create a directory to build the binary perl modules and download everything from here into it (for 7.8, use this instead). Which directory shall I create? Just create any directory outside of /opt/ (e.g. in /tmp, or the build user's home dir), it's just to save the d/l and to build the modules. After copying build/arch, it's not needed anymore. How do I download alle these files to the directory? I use wget -r (or use a browser etc.) [ extGUI4LMS - an alternative web interface: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (http://code.google.com/p/extgui4lms/) ] Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Yes, I do build from the CPAN directory: Code: tar xf slimserver.tar.gz cd slimserver tar xf ../slimserver-vendor.tar.gz cd slimserver-vendor/CPAN sh build.sh Upon completion, I have (grepping Scan); Code: build/5.16/lib/perl5/x86_64-linux-thread-multi/Audio/Scan.pm build/5.16/lib/perl5/x86_64-linux-thread-multi/Media/Scan.pm build/5.16/lib/perl5/x86_64-linux-thread-multi/Media/Scan/Audio.pm build/5.16/lib/perl5/x86_64-linux-thread-multi/Media/Scan/Error.pm build/5.16/lib/perl5/x86_64-linux-thread-multi/Media/Scan/Image.pm build/5.16/lib/perl5/x86_64-linux-thread-multi/Media/Scan/Progress.pm build/5.16/lib/perl5/x86_64-linux-thread-multi/Media/Scan/Result.pm build/5.16/lib/perl5/x86_64-linux-thread-multi/Media/Scan/Video.pm build/5.16/lib/perl5/x86_64-linux-thread-multi/auto/Audio/Scan/Scan.so build/5.16/lib/perl5/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so build/5.16/man/man3/Audio::Scan.3pm build/5.16/man/man3/Media::Scan.3pm build/arch/5.16/x86_64-linux-thread-multi/auto/Audio/Scan/Scan.so build/arch/5.16/x86_64-linux-thread-multi/auto/Media/Scan/Scan.so Since I build all modules from scratch, I need the build/5.16/lib/perl5 build results, not the build/arch. I move the build results into the correct location with Code: rsync -avH build/*/lib/perl5/ ../../CPAN/ cd ../../CPAN eval `perl -V:archname -V:PATCHLEVEL`; mkdir -p arch/5.$PATCHLEVEL mv $archname arch/5.$PATCHLEVEL Note that in the last code section, ../../CPAN is the CPAN directory of slimserver, not slimserver-vendor. The end result is a perfectly installable and working 7.8 RPM. sciurius's Profile: http://forums.slimdevices.com/member.php?userid=13819 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Roland0 wrote: - run the builme.sh script. ... - if the build was successful, you'll find the modules in build/arch/5.14/architecture e.g. x86_64-linux-thread-multi/ - copy the build/arch directory to /opt/logitechmediaserver-7.7.2-33893-noCPAN/CPAN/ (the full final path will be e.g /opt/logitechmediaserver-7.7.2-33893-noCPAN/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Audio etc.) When I try this with perl 5.16, I get an architecture directory directly under build. As a result, the modules are not found when lms is started. Code: # cd /var/lib/mock/pidora-18-arm/root/builddir/build/BUILD/slimserver-7.8.0/CPAN/ # ls AE.pmarm-linux-thread-multi Compress DBIx EV.pm HTTP Locale Module PAR.pm SQL Tie version AlgorithmAudio Data Devel Exporter I18N Log MP3 Path Sub Timeversion.pm AnyEvent Cache Date DigestExtUtils Image LWP MRO Proc Template TreeXML AnyEvent.pm CarpDBD EncodeFile IO LWP.pm Net Readonly.pm Template.pm URI XS arch Class DBI enum.pm Font JSON Mac Network ScopeTest URI.pm YAML Archive common DBI.pmError.pm HTML Linux Media PAR SOAP Text UUID # ls arch # ls arm-linux-thread-multi/ Audio Bundle Compress DBI dbixs_rev.pl Encode EV.pm HTML IO Linux Media perllocal.pod Template Win32 YAML auto Class DBD DBI.pm DigestEV Font Image JSON Locale MP3SubTemplate.pm XML # Is this 5.16 specific, or did I overlook some build parameter? sciurius's Profile: http://forums.slimdevices.com/member.php?userid=13819 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
sciurius wrote: When I try this with perl 5.16, I get an architecture directory directly under build. As a result, the modules are not found when lms is started. Code: # cd /var/lib/mock/pidora-18-arm/root/builddir/build/BUILD/slimserver-7.8.0/CPAN/ # ls arm-linux-thread-multi/ Audio Bundle Compress DBI dbixs_rev.pl Encode EV.pm HTML IO Linux Media perllocal.pod Template Win32 YAML auto Class DBD DBI.pm DigestEV Font Image JSON Locale MP3SubTemplate.pm XML # Not sure which build dir you mean. There shouldn't be any architecture-specific dir (arm-linux-thread-multi) in /CPAN (and in the arch dir, only *.so files are supposed to go if you use the standard LMS module versions) - where does this come from? Have you started the build in this folder? If yes, don't do that - use a folder outside of the slimserver-7.8.0 tree (e.g. /tmp/B - the resulting binary modules will end up in /tmp/B/build/arch/... - this will contain only *.so files, not the *.pm files) Is this 5.16 specific, or did I overlook some build parameter? Didn't have any of these issues with perl 5.14/16/18 - they behave the same for me. [ extGUI4LMS - an alternative web interface: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (http://code.google.com/p/extgui4lms/) ] Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Is it worth mentioning on the wiki entry that your method allows a LMS 7.7.X broken by the move from perl 5.14 to 5.16 or 5.18 to be revived without loss of cached data, db, logs etc. ? In debian at least, you have the squeezeboxserver user and can't you simply re-use all the relevant existing /var/lib/... and var/log.. files? Once you've built your own perl version etc. using your instructions, isn't all you need to do is to edit the /etc/int.d/logitechmediaserver file and relevant logrotate.d entry before restarting LMS? It's also possible to run a version of LMS according to your instructions alongside say a nightly build if your create a new separate set of /var/lib/... and /var.log/... files (and if necessary etc/...files) along with and a relevant init.d and logrotate.d file. This is what I did at the weekend. Krisbee's Profile: http://forums.slimdevices.com/member.php?userid=59080 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Krisbee wrote: Is it worth mentioning on the wiki entry that your method allows a LMS 7.7.X broken by the move from perl 5.14 to 5.16 or 5.18 to be revived without loss of cached data, db, logs etc. ? In debian at least, you have the �squeezeboxserver� user and can't you simply re-use all the relevant existing /var/lib/... and var/log.. files? Once you've built your own perl version etc. using your instructions, isn't all you need to do is to edit the /etc/int.d/logitechmediaserver file and relevant logrotate.d entry before restarting LMS? Unless you uninstall the official package with the purge option, that't certainly possible. It's the same as a regular update in this regard. It's also possible to run a version of LMS according to your instructions alongside say a nightly build if your create a new separate set of /var/lib/... and /var.log/... files (and if necessary etc/...files) along with and a relevant init.d and logrotate.d file. This is what I did at the weekend. Actually, you don't even need separate directories (unless the db structure changes - which it hasn't for a long time). Preferences also stay the same (I'm not quite sure how LMS handles unknown prefs (e.g. those that exist in 7.8 and don't in 7.7), but I guess the only risk would be that they get lost) My setup is based on symlinks: Code: lrwxrwxrwx 1 root root 29 May 14 19:10 lms - logitechmediaserver-7.7.8-git drwxr-xr-x 13 root root 4096 Apr 26 2012 logitechmediaserver-7.7.2-33893-noCPAN drwxr-xr-x 13 user user 4096 Sep 11 23:34 logitechmediaserver-7.7.8-git and the init script uses /opt/lms as the path, so switching to another version is done by pointing the symlink to this version [ extGUI4LMS - an alternative web interface: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (http://code.google.com/p/extgui4lms/) ] Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
I worked through this process at the weekend before Roland0 made this post. Just a couple of points: 0. You may need to install libexpat1-dev and nasm before you start. 1. Non-programmers (that's me) might be wondering why use make install-strip instead just make install when building perl. 2. After the untar of logitechmediaserver-7.7.2-noCPAN.tgz. It's worth checking that the files/dirs in the expanded tree have perms 755/644. I believe this sets the correct perms: Code: chmod -R u+rwX,go+rX,go-w /opt/logitechmediaserver-7.7.2-33893-noCPAN 3. If you use, or copy as a different name, the standard debian initscript saved from an existing LMS deb packag install, you could alterantively simply edit two lines to read: Code: DAEMON=/opt/logitechmediaserver-7.7.2-33893-noCPAN/slimserver.pl DAEMON_SAFE=/opt/logitechmediaserver-7.7.2-33893-noCPAN/slimserver.pl 4. It's not necessary to create a /etc/squeezeserver dir, as the files that would exist there are all present under /opt/logitechmediaserver-7.7.2-33893-noCPAN/ 5. If you need to add a squeezeboxserver user, it needs to be added as a system user, e.g: Code: adduser --system --home /usr/share/squeezeboxserver --no-create-home --gecos Logitech Media Server squeezeboxserver 7. If you want to use LMS with squeezelite, I found the the squeezeboxserver user needs to be added to the audio group: Code: usermod -a -G audio squeezeboxserver 8. It's worth checking you still have a functioning log rotate for this version of LMS. You need to edit /etc/logrotate.d/logitechmediaserver: change Code: /bin/kill -USR1 `pgrep squeezeboxserve -n 2/dev/null` 2/dev/null || : to Code: /bin/kill -USR1 `pgrep slimserver.pl -n 2/dev/null` 2/dev/null || : Krisbee's Profile: http://forums.slimdevices.com/member.php?userid=59080 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Krisbee wrote: 1. Non-programmers (that's me) might be wondering why use make install-strip instead just make install when building perl. install-strip runs 'strip' (http://en.wikipedia.org/wiki/Strip_%28Unix%29) during the install. 2. After the untar of logitechmediaserver-7.7.2-noCPAN.tgz. It's worth checking that the files/dirs in the expanded tree have perms 755/644. Never had this issue (although I saw you mentioning something like this in the other thread). If the perms are wrong in the tar, I'd suggest raising this as an issue with Logitech. 3. If you use, or copy as a different name, the standard debian initscript saved from an existing LMS deb packag install, you could alterantively simply edit two lines to read: Code: DAEMON=/opt/logitechmediaserver-7.7.2-33893-noCPAN/slimserver.pl DAEMON_SAFE=/opt/logitechmediaserver-7.7.2-33893-noCPAN/slimserver.pl I wouldn't do it like this - if you don't want to change the (pointless) DAEMON_SAFE (why?), assign $DAEMON to DAEMON_SAFE 4. It's not necessary to create a /etc/squeezeserver dir, as the files that would exist there are all present under /opt/logitechmediaserver-7.7.2-33893-noCPAN/ It's slightly more complicated than that. You do need a prefs location for runtime (as LMS will save it's preferences there). For gentoo, it's /etc/squeezeserver, for debian /var/lib/squeezeboxserver/prefs I'll make that clearer in the guide 5. If you need to add a squeezeboxserver user, it needs to be added as a system user, e.g: Code: adduser --system --home /usr/share/squeezeboxserver --no-create-home --gecos Logitech Media Server squeezeboxserver For security reasons, I'd recommend setting home to /dev/null and shell to /sbin/nologin or /bin/false 8. It's worth checking you still have a functioning log rotate for this version of LMS. You need to edit /etc/logrotate.d/logitechmediaserver: Good point - I'll add logrotate to the guide [ extGUI4LMS - an alternative web interface: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (http://code.google.com/p/extgui4lms/) ] Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
This looks very useful. I am not overly technically minded but your instructions seem clear. To install with LMS 7.8 would I follow the same instructions substituting the 7.8 LMS nightly (ie 'logitechmediaserver-7.8.0-1378731839-noCPAN.tgz' (http://downloads.slimdevices.com/nightly/7.8/sc/28bc54d/logitechmediaserver-7.8.0-1378731839-noCPAN.tgz) at http://downloads.slimdevices.com/nightly/?ver=7.8) and not changing Code: build_module DBI Logitech Media Server Version: 7.8.0 - 1376395262 @ Tue Aug 13 05:35:10 PDT 2013 Operating system: Debian - EN - utf8 Platform Architecture: x86_64-linux Perl Version: 5.14.2 - x86_64-linux-gnu-thread-multi Database Version: DBD::SQLite 1.34_01 (sqlite 3.7.7.1) One SB Touch connected by ethernet - Denon AVR -1912 Receiver, Paradigm 4.1 speakers One SB Boom wireless One SB Radio wireless SlimChances's Profile: http://forums.slimdevices.com/member.php?userid=165 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
I can put this on the wiki if someone (you?) can give me access to it Is it still/again read-only?!? Do you have an account I can enable? -- Michael ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
SlimChances wrote: To install with LMS 7.8 would I follow the same instructions substituting the 7.8 LMS nightly (ie 'logitechmediaserver-7.8.0-1378731839-noCPAN.tgz' (http://downloads.slimdevices.com/nightly/7.8/sc/28bc54d/logitechmediaserver-7.8.0-1378731839-noCPAN.tgz) at http://downloads.slimdevices.com/nightly/?ver=7.8) and not changing Code: build_module DBI Correct, but you'd also have to download/use the CPAN modules for 7.8 (which are currently the same as for 7.7 unless you use perl 5,18, but still, just to be on the safe side...) I've updated the guide to include the url where you can find them, and also added a paragraph outlining a better method to use the latest LMS code. [ extGUI4LMS - an alternative web interface: 'forum' (http://forums.slimdevices.com/showthread.php?98186-Announce-Alternative-Web-Interface-(beta)) / 'homepage' (http://code.google.com/p/extgui4lms/) ] Roland0's Profile: http://forums.slimdevices.com/member.php?userid=56808 View this thread: http://forums.slimdevices.com/showthread.php?t=99648 ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix
[SlimDevices: Unix] Howto: build a self-contained LMS
While installing LMS from a binary package (deb, rpm) is convenient and simple, there is one disadvantage to this approach: Some OS/perl updates tend to break the installed LMS, with no easy fix until the package has been updated as well. On a Linux/Unix system, there is an elegant solution to this, provided you have some basic technical knowledge: don't use a pre-packaged LMS (rpm etc.), but build your own with it's own perl installation: - build a supported perl (e.g. 5.14) and install it somewhere outside of the regular file hierarchy (e.g. in /opt/perl-5.14.2-LMS/). Any perl modules needed for LMS also should be installed using this perl. - build LMS using this perl, and not the standard perl Using this approach, you are independent of the OS updates and the problems with perl versions (and even worse, the specific perl module versions required by LMS) completely disappear. On my server, the LMS and LMS-perl installation has been unchanged since the initial build over a year ago, while the standard OS perl (and all it's modules) have been upgraded several times. A SHORT GUIDE TO BUILDING LMS - download the perl sources from 'here' (http://www.cpan.org/src/README.html). Untar and run the configuration: Code: ./Configure -des -Dprefix=/opt/perl-5.14.2-LMS -Dusethreads - compile and install perl Code: make make test make install-strip - download the LMS source distribution (logitechmediaserver-7.7.2-noCPAN.tgz) from 'here' (http://downloads.slimdevices.com/LogitechMediaServer_v7.7.2/) - untar into /opt (which will give you /opt/logitechmediaserver-7.7.2-33893-noCPAN/ as the full path) and fix ownership: Code: chown -R root:root /opt/logitechmediaserver-7.7.2-33893-noCPAN/ - create a directory to build the binary perl modules and download everything from 'here' (https://github.com/Logitech/slimserver-vendor/tree/public/7.7/CPAN) into it - adjust the buildme.sh script to use the perl in /opt. Look for the lines: Code: # Path to Perl 5.14.1 if [ -x $HOME/perl5/perlbrew/perls/perl-5.14.1/bin/perl5.14.1 ]; then PERL_514=$HOME/perl5/perlbrew/perls/perl-5.14.1/bin/perl5.14.1 fi and add the following after these: Code: if [ -x /opt/perl-5.14.2-LMS/bin/perl5.14.2 ]; then PERL_514=/opt/perl-5.14.2-LMS/bin/perl5.14.2 fi (Note: the '7.8 script' (https://github.com/Logitech/slimserver-vendor/blob/public/7.8/CPAN/buildme.sh) (not used in this guide) has been updated to make this easier: No edits required, just run it: PERL_514=/opt/perl-5.14.2-LMS/bin/perl5.14.2 ./buildme.sh ) - run the builme.sh script. It should output Building with Perl 5.14 at /opt/perl-5.14.2-LMS/bin/perl5.14.2 at the beginning. If it uses a different perl 5.14, something went wrong (note that it might build the modules for several perls (e.g. your system perl is 5.12, the the modules for 5.12 and 5.14 will be build) - if you get errors during the build, you'll have to fix them. The only recent issue I'm aware of is in Font::FreeType (fix described 'here' (http://forums.slimdevices.com/showthread.php?99566-Perl-5-14-vs-5-16-vs-5-18p=756120viewfull=1#post756120)). - if the build was successful, you'll find the modules in build/arch/5.14/architecture e.g. x86_64-linux-thread-multi/ - copy the build/arch directory to /opt/logitechmediaserver-7.7.2-33893-noCPAN/CPAN/ (the full final path will be e.g /opt/logitechmediaserver-7.7.2-33893-noCPAN/CPAN/arch/5.14/x86_64-linux-thread-multi/auto/Audio etc.) After that, you'll need a start/stop script - the easiest way is probably to take the existing one for your linux distribution (e.g 'debian' (https://github.com/Logitech/slimserver-platforms/blob/public/7.8/debian/logitechmediaserver.init), 'gentoo' (https://github.com/hickinbottoms/logitechmediaserver-bin-ebuild-for-gentoo/blob/master/files/logitechmediaserver.init.d), ...) and simply adjust the directory/file paths. E.g. for Debian: Code: DAEMON=/opt/logitechmediaserver-7.7.2-33893-noCPAN/slimserver.pl and change the line Code: --exec $DAEMON_SAFE \ to Code: --exec $DAEMON \ Copy the script to the appropriate location: Code: cp logitechmediaserver.init /etc/init.d/logitechmediaserver Then create a user (matching the one specified in the init script, e.g. squeezeboxserver for debian), create any missing directories referenced in the init script (usually something like /etc/squeezeboxserver, /var/lib/squeezeboxserver, and /var/log/squeezeboxserver), and finally, set the owner for these directories, e.g. Code: chown
Re: [SlimDevices: Unix] Howto: build a self-contained LMS
Nice writeup - you should have done it on the wiki. And have done so years ago :-): I've been running my own build for several years now. Not because my distribution was too bleeding edge, but on the contrary. Still based on some CentOS5, it comes with Perl 5.8.5 only... First time I built my own perl was quite a bit of a trial error experience. - create a directory to build the binary perl modules and download everything from 'here' (https://github.com/Logitech/slimserver-vendor/tree/public/7.7/CPAN) into it - adjust the buildme.sh script to use the perl in /opt. Look for the lines: Please note that if you were to build one of the officially supported architecture/Perl version combinations, you wouldn't have to build these modules on your own. In 7.8 we have i386 modules up to Perl 5.16, and x86_64 for 5.16 and up. -- Michael ___ unix mailing list unix@lists.slimdevices.com http://lists.slimdevices.com/mailman/listinfo/unix