squeezebox-googlemusic icon indicating copy to clipboard operation
squeezebox-googlemusic copied to clipboard

Test the Plugin on a Raspberry Pi

Open hechtus opened this issue 11 years ago • 23 comments

Test the plugin on a Raspberry Pi SqueezePlug.

hechtus avatar Sep 03 '13 12:09 hechtus

First tests have shown that it is running on a Raspberry Pi.

For some reason, the plugin has to be installed under /var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/ and I'm still getting some permission-related error messages.

hechtus avatar Sep 03 '13 12:09 hechtus

The plugin directories on squeezeplug are configured a bit differently than by default. Checking the server information gives some hints. Copying the plugin into /usr/share/squeezeboxserver/Plugins works like a charm.

hechtus avatar Sep 10 '13 20:09 hechtus

Installing from the remote repository works. The plugin does it's job.

hechtus avatar Oct 02 '13 11:10 hechtus

maybe one hint for the installation-instructions: apt-get install python-dev is needed on some distris to have Python.H and with this the possibility to install Include::Python

works on my machine (raspberry with squeezeplug) - thanks a lot

ultraschuppi avatar Jan 01 '14 20:01 ultraschuppi

Yep same for me had to apt-get install python-dev to get the Python.h. Thanks a lot for taking the time - it works a treat on my squeezeplug set up.

HuwByrn avatar Jan 02 '14 09:01 HuwByrn

You are right. The python-dev package needs to be installed for Inline::Python. I'm thinking of adding a note to the Readme.

hechtus avatar Jan 06 '14 08:01 hechtus

Just wanted to say...excellent work!!

Am running the plugin on a 3-pi, 4-zone system without fault so far! Using 'all access', the only thing I had to hunt around for was to put the prefix 'ios:' in front of the mobile id in the plugin setup page.

The 'all access' I can stream in different music to different zones!!! Something the spotify service and 3rd party plugin fails to allow!

If I and my setup can be of any use...don't hesitate to use me!

SteUK avatar Mar 21 '14 00:03 SteUK

@SteUK Thanks for letting me know! The 'ios:' prefix issue has already been fixed. It will be in the upcoming release. If you have any other issues or ideas you can let me know.

hechtus avatar Mar 21 '14 10:03 hechtus

Hi, thanks for the plugin. I'm trying to install it on raspberry-pi on Raspbian GNU/Linux 7 (wheezy) with Logitech Media Server v7.8.0, 1395409907 Everything seems to work - plugin is loaded, i can search, add to playlist, see pictures. But the music does not play. When i click play, I see error in the logs:

[14-11-06 08:06:55.1381] Slim::Control::Request::execute (1888) Error: While trying to run function coderef [Slim::Control::Commands::playlistJumpCommand]: [Can't call method "isa" on an undefined value at /usr/share/perl5/Slim/Player/Squeezebox.pm line 753.

On line 753 we have code: } elsif ( $handler->isa('Slim::Player::Protocols::SqueezePlayDirect') ) { And if i understand correctly $handler is defined on line 178: my $handler = $controller->songProtocolHandler();

I've tried to log $handler and it prints out Plugins::GoogleMusic::ProtocolHandler

Any hints on how I could troubleshoot this?

gytisgreitai avatar Nov 06 '14 06:11 gytisgreitai

Ah, never mind. Non related to raspberry, issue 43 solved it.

gytisgreitai avatar Nov 06 '14 06:11 gytisgreitai

Great! Thanks for reporting anyway.

hechtus avatar Nov 06 '14 07:11 hechtus

Few notes, maybe there is a need for FAQ.md or similar, i could do a PR related to pi:

  • Since my pi has only 256 mb of ram, i was getting strange random errors when installing CPANimus (most of them related to untaring). I managed to install it only after i've stopped almost all services (squeezebox, rsyslog, ntp, etc.) and freed up enough ram.
  • SSL library was missing: [14-11-05 22:55:03.6222] Slim::Utils::Misc::msg (1311) Warning: [22:55:03.6153] Async::HTTP: Unable to load IO::Socket::SSL, will try connecting to SSL servers in non-SSL mode so i had to install IO::Socket::SSL , which complained about the lack of Net::SSLeay for which i had to install libpcre3-dev libidn11-dev

gytisgreitai avatar Nov 06 '14 09:11 gytisgreitai

I strongly suggest starting with SqueezePlug, a Raspberry Pi SD card image with LMS all set up and ready to go. I did have to add the HTTPS line, but otherwise it works for me. On 6 Nov 2014 09:55, "Gytis" [email protected] wrote:

Few notes, maybe there is a need for FAQ.md or similar, i could do a PR related to pi:

  • Since my pi has only 256 mb of ram, i was getting strange random errors when installing CPANimus (most of them related to untaring). I managed to install it only after i've stopped almost all services (squeezebox, rsyslog, ntp, etc.) and freed up enough ram.
  • SSL library was missing: [14-11-05 22:55:03.6222] Slim::Utils::Misc::msg (1311) Warning: [22:55:03.6153] Async::HTTP: Unable to load IO::Socket::SSL, will try connecting to SSL servers in non-SSL mode so i had to install IO::Socket::SSL , which complained about the lack of Net::SSLeay for which i had to install libpcre3-dev libidn11-dev

— Reply to this email directly or view it on GitHub https://github.com/hechtus/squeezebox-googlemusic/issues/7#issuecomment-61953354 .

ukslim avatar Nov 06 '14 10:11 ukslim

If you're main usage for raspberry pi is Squeezebox - then yes, that is fine. But if you have other services, and only added Squeezebox later i don't see the point in reloading the whole OS.

gytisgreitai avatar Nov 06 '14 15:11 gytisgreitai

@gytisgreitai Would it be possible to give us a detailed howto on installing LMS on a Raspberry Pi from scratch without using the squeezeplug image? I tried this sometime ago but failed in doing so.

hechtus avatar Nov 06 '14 15:11 hechtus

@hechtus I've used this guide http://www.pchilton.co.uk/2013/03/27/setup-a-squeezebox-server-using-a-raspberry-pi/ but it was ~6 months ago. I'll try to start from scratch with an empty card, next week and see if this still works.

gytisgreitai avatar Nov 08 '14 12:11 gytisgreitai

It still works and is actually not terribly hard. Using a Raspbian image, you can install LMS 7.8 or 7.9 without any special prerequisites. There used to be problems with LMS 7.7.3 apparently.

ghost avatar Nov 16 '14 15:11 ghost

I'm having some issues installing Inline::Python on a raspberry pi + SqueezePlug:

pi@max2play ~ $ sudo cpanm --notest Inline::Python
--> Working on Inline::Python
Fetching http://www.cpan.org/authors/id/N/NI/NINE/Inline-Python-0.48.tar.gz ... OK
Configuring Inline-Python-0.48 ... OK
Building Inline-Python-0.48 ... FAIL
! Installing Inline::Python failed. See /root/.cpanm/work/1426151109.8207/build.log for details. Retry with --force to force install it.
pi@max2play ~ $ sudo cat /root/.cpanm/work/1426151109.8207/build.log
cpanm (App::cpanminus) 1.7027 on perl 5.014002 built for arm-linux-gnueabihf-thread-multi-64int
Work directory is /root/.cpanm/work/1426151109.8207
You have make /usr/bin/make
You have /usr/bin/wget
You have /bin/tar: tar (GNU tar) 1.26
Copyright (C) 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching Inline::Python on cpanmetadb ...
--> Working on Inline::Python
Fetching http://www.cpan.org/authors/id/N/NI/NINE/Inline-Python-0.48.tar.gz
-> OK
Unpacking Inline-Python-0.48.tar.gz
Entering Inline-Python-0.48
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.57_05)
Configuring Inline-Python-0.48
Running Makefile.PL
Found these python executables on your PATH:
1. /usr/bin/python
Using the only python executable I could find
Set the INLINE_PYTHON_EXECUTABLE environment variable to the full path to your python executable to override this selection.
Using /usr/bin/python
Using These Settings:
   Extra Libs:  -lpthread -ldl  -lutil
   Python Lib:  -L/usr/lib/python2.7/config -lpython2.7
   Includes:    -I/usr/include/python2.7
   Extra Flags: none (perl Makefile.PL --help for details)
Checking if your kit is complete...
Looks good
Writing Makefile for Inline::Python
Writing MYMETA.yml
-> OK
Checking dependencies from MYMETA.yml ...
Building Inline-Python-0.48
cp Python.pm blib/lib/Inline/Python.pm
cp Python.pod blib/lib/Inline/Python.pod
/usr/bin/perl /usr/share/perl/5.14/ExtUtils/xsubpp  -typemap /usr/share/perl/5.14/ExtUtils/typemap  Python.xs > Python.xsc && mv Python.xsc Python.c
cc -c  -I/usr/include/python2.7 -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fstack-protector -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g   -DVERSION=\"0.48\" -DXS_VERSION=\"0.48\" -fPIC "-I/usr/lib/perl/5.14/CORE"  -DEXPOSE_PERL -DCREATE_PYTHON -UCREATE_PERL Python.c
In file included from Python.xs:4:0:
/usr/lib/perl/5.14/CORE/perl.h:612:24: fatal error: sys/types.h: No such file or directory
compilation terminated.
Makefile:351: recipe for target 'Python.o' failed
make: *** [Python.o] Error 1
-> FAIL Installing Inline::Python failed. See /root/.cpanm/work/1426151109.8207/build.log for details. Retry with --force to force install it.
pi@max2play ~ $

I've tried installing the following python-dev, libgd-gd2-perl, build-essential, libc6-dev with no luck, any ideas?

zegnus avatar Mar 12 '15 09:03 zegnus

I've fixed the issue with this command:

sudo apt-get install --reinstall libc6-dev

This is how I've discovered it.

Through sudo apt-file find sys/types.h you can discover which packages are available for you and that includes the file that you are looking for. In my case, I was interested in a file at ..include/.../sys/types.h.

The most problable candidate was this entry libc6-dev: /usr/include/arm-linux-gnueabihf/sys/types.h

Then I looked on my system for the types.h files as I already had installed the libc6-dev package. This is the output:

pi@max2play /usr/include/sys $ sudo find /usr/include -name types.h
/usr/include/xapian/types.h
/usr/include/gssrpc/types.h
/usr/include/mit-krb5/gssrpc/types.h
/usr/include/rpc/types.h
/usr/include/arm-linux-gnueabihf/bits/types.h
/usr/include/arm-linux-gnueabihf/asm/types.h
/usr/include/freebsd/sys/types.h
/usr/include/asm-generic/types.h
/usr/include/c++/4.6/parallel/types.h
/usr/include/linux/types.h

So something was not right, I was missing the types.h inside the ../sys folder

So I've decided to give it a change and reinstall the package again.

And now sudo cpanm --notest Inline::Python gets installed without problems.

Have a nice day guys

zegnus avatar Mar 12 '15 10:03 zegnus

@zegnus Great! Thanks for letting us know.

hechtus avatar Mar 12 '15 10:03 hechtus

Hi @hechtus no luck with playing though the Google Play Music plugin, though everything is fine with TuneIn or Soma radio.

Which logs would you like me to provide?

I have a raspberry pi b+ and I'm wondering if there is any performance issues. The raspberry is connected to the router through ethernet.

More information:

I can see all the playlists, I can browse, I can access All Access (I'm a subscriber), when I click on play for a particular song, everything loads but the song just doesn't start to play.

zegnus avatar Mar 12 '15 11:03 zegnus

Updating to the media server v7.9 http://downloads.slimdevices.com/nightly/index.php?ver=7.9 solves the issue

zegnus avatar Mar 12 '15 16:03 zegnus

Hi

I've installed the latest version on a RPI with Raspbian, LMS and SqueezeLite. I've been trying to get the Google Music API working and believe I've followed the steps correctly, but everytime I go to the plugins page to add my account details I'm presented with.....

404 Not Found: plugins/Extensions/settings/plugins/GoogleMusic/settings/basic.html

I've tried copying the GoogleMusic/settings/basic.html from

/var/lib/squeezeboxserver/cache/InstalledPlugins/Plugins/GoogleMusic/HTML/EN/plugins/GoogleMusic

to

/var/lib/squeezeboxserver/Plugins/GoogleMusic/HTML/EN/plugins/GoogleMusic

/var/lib/squeezeboxserver/cache/templates/usr/share/perl5/Slim/Plugin/Extensions/HTML/EN/plugins/Extensions/settings/plugins/GoogleMusic

/usr/share/perl5/Slim/Plugin/Extensions/HTML/EN/plugins/Extensions/settings/plugins/GoogleMusic

but its still giving a 404 error. Has anyone else experienced this issue and knows how to resolve it?

Thanks

Alex

langleyalex avatar May 15 '16 19:05 langleyalex