by aegide » Tue Dec 20, 2011 4:54 pm
Hi all,
thanks for all the great work getting lms working on arm! I've tried the last posted PKGBUILD and while it went through quite quickly, i ran into numerous issues and specifically one i need help with.
here's what worked so far:
- installed some missing deps: base-devel abs nasm yasm perl-dbi
- build with 'makepkg --asroot -Acs' and install via 'pacman -U logitechmediaserver....'
- starting failed with some perl modules not beeing able to load:
- i installed "EV HTML::Parser XML::Parser::Expat Digest::SHA1 Sub::Name JSON::XS YAML::XS" in that order from CPAN shell (perl -MCPAN -e shell, then 'install [ModuleName]')
- i did not apply the patches from you, korthaerd, to the "new" Xml::Simple and XML::Parser::Expat (yet)
- next start failed with
$this->bbcode_second_pass_code('', '
The following CPAN modules were found but cannot work with Logitech Media Server:
Audio::Scan (loaded but missing object file, need 0.93)
Image::Scale (loaded but missing object file, need 0.08)
')
so i went back to CPAN and installed latest versions. while Audio::Scan went through fine, Image::Scale failed many of the libgif and libpng related tests. i forced the install for now, not caring about artwork being scanned.
- next start had two errors:
1) install Class::XSLoader for speed blah (1.13 was installed and loaded fine in my tests, 1.05 claimed. After some tests, i simply renamed the XSLoader.pm and folder w/i the local CPAN directory to XSLoader_fromSlim so that it loads the systemwide CPAN lib, error went away)
2) "Can't locate loadable object for module Media::Scan in @INC"
While some of my actions aren't clean, they got me working until now. The last one though was a bit tougher and i don't know if i did this right. Here are the notes I took while trying to fix the issue:
$this->bbcode_second_pass_quote('', '@')INC contains /opt/logitechmediaserver/CPAN in which resides Media/Scan.pm . Why then "Can't locate loadable object for module Media::Scan' ?? Ah: DynaLoader can't find an external lib that Media/Scan.pm is trying to load, or better XSLoader can't, as that's what is used..
External module objects are in CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int/auto but only CPAN/arch/5.14/arm-linux-gnueabi-thread-multi/auto is in @INC, while $arch is armv5tel-linux-thread-multi in Slim/bootstrap.pm... the '5tel'-part gets reduced, so let's not worry about that. however, just linking CPAN/arch/5.14/arm-linux-gnueabi-thread-multi to CPAN/arch/5.14/arm-linux-gnueabi-thread-multi-64int results in a segfault, of course.. i therefore copied modules from i386 from logitech...tar.gz to ./auto and linked it to arm-linux-gnueabi-thread-multi .
Result: starting slimserver.pl doesn't give the error anymore, but now YAML::XS won't load...
Now my question: before i go on debugging this next issue, do you think i'm on the right track so far? Especially: can the .so-modules for i386 from the tar.gz distribution work at all with the arm arch? (the tar.gz only contains .so-files for 64bit arch/perl for perl 5.14)
It does seem like a lot of fixing and i'm not sure it's always done right. I'm willing to test some more, let me know.
Btw: this is on an iomega iconnect with kernel 3.1.4-2-ARCH on armv5tel Feroceon 88FR131 rev 1 (v5l) Marvell RD-88F6281. perl is perl 5, version 14, subversion 2 (v5.14.2) built for armv5tel-linux-thread-multi, using
http://dl.free.fr/mBrI6sNXc for PKGBUILD.
Sorry for the lenghty post.. i really whish we could get this running!