hechtus / squeezebox-googlemusic

Squeezebox (Logitech Media Server) Plugin for Google Play Music
103 stars 24 forks source link

Test the Plugin on a Raspberry Pi #7

Open hechtus opened 11 years ago

hechtus commented 11 years ago

Test the plugin on a Raspberry Pi SqueezePlug.

hechtus commented 11 years ago

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 commented 11 years ago

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 commented 11 years ago

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

ultraschuppi commented 10 years ago

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

HuwByrn commented 10 years ago

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.

hechtus commented 10 years ago

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

SteUK commented 10 years ago

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!

hechtus commented 10 years ago

@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.

gytisgreitai commented 9 years ago

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 commented 9 years ago

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

hechtus commented 9 years ago

Great! Thanks for reporting anyway.

gytisgreitai commented 9 years ago

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

ukslim commented 9 years ago

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" notifications@github.com 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 .

gytisgreitai commented 9 years ago

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.

hechtus commented 9 years ago

@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.

gytisgreitai commented 9 years ago

@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.

ghost commented 9 years ago

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.

zegnus commented 9 years ago

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 commented 9 years ago

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

hechtus commented 9 years ago

@zegnus Great! Thanks for letting us know.

zegnus commented 9 years ago

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 commented 9 years ago

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

langleyalex commented 8 years ago

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