Home of the Squeezebox™ & Transporter® network music players.
Results 1 to 6 of 6
  1. #1
    Junior Member
    Join Date
    Sep 2018
    Posts
    1

    Build Squeezelite

    Hi all,

    I've started a home audio system, including :
    - 3 RPI with piCorePlayer (one PI B, 2 PI zero),
    - a controller software (Squeezer running on my Android phone).

    This works fine.

    Now I'd like to add some features, including remotelly controlling (from Squeezer) some I/O on the RPIs.
    I guess I can do this by changing the Squeezelite software.

    So I've created a virtual machine under Linux (Mint 18.2), and installed the Squeezelite project and the necessary libraries.

    When I build the project on this virtual machine, I'm facing 2 issues (maybe linked) :
    - I had to change the makefile, because some compiler options were not accepted : -march=armv6 -mfloat-abi=hard -mfpu=vfp (I've removed these options),
    - without these options the program is built, but fails to start when installed on the RPI; error is "Linux syntax error ( unexpected".

    Any help about how to build (locally or by cross-compile) and run the Squeezelite software on a RPI, will be greatly appreciated.

    Thanks,
    Claude

  2. #2
    Senior Member
    Join Date
    Oct 2005
    Location
    Ireland
    Posts
    16,453
    Quote Originally Posted by ClaudeBoulard View Post
    Now I'd like to add some features, including remotelly controlling (from Squeezer) some I/O on the RPIs.
    I guess I can do this by changing the Squeezelite software.
    Personally, unless you're doing something really unusual, I'd avoid changing squeezelite and use a small program probably in Python to do the GPIO stuff.

    There have been very many projects using squeezelite, RPIs and custom control using GPIO - if you describe your final goal - somebody may be able to point you at something useful.

  3. #3
    Senior Member
    Join Date
    Sep 2005
    Posts
    2,703
    Quote Originally Posted by ClaudeBoulard View Post
    Now I'd like to add some features, including remotelly controlling (from Squeezer) some I/O on the RPIs.
    I guess I can do this by changing the Squeezelite software.
    You can but you shouldnt

    A dedicatec small Software like eg squeezelite is for a single purpose.
    Another little Software for Controlling RPI GPIO is the better solution.
    Same to adding some addons to something like squeezer is IMHO the same.

  4. #4
    Senior Member paul-'s Avatar
    Join Date
    Jan 2013
    Posts
    1,500
    The most common use of GPIO is to toggle an amp on and off based on the player status, that is already built into squeezelite. For other buttons, I would recommend using this to read from GPIO and issue commands to the LMS server.

    https://forums.slimdevices.com/showt...oders-on-a-RPi
    piCorePlayer a small player for the Raspberry Pi in RAM.
    Homepage: https://www.picoreplayer.org

    Please donate if you like the piCorePlayer

  5. #5
    Senior Member
    Join Date
    May 2008
    Location
    Canada
    Posts
    4,300
    Quote Originally Posted by ClaudeBoulard View Post
    Hi all,

    I've started a home audio system, including :
    - 3 RPI with piCorePlayer (one PI B, 2 PI zero),
    - a controller software (Squeezer running on my Android phone).

    This works fine.

    Now I'd like to add some features, including remotelly controlling (from Squeezer) some I/O on the RPIs.
    I guess I can do this by changing the Squeezelite software.

    So I've created a virtual machine under Linux (Mint 18.2), and installed the Squeezelite project and the necessary libraries.

    When I build the project on this virtual machine, I'm facing 2 issues (maybe linked) :
    - I had to change the makefile, because some compiler options were not accepted : -march=armv6 -mfloat-abi=hard -mfpu=vfp (I've removed these options),
    - without these options the program is built, but fails to start when installed on the RPI; error is "Linux syntax error ( unexpected".

    Any help about how to build (locally or by cross-compile) and run the Squeezelite software on a RPI, will be greatly appreciated.

    Thanks,
    Claude
    You're trying to do cross-compiling: your target is a pi but your build machine is a (I guess) a x86 processor. So this can't work unless you install a cross-compiler on the x86 and this explains why it can't start on the pi (it's x86 binary machine code that of course can't be understood by an arm cpu) and why the arm compiler options fails on the x86 machine. It's a bit tricky to do cross-compiling, so if you really want to modify squeezelite and re-compile it, I suggest you do that directly on the pi. All build tools are available on raspian or I assume on most other pi distro (I just use Debian)
    LMS 7.7, 7.8 and 7.9 - 5xRadio, 3xBoom, 4xDuet, 1xTouch, 1 SB2. Sonos PLAY:3, PLAY:5, Marantz NR1603, JBL OnBeat, XBoxOne, XBMC, Foobar2000, ShairPortW, JRiver 21, 2xChromecast Audio, Chromecast v1 and v2, , Pi B3, B2, Pi B+, 2xPi A+, Odroid-C1, Odroid-C2, Cubie2, Yamaha WX-010, AppleTV 4, Airport Express, GGMM E5

  6. #6
    Senior Member Jeff07971's Avatar
    Join Date
    Aug 2011
    Location
    London, England
    Posts
    1,156
    Quote Originally Posted by philippe_44 View Post
    You're trying to do cross-compiling: your target is a pi but your build machine is a (I guess) a x86 processor. So this can't work unless you install a cross-compiler on the x86 and this explains why it can't start on the pi (it's x86 binary machine code that of course can't be understood by an arm cpu) and why the arm compiler options fails on the x86 machine. It's a bit tricky to do cross-compiling, so if you really want to modify squeezelite and re-compile it, I suggest you do that directly on the pi. All build tools are available on raspian or I assume on most other pi distro (I just use Debian)
    Compiling SL on raspian is quite simple but there are quite a few dependencies. Heres how I do it.

    Code:
    sudo apt -y update && sudo apt -y install git libasound2-dev libflac-dev libmad0-dev libvorbis-dev libmpg123-dev libfaad-dev libsox-dev libsoxr-dev libavformat-dev liblirc-dev wiringpi
    git clone https://github.com/ralph-irving/squeezelite.git
    cd squeezelite/
    make clean && make --makefile=Makefile.rpi
    Players: SliMP3,Squeezebox3 x3,Receiver,SqueezeLite-X,PiCorePlayer x3
    Server: LMS Version: Latest Nightly on Centos 7.5 VM on ESXi 6.5.0U2 on Dell T320
    Plugins: AutoRescan/BBCiPlayer/PowerSave/PowerSwitchIII/Squeezecloud/Spotty/Player Groups
    Remotes: iPeng9/Orangesqueeze/PC/Jivelite/SqueezeLite-X
    Music: 522GB,1660 albums with 23087 songs by 5204 artists mostly FLACs

    Want a webapp ? See http://forums.slimdevices.com/showth...Webapp-for-LMS

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •