PDA

View Full Version : Best place to download Squeezeplay?



itm
2017-05-01, 02:46
Can anyone recommend a version of Squeezeplay which works with Windows 10? I have an old beta version installed which often fails to refresh the "Now Playing" information, so was hoping that there was a version out there that has fixed this. I've tried downloading from the @Ralphy site, but it failed, saying that I needed authentication.
????

ralphy
2017-05-01, 04:14
This is the url to my current squeezeplay windows builds.

https://sourceforge.net/projects/lmsclients/files/squeezeplay/windows/

PasTim
2018-02-15, 09:36
This is the url to my current squeezeplay windows builds.

https://sourceforge.net/projects/lmsclients/files/squeezeplay/windows/
I've tried the amd64 version for linux but it fails to run for one or more reasons on version 1006.

1. The instructions say chmod on jive_alsa, but there's no such file - there is jive.
2. When I run it it says it has an error loading libdirectfb-1.2.so:9 ... no such file. I seem to have version 1.7 on xubuntu 17.10.

No matter, I'm happy to try and build myself, but where do I start? Where did the source come from?

Roland0
2018-02-15, 14:19
I've tried the amd64 version for linux but it fails to run for one or more reasons on version 1006.
1. The instructions say chmod on jive_alsa, but there's no such file - there is jive.

Probably because you are using the pulse audio version.



2. When I run it it says it has an error loading libdirectfb-1.2.so:9 ... no such file. I seem to have version 1.7 on xubuntu 17.10.

Use squeezeplay-7.8.0-984 amd64 instead



No matter, I'm happy to try and build myself, but where do I start? Where did the source come from?

github (https://github.com/ralph-irving/squeezeplay)

PasTim
2018-02-15, 14:39
Probably because you are using the pulse audio version.


Use squeezeplay-7.8.0-984 amd64 instead


github (https://github.com/ralph-irving/squeezeplay)
Thanks.

I managed to get the pulse version to work by downloading libdirectfb-1.2.so:9 (for ubuntu 16.04), and it runs, albeit using portaudio. I'll try the non-pulse version.

I did find an older set of source files but there were a number of compilation failures beyond my ability to fix. I'll try ralphy's.

PasTim
2018-02-16, 01:17
Thanks.

I managed to get the pulse version to work by downloading libdirectfb-1.2.so:9 (for ubuntu 16.04), and it runs, albeit using portaudio. I'll try the non-pulse version.

I did find an older set of source files but there were a number of compilation failures beyond my ability to fix. I'll try ralphy's.
I got the asla version running as well.

I tried compiling Ralphy's from github but it complains that my CPU isn't 64 bit (it is). Strange, but of no concern now I have a running version.

ralphy
2018-02-18, 05:47
I got the asla version running as well.

I tried compiling Ralphy's from github but it complains that my CPU isn't 64 bit (it is). Strange, but of no concern now I have a running version.

Try changing -march=pentium4 to -march=core2 in Makefile.linux26. If that doesn't work, try removing the -march option completely.

Also pull the latest changes from git as yesterday I fixed another issue compiling squeezeplay with newer versions of gcc.

PasTim
2018-02-18, 08:20
Try changing -march=pentium4 to -march=core2 in Makefile.linux26. If that doesn't work, try removing the -march option completely.

Also pull the latest changes from git as yesterday I fixed another issue compiling squeezeplay with newer versions of gcc.
Thanks. I had to do the same to Makefile in zlib-1.2.7. I then had to add libtolua++5.1-dev, and assumed I should respond y to the 4 patch requests (is that correct?).

But then after that I'm still missing the tolua++ command. tolua++5.1 does exist. I don't understand enough of the Makefile to know what to do about that - there's quite a bit of stuff about tolua++-1.0.92.



tolua++ -n jive -o src/ui/lua_jiveui.c src/ui/lua_jiveui.pkg
/bin/bash: tolua++: command not found
Makefile:1236: recipe for target 'src/ui/lua_jiveui.c' failed

ralphy
2018-02-19, 06:23
Thanks. I had to do the same to Makefile in zlib-1.2.7. I then had to add libtolua++5.1-dev, and assumed I should respond y to the 4 patch requests (is that correct?).

But then after that I'm still missing the tolua++ command. tolua++5.1 does exist. I don't understand enough of the Makefile to know what to do about that - there's quite a bit of stuff about tolua++-1.0.92.



tolua++ -n jive -o src/ui/lua_jiveui.c src/ui/lua_jiveui.pkg
/bin/bash: tolua++: command not found
Makefile:1236: recipe for target 'src/ui/lua_jiveui.c' failed


No you should not be asked about the patches and there should be no reason it should need to build tolua++ unless you changed src/squeezeplay/src/ui/lua_jiveui.c for some reason?

I'd suggest cloning a completely new copy of the squeezeplay source and try the build again. That's likely the easiest way to get it working.

PasTim
2018-02-19, 07:05
No you should not be asked about the patches and there should be no reason it should need to build tolua++ unless you changed src/squeezeplay/src/ui/lua_jiveui.c for some reason?

I'd suggest cloning a completely new copy of the squeezeplay source and try the build again. That's likely the easiest way to get it working.
Thanks. That worked cleanly with just the one pentium4 to core2 change in Makefile.linux26. I can only assume that repeated failed builds caused my previous problems. :)

PasTim
2018-02-19, 14:40
However, I then tried to do the same on my laptop. With a completely new git clone it has twice failed as below. I installed libtolua++5.1-dev just in case it would help, but no joy. I haven't changed any code at all.



...
configure: creating ./config.status
/bin/bash ./config.status
config.status: creating Makefile
config.status: creating src/config.h
config.status: src/config.h is unchanged
config.status: executing depfiles commands
tolua++ -n jive -o src/ui/lua_jiveui.c src/ui/lua_jiveui.pkg
/bin/bash: tolua++: command not found
Makefile:1236: recipe for target 'src/ui/lua_jiveui.c' failed
make[1]: *** [src/ui/lua_jiveui.c] Error 127
make[1]: Leaving directory '/home/me/Programs/squeezeplay/src/squeezeplay'
Makefile.linux26:258: recipe for target 'squeezeplay' failed
make: *** [squeezeplay] Error 2


Some may ask why I want to try squeezeplay again (after many years without). Having used my mobile away from hone (using ssh with a public key to connect to my home system) I wanted to be able to use my laptop in the same way, and squeezeplay seemed like it might be a more convenient mechanism than squeezelite and a web browser over public networks. I tested building my own on my (much faster) desktop, and having got that to work did the same on my laptop. I thought it would be better to recompile on the localmachine in case there were different libraries installed that might cause problems just copying over the built system.

PasTim
2018-02-19, 16:04
However, I then tried to do the same on my laptop. With a completely new git clone it has twice failed as below. I installed libtolua++5.1-dev just in case it would help, but no joy. I haven't changed any code at all...
Mystery, mystery. I found I had failed to install all the libraries in the README.linux on my laptop (RTFM....). Some had to be substituted with later versions. I then got stuck on -lcurses being missing. I tried various libcurses, and lua-curses, before finding libncurses..., which seemed to do the trick.

And now I'm back to missing tolua++ again. I'll keep trying.

PasTim
2018-02-20, 04:06
Mystery, mystery. I found I had failed to install all the libraries in the README.linux on my laptop (RTFM....). Some had to be substituted with later versions. I then got stuck on -lcurses being missing. I tried various libcurses, and lua-curses, before finding libncurses..., which seemed to do the trick.

And now I'm back to missing tolua++ again. I'll keep trying.
I may have to give up on this. I've checked the listed installed libraries on my 2 systems are the same, but squeezeplay won't build on my laptop, giving the tolua++ error every time. Is there anything else I could look for?

However, I have copied the desktop build over and that seems to run OK on the laptop.

Having done this, squeezeplay doesn't seem to like running via ssh. It plays music OK, but the control (I assume via port 9000) doesn't function and it says it hasn't connected, even though using a web browser over port 9000 on the same laptop can see the squeezeplay and play music on it. Strange. I wonder if there is some other transient connection on some other port that I haven't mapped (I use ssh to make ports 9000 and 3483 local to the laptop, which works for browsers and squeezelite).

PasTim
2018-02-23, 05:49
I solved the ssh issue in thread http://forums.slimdevices.com/showthread.php?108734-Problems-getting-squeezeplay-to-work-remotely-over-ssh&p=907578#post907578

I have also spent time trying to find out why I can't successfully 'make' squeezeplay on my laptop.

It's very strange. I've compared the output of the builds on both system and they stay the same for about 1750 lines. I then get several of these types of warning on the laptop, but not the desktop:


cd SDL_image-1.2.5; make && make install
make[1]: Entering directory '/home/crusty/Programs/squeezeplay/src/SDL_image-1.2.5'
cd . && /bin/bash /home/crusty/Programs/squeezeplay/src/SDL_image-1.2.5/missing --run aclocal-1.9
/home/crusty/Programs/squeezeplay/src/SDL_image-1.2.5/missing: line 52: aclocal-1.9: command not found
WARNING: `aclocal-1.9' is missing on your system. You should only need it if
you modified `acinclude.m4' or `configure.in'. You might want
to install the `Automake' and `Perl' packages. Grab them from
any GNU archive site.
cd . && /bin/bash /home/crusty/Programs/squeezeplay/src/SDL_image-1.2.5/missing --run automake-1.9 --foreign
/home/crusty/Programs/squeezeplay/src/SDL_image-1.2.5/missing: line 52: automake-1.9: command not found
WARNING: `automake-1.9' is missing on your system. You should only need it if
you modified `Makefile.am', `acinclude.m4' or `configure.in'.
You might want to install the `Automake' and `Perl' packages.
Grab them from any GNU archive site.
cd . && /bin/bash /home/crusty/Programs/squeezeplay/src/SDL_image-1.2.5/missing --run autoconf
configure.in:48: warning: AC_CACHE_VAL(lt_prog_compiler_pic_works, ...): suspicious cache-id, must contain _cv_ to be cached
../../lib/autoconf/general.m4:2042: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:2063: AC_CACHE_CHECK is expanded from...
acinclude.m4:799: AC_LIBTOOL_COMPILER_OPTION is expanded from...
...


On the desktop at the same point I get:


cd SDL_image-1.2.5; make && make install
make[1]: Entering directory '/home/crusty/Programs/squeezeplay/src/SDL_image-1.2.5'
if /bin/bash ./libtool --tag=CC --mode=compile gcc -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE_URL=\"\" -DPACKAGE=\"SDL_image\" -DVERSION=\"1.2.5\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLOAD_JPG=1 -DLOAD_PNG=1 -DLOAD_BMP=1 -DLOAD_GIF=1 -DLOAD_LBM=1 -DLOAD_PCX=1 -DLOAD_PNM=1 -DLOAD_TGA=1 -DLOAD_XCF=1 -DLOAD_XPM=1 -DLOAD_XV=1 -I. -I. -I/home/crusty/Programs/squeezeplay/build/linux/include -I/home/crusty/Programs/squeezeplay/build/linux/include/SDL -I/home/crusty/Programs/squeezeplay/build/linux/include/freetype2 -s -O3 -fPIC -march=core2 -I/home/crusty/Programs/squeezeplay/build/linux/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -MT IMG.lo -MD -MP -MF ".deps/IMG.Tpo" -c -o IMG.lo IMG.c; \
then mv -f ".deps/IMG.Tpo" ".deps/IMG.Plo"; else rm -f ".deps/IMG.Tpo"; exit 1; fi
mkdir .libs
...


I have not modified any files. I have the same versions of automake, m4, perl, autoconf (and autoconf-archive) and so on on both systems, and the full list of libraries in README.linux. I tried installing libsdl1.2-dev (which was on the desktop, not on the laptop) but it made no difference.

I still get the failure for tolua++ missing on the laptop, and wonder if it's related to the above differences.

I know that I don't have to do this, since I can copy the version built on my desktop to the laptop, but it's 'a niggle' :( or :)

If interested, I could send zipped build outputs by PM, but I know it's not an issue that others might want to spend time on.

ralphy
2018-02-23, 06:24
I may have to give up on this. I've checked the listed installed libraries on my 2 systems are the same, but squeezeplay won't build on my laptop, giving the tolua++ error every time. Is there anything else I could look for?

The makefile never included rules to make the tolua++ binary only the library. At least it's been that way since I first cloned the original squeezeplay subversion repository to port it to solaris.

I suspect whoever made that decision wanted to remove the scons build dependency?

Installing the OS tolua* package(s) is not a good idea as they will almost always be newer than what's included in squeezeplay causing conflicts. None of my build systems have the tolua packages installed. Anyway, there shouldn't be a need for the binary to exist to build and I'm not sure why one of your systems requires it and the other does not. I'll look at building all of tolua++ the same as all the other support libraries.

I've changed the linux makefiles to use -mcore2 and renamed them removing the linux 2.6 kernel reference from back in the day when we only had linux 2.4 and 2.6 mainline kernels.

PasTim
2018-02-23, 06:52
I saw the demise of linux version 26 - it caught me for a couple of minutes.

Looking at the two builds, the problems seem to start just after the patches. The successful one goes:


atch -p1 -i squeezeplay-lua-cjson.patch
patching file squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
patching file squeezeplay/share/applets/ImageViewer/ImageSourceServer.lua
patching file squeezeplay/share/jive/utils/jsonfilters.lua
patching file squeezeplay/share/jive/slim/Player.lua
export PATH=/home/crusty/Programs/squeezeplay/build/linux/bin:/home/crusty/kde/usr/bin:/home/crusty/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-9-oracle/bin:/usr/lib/jvm/java-9-oracle/db/bin; \
cd squeezeplay; make && make install
make[1]: Entering directory '/home/crusty/Programs/squeezeplay/src/squeezeplay'
/bin/bash: svnversion: command not found
make all-am
make[2]: Entering directory '/home/crusty/Programs/squeezeplay/src/squeezeplay'
if /bin/bash ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I./src -I/home/crusty/Programs/squeezeplay/build/linux/include -I/home/crusty/Programs/squeezeplay/build/linux/include/SDL -I/home/crusty/Programs/squeezeplay/build/linux/include/freetype2 -s -O3 -fPIC -march=core2 -I/home/crusty/Programs/squeezeplay/build/linux/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -Wall -Wextra -Wdeclaration-after-statement -Wpointer-arith -Wno-cast-align -Wno-unused-parameter -Wno-unused-function -DSQUEEZEPLAY -MT jive_event.lo -MD -MP -MF ".deps/jive_event.Tpo" -c -o jive_event.lo `test -f 'src/ui/jive_event.c' || echo './'`src/ui/jive_event.c; \
then mv -f ".deps/jive_event.Tpo" ".deps/jive_event.Plo"; else rm -f ".deps/jive_event.Tpo"; exit 1; fi

The failed one goes:


patch -p1 -i squeezeplay-lua-cjson.patch
patching file squeezeplay/share/applets/SlimBrowser/SlimBrowserApplet.lua
patching file squeezeplay/share/applets/ImageViewer/ImageSourceServer.lua
patching file squeezeplay/share/jive/utils/jsonfilters.lua
patching file squeezeplay/share/jive/slim/Player.lua
export PATH=/home/crusty/Programs/squeezeplay/build/linux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/bin:/usr/lib/jvm/java-8-oracle/jre/bin; \
cd squeezeplay; make && make install
make[1]: Entering directory '/home/crusty/Programs/squeezeplay/src/squeezeplay'
cd . && /bin/bash /home/crusty/Programs/squeezeplay/src/squeezeplay/config/missing --run aclocal-1.9
/home/crusty/Programs/squeezeplay/src/squeezeplay/config/missing: line 52: aclocal-1.9: command not found
WARNING: `aclocal-1.9' is missing on your system. You should only need it if
you modified `acinclude.m4' or `configure.in'. You might want
to install the `Automake' and `Perl' packages. Grab them from
any GNU archive site.
cd . && /bin/bash /home/crusty/Programs/squeezeplay/src/squeezeplay/config/missing --run automake-1.9 --foreign
/home/crusty/Programs/squeezeplay/src/squeezeplay/config/missing: line 52: automake-1.9: command not found
WARNING: `automake-1.9' is missing on your system. You should only need it if
you modified `Makefile.am', `acinclude.m4' or `configure.in'.
You might want to install the `Automake' and `Perl' packages.
Grab them from any GNU archive site.
cd . && /bin/bash /home/crusty/Programs/squeezeplay/src/squeezeplay/config/missing --run autoconf
configure.in:18: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2672: _AC_LINK_IFELSE is expanded from...
../../lib/autoconf/general.m4:2689: AC_LINK_IFELSE is expanded from...
aclocal.m4:369: _LT_AC_SYS_LIBPATH_AIX is expanded from...
aclocal.m4:5566: AC_LIBTOOL_PROG_LD_SHLIBS is expanded from...
aclocal.m4:2801: _LT_AC_LANG_C_CONFIG is expanded from...
aclocal.m4:2800: AC_LIBTOOL_LANG_C_CONFIG is expanded from...
aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from...
aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from...
aclocal.m4:31: AC_PROG_LIBTOOL is expanded from...
configure.in:18: the top level
configure.in:18: warning: AC_LANG_CONFTEST: no AC_LANG_SOURCE call detected in body
../../lib/autoconf/lang.m4:193: AC_LANG_CONFTEST is expanded from...
../../lib/autoconf/general.m4:2672: _AC_LINK_IFELSE is expanded from...
../../lib/autoconf/general.m4:2689: AC_LINK_IFELSE is expanded from...
aclocal.m4:369: _LT_AC_SYS_LIBPATH_AIX is expanded from...
....
and a load of configure checking followed by the tolua++ error

PasTim
2018-02-23, 15:55
You're going to like this, or maybe not.

I tripped over a remark on the web that sometimes the date/times on files can make it look as if some files (e.g. configure.in) have been modified, when in fact they haven't been. The suggestion was to use the zip file rather than git clone, in the hope that the times would match properly.

So I did that....

And it builds correctly....

And all because my laptop is slow....

The things you learn as time goes by (I'll be getting my first state pension next week!). I would never have guessed this in a million years. Thanks be to google & the internet.

Please accept my apologies for wasting any of your time.

ralphy
2018-02-24, 05:34
No worries.

Now the next time I see a squeezeplay build trying to run tolua++ I'll know to check that the system time is correct first.

PasTim
2018-02-24, 09:33
No worries.

Now the next time I see a squeezeplay build trying to run tolua++ I'll know to check that the system time is correct first.
I did a test earlier today, and for some elements, some files (eg a makefile.am) had a 1 second time difference to aclocal.m4 and/or configure.in. That's all it took. We live, and hopefully learn :)

PasTim
2018-02-24, 14:50
I found one simple solution which allows me to continue to use git clone and git pull. Have done the clone, from the top level directory of the program (e.g. squeezeplay) enter:


find . -exec touch -t 201802242100.00 {} \;

or to whatever date/time one wishes. This works for squeezeplay, getting rid of all the complaints about not having the right version of aclocal or of having changed config or make files, and the failed tolua++ command, since all the key files have exactly the same modified date/time. It also doesn't seem to affect subsequent git pulls, since these seem to rely on file hashes rather than timestamps.

kappclark
2019-03-11, 09:45
No worries.

Now the next time I see a squeezeplay build trying to run tolua++ I'll know to check that the system time is correct first.

FWIW - I just installed squeezeplay 7.8 on a 10 yr old Toshiba laptop with 32 bit Windows 7 .....after allowing rules in firewall, it found the LMS server and all my favorites ---

Thank You, Ralph...!

kappclark
2019-03-14, 06:16
***
For Linux desktop users - I am running squeezeplay in WINE on Fedora29 KDE with no issues -- connected to the LMS library via Remote Library connect feature, connecting to IP Address of server (a Vortexbox)

... seems the local server is not seen automatically since the wine instance uses a different subnet.. I see the new player on my phone

Fabulous that this works so well ...