The subject of building Squeezeplay on Linux comes up occasionally but the most popular Googled guides are also a bit out of date, so here's what I just pulled off on my i386 Xubuntu box.
1. Set up your environment: I'm not sure if this dependency list is up to date since I know I've had to update these libraries for other projects from time to time. Therefore I simply copied this list from the excellent though old http://www.jfwhome.com/2009/11/22/compiling-squeezeplay-on-linux-ubuntu-amd64/ . If you're doing this from scratch you may find that you have to update the library list, but this will at least get you moving in the right direction. sudo apt-get install build-essential flex bison subversion automake libtool libpng12-dev libjpeg62-dev libexpat1-dev libreadline5-dev xorg-dev libflac++-dev libvorbis-dev libvorbisidec-dev libasound-dev 2. Pull a Squeezeplay v7.8 snapshot: cd <builddir> svn co http://svn.slimdevices.com/repos/jive/7.8/trunk/squeezeplay 3. Tweak <builddir>/squeezeplay/src/Makefile.linux: On line 10, change ${PWD} to $(shell pwd) . After the change, line 10 will look like this: SRC_DIR = $(realpath $(shell pwd)) . Search for 'luaprofiler-2.0', change line from: cd luaprofiler-2.0 && make -f Makefile.linux install to: cd luaprofiler-2.0 && LD="gcc -shared" make -f Makefile.linux install 4. Tweak <builddir>/squeezeplay/src/squeezeplay/src/audio/decode/decode.c: Search for 'elapsed:%llu' , change printf line from '%llu' to '%"PRIu64"' . After the change, the line will look something like this: printf("elapsed:%"PRIu64" buffers: %0.1f%%/%0.1f%%\n", elapsed, dbuf, obuf); 5. Kludge the Squeezeplay PulseAudio library by downloading the latest library snapshot: http://www.portaudio.com/archives/pa_snapshot.tgz Delete all contents in <builddir>/squeezeplay/src/portaudio_v19_1360, then expand the library snapshot in this directory. 6. Kludge the Squeezeplay SDL library by downloading 1.2.15 source from: http://www.libsdl.org/download-1.2.php Delete all contents in <builddir>/squeezeplay/src/SDL-1.2.13 then expand the latest source in this directory. 7. cd <builddir>/squeezeplay/src/, execute "sudo make -f Makefile.linux" . If the build succeeds your results will be in <builddir>/squeezeplay/build (as directories you can copy to /opt/squeezeplay AND a tarball). This gets you a working build but there's some other stuff you'll have to tweak to get around PulseAudio. 8. Modify your ALSA configuration: a. Copy /usr/share/alsa/alsa.conf to /usr/share/alsa/alsa-nopulse.conf. b. Comment OUT any Pulse invocation in also-nopulse.conf. In my case I commented every alsa.conf.d invocation within the @hooks/files section of this file, leaving "/etc/asound.conf" and "~/.asoundrc" in place, e.g.: @hooks [ { func load files [ # { # @func concat # strings [ # { @func datadir } # "/alsa.conf.d/" # ] # } "/etc/asound.conf" "~/.asoundrc" ] errors false } ] 9. Modify the squeezeplay.sh script you just built (<builddir>/squeezeplay/bin/squeezeplay.sh) to bypass PulseAudio using your new script: Change "./jive" to: ALSA_CONFIG_PATH=/usr/share/alsa/alsa-nopulse.conf ./jive 10. My system has some remaining permissions issues so I have to run /opt/squeezeplay/bin/squeezeplay.sh with root privilege. I got tired of tracking problems down so if anyone knows how to get it running as a normal user, please add to the thread. ------------------------------------------------------------------------ Braklet's Profile: http://forums.slimdevices.com/member.php?userid=47269 View this thread: http://forums.slimdevices.com/showthread.php?t=97714 _______________________________________________ jive mailing list [email protected] http://lists.slimdevices.com/mailman/listinfo/jive
