Squeezebox Server 7.6 + Perl 5.14

Ask questions about Arch Linux ARM. Please search before making a new topic.

Re: Squeezebox Server 7.6 + Perl 5.14

Postby user11 » Sat Feb 16, 2013 4:46 pm

This is why I've installed squeeze in place of arch. Arch is great, but has very limited choice in official repository, where squeeze has almost everything you need. It takes a couple of minutes to install squeezebox server under squeeze. I spent three days trying to compile it under arch, but my only achievement was a high level of frustration. I'm still hoping that someday it will happen, but unlike a lot of other users (you can check the official squeezebox server forum as well), arch developers apparently don't use logitech products, and have no interest in providing it in the official arch repo. Tough luck...
Last edited by user11 on Sat Feb 16, 2013 5:26 pm, edited 1 time in total.
user11
 
Posts: 7
Joined: Sat Dec 29, 2012 6:38 pm

Re: Squeezebox Server 7.6 + Perl 5.14

Postby scales11 » Sat Feb 16, 2013 4:52 pm

$this->bbcode_second_pass_quote('user11', 'T')his is why I've installed squeeze in place of arch. Arch is great, but has very limited choice in official repository, where squeeze has almost everything you need. It takes a couple of minutes to install squeezebox server under squeeze.


I caved as well. I installed everything as per the following site:
http://allthingspi.webspace.virginmedia.com/lms.php

I had trouble with that squeezeplayer though, so I ended up doing this:
$this->bbcode_second_pass_code('', '
wget http://sourceforge.net/projects/softsqueeze/files/squeezeslave/squeezeslave-1.2.311/squeezeslave-1.2-311-armel-lnx26.tar.gz
tar -xvf squeezeslave-1.2-311-armel-lnx26.tar.gz
squeezeslave -F --daemonize /tmp/squeezeslave.log
')

Then I moved squeezeslave into the "/usr/local/sbin/"
things work, but not automatically at boot. I am having bigger issues with the audio from LMS+squeezeslave (staticy at low volumes even with a usb sound card).
scales11
 
Posts: 6
Joined: Thu Feb 14, 2013 4:33 pm

Re: Squeezebox Server 7.6 + Perl 5.14

Postby fujcru » Sun Mar 10, 2013 8:57 pm

Just an update. If anyone has been following my posts to this thread, I was able to get the latest nightly logitechmediaserver-7.8.0-1362754234 to compile on a Pogoplug Pro using the following process.
Of course, in order to build a package, you need to have the developer tools installed.
pacman -S base-devel
Grab the latest tarball from AUR maintained by vesath. This is actually for the normal non-nightly version and it's not exactly for ARM devices so a few changes need to be made to the PKGBUILD before it'll work. Basically, I correct the version and release information to match the nightly, update the CPAN area to reflect the files for version 7.8 (this is new, I was using the version 7.7 CPAN files but it didn't work this time while the 7.8 files did), and edit a line in the clean-up stage. https://aur.archlinux.org/packages/logitechmediaserver/
https://aur.archlinux.org/packages/lo/logitechmediaserver/logitechmediaserver.tar.gz
Uncompress this tarball and edit the PKGBUILD
tar xvfz logitechmediaserver.tar.gz
It'll create a directory called logitechmediaserver.
cd logitechmediaserver
nano PKGBUILD
My final PKGBUILD looked like this:
$this->bbcode_second_pass_code('', '# Maintainer: Gaetan Bisson <bisson@archlinux.org>

pkgname=logitechmediaserver
pkgver=7.8.0
pkgrel=1362754234
pkgdesc='Streaming audio server supported by Logitech'
url='http://www.mysqueezebox.com/download'
license=('GPL' 'custom')
arch=('i686' 'x86_64')
makedepends=('nasm' 'yasm' 'rsync' 'wget')
[[ $CARCH = x86_64 ]] && optdepends=('lib32-glibc: transcoding' 'lib32-gcc-libs: transcoding')
depends=('perl>5.15' 'perl<5.17')
source=("http://downloads.slimdevices.com/nightly/7.8/sc/63f6635/logitechmediaserver-7.8.0-1362754234-arm-linux.tgz"
'perl-recent.patch'
'service'
'conf.d'
'rc.d')
backup=('etc/conf.d/logitechmediaserver')
sha1sums=('1EEDAFD5441240390E2AA64A5832887EBD7FA2B5'
'2e9989b5ea49e9e3b0fa2e16590ad3a6957f7b9c'
'6e3428f9e798bf2403f46d7d20020eb985832356'
'80d3658796ba7241b497e5fce93813423c57e06e'
'9a98d601faff6345dfeddae16d1f10547c2aacba')

install=install

build_cpan() {
svnurl=svn.slimdevices.com/repos/slim/7.8/trunk/vendor/CPAN/
wget -r --no-parent http://${svnurl} --reject 'mysql-*'
pushd ${svnurl}

wget http://search.cpan.org/CPAN/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.13.tar.gz
sed \
-e 's/XSAccessor-1.05/XSAccessor-1.13/g' \
-e '/RUN_TESTS=1/c RUN_TESTS=0' \
-e 's/perl5.12/perl/g' \
-e 's/5.12/5.16/g' \
-i buildme.sh
sh buildme.sh

popd
cp -r ${svnurl}build/5.16/lib/perl5/*-linux-thread-multi/* CPAN/
cp -r ${svnurl}build/arch CPAN/
rm -fr svn.slimdevices.com
}

build() {
cd "${srcdir}/${pkgname}-${pkgver}"-*

build_cpan
patch -p1 -i ../perl-recent.patch

rm -r CPAN/arch/5.{8,10,12,14}
#rm -r CPAN/arch/5.16/{arm-linux-gnueabi-thread-multi-64int,i386-linux-thread-multi-64int,powerpc-linux-thread-multi-64int}
#[[ ${CARCH} = i686 ]] && rm -r CPAN/arch/5.16/x86_64-linux-thread-multi || true
#[[ ${CARCH} = x86_64 ]] && rm -r CPAN/arch/5.16/i386-linux-thread-multi || true
rm -r Bin/arm-linux
}

package() {
cd "${srcdir}/${pkgname}-${pkgver}"-*

install -d "${pkgdir}"/{opt,usr/share/licenses}/"${pkgname}"
cp -a * "${pkgdir}/opt/${pkgname}"

ln -s /opt/"${pkgname}"/License.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm644 ../service "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
install -Dm644 ../conf.d "${pkgdir}/etc/conf.d/${pkgname}"
install -Dm755 ../rc.d "${pkgdir}/etc/rc.d/${pkgname}"
}')
Proceed to build the package. This process will take a few hours.
makepkg -Acs --asroot
Once complete, you simply install the newly complied package.
pacman -U whateveryourfileis
There are a few files that need to be fixed so the program doesn't complain about deprecated defined arrays and an invalid overload argument. In each of the three files below, just delete the word 'defined' on that particular line.
nano +124 /opt/logitechmediaserver/CPAN/Class/Inspector.pm
nano +840 /opt/logitechmediaserver/CPAN/Log/Log4perl/Config.pm
nano +146 /opt/logitechmediaserver/Slim/Player/SB1SliMP3Sync.pm
And in this file, it appears that the quote '"' should be a double quote '""'. So just add another quote next to the quote in the line.
nano +24 /opt/logitechmediaserver/CPAN/DBIx/Class/Storage.pm
That should be it. Start the server with /etc/rc.d/logitechmediaserver start
You can access the server from a browser at theipaddressofthepogoplug:9000.
Good luck!
fujcru
 
Posts: 7
Joined: Mon Nov 21, 2011 3:05 am

Re: Squeezebox Server 7.6 + Perl 5.14

Postby user11 » Thu Mar 14, 2013 3:22 pm

It still doesn't work for me. It always fails at the same stage
Attachments
Build Failed.jpg
Build Failed.jpg (40.63 KiB) Viewed 5159 times
user11
 
Posts: 7
Joined: Sat Dec 29, 2012 6:38 pm

Re: Squeezebox Server 7.6 + Perl 5.14

Postby fujcru » Sat Mar 16, 2013 10:04 pm

I got the latest nightly of LMS to compile for me. To user11, I also had it fail at the same place you did. And in my experience, when the compile fails, especially repeatedly at the same point, it means a lack of sufficient memory. I'm guessing you have a 1GB swap partition or a 1 GB swap file. After the compile failed, I deleted my swap file and created a larger 1.5 GB swap file and enabled it. Reran the makepkg and this time it worked just fine. Installed the newly compiled version and applied the few fixes to the few files mentioned in my previous post. Started the server with no error warnings and tested it. Happy to report it's working just fine. Here's a copy of the latest modified PKGBUILD. $this->bbcode_second_pass_code('', '# Maintainer: Gaetan Bisson <bisson@archlinux.org>

pkgname=logitechmediaserver
pkgver=7.8.0
pkgrel=1363280698
pkgdesc='Streaming audio server supported by Logitech'
url='http://www.mysqueezebox.com/download'
license=('GPL' 'custom')
arch=('i686' 'x86_64')
makedepends=('nasm' 'yasm' 'rsync' 'wget')
[[ $CARCH = x86_64 ]] && optdepends=('lib32-glibc: transcoding' 'lib32-gcc-libs: transcoding')
depends=('perl>5.15' 'perl<5.17')
source=("http://downloads.slimdevices.com/nightly/7.8/sc/fdb68bb/logitechmediaserver-7.8.0-1363280698-arm-linux.tgz"
'perl-recent.patch'
'service'
'conf.d'
'rc.d')
backup=('etc/conf.d/logitechmediaserver')
sha1sums=('0CDCBDF5BA0C20D6BB4EE40CFF142DF281E1BAAE'
'2e9989b5ea49e9e3b0fa2e16590ad3a6957f7b9c'
'6e3428f9e798bf2403f46d7d20020eb985832356'
'80d3658796ba7241b497e5fce93813423c57e06e'
'9a98d601faff6345dfeddae16d1f10547c2aacba')

install=install

build_cpan() {
svnurl=svn.slimdevices.com/repos/slim/7.8/trunk/vendor/CPAN/
wget -r --no-parent http://${svnurl} --reject 'mysql-*'
pushd ${svnurl}

wget http://search.cpan.org/CPAN/authors/id/S/SM/SMUELLER/Class-XSAccessor-1.13.tar.gz
sed \
-e 's/XSAccessor-1.05/XSAccessor-1.13/g' \
-e '/RUN_TESTS=1/c RUN_TESTS=0' \
-e 's/perl5.12/perl/g' \
-e 's/5.12/5.16/g' \
-i buildme.sh
sh buildme.sh

popd
cp -r ${svnurl}build/5.16/lib/perl5/*-linux-thread-multi/* CPAN/
cp -r ${svnurl}build/arch CPAN/
rm -fr svn.slimdevices.com
}

build() {
cd "${srcdir}/${pkgname}-${pkgver}"-*

build_cpan
patch -p1 -i ../perl-recent.patch

rm -r CPAN/arch/5.{8,10,12,14}
#rm -r CPAN/arch/5.16/{arm-linux-gnueabi-thread-multi-64int,i386-linux-thread-multi-64int,powerpc-linux-thread-multi-64int}
#[[ ${CARCH} = i686 ]] && rm -r CPAN/arch/5.16/x86_64-linux-thread-multi || true
#[[ ${CARCH} = x86_64 ]] && rm -r CPAN/arch/5.16/i386-linux-thread-multi || true
rm -r Bin/arm-linux
}

package() {
cd "${srcdir}/${pkgname}-${pkgver}"-*

install -d "${pkgdir}"/{opt,usr/share/licenses}/"${pkgname}"
cp -a * "${pkgdir}/opt/${pkgname}"

ln -s /opt/"${pkgname}"/License.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
install -Dm644 ../service "${pkgdir}/usr/lib/systemd/system/${pkgname}.service"
install -Dm644 ../conf.d "${pkgdir}/etc/conf.d/${pkgname}"
install -Dm755 ../rc.d "${pkgdir}/etc/rc.d/${pkgname}"
}') Good luck!
fujcru
 
Posts: 7
Joined: Mon Nov 21, 2011 3:05 am

Previous

Return to User Questions

Who is online

Users browsing this forum: No registered users and 6 guests