Home of the Squeezebox™ & Transporter® network music players.
Page 2 of 2 FirstFirst 12
Results 11 to 14 of 14
  1. #11
    Senior Member
    Join Date
    Dec 2020
    Posts
    188
    Quote Originally Posted by ralphy View Post
    I have encountered that before with the desktop linux squeezeplay and can be caused by using png library versions newer than 1.2.x.
    Figures... Turns out I had a rogue libpng 3.x from some unknown source on the dev machine and because the sources have been altered to statically link to most of the external libraries this became obscured. I really really really like ldd to show the same dependencies (except for libspotify then).

  2. #12
    Senior Member
    Join Date
    Dec 2020
    Posts
    188
    Wow! This is pretty steep. I managed to fix the issue with the images and my resulting jive executable is now half the size of the original. And I didn't even strip it. Seems like the original jive already had the same libraries linked in statically as it linked to dynamically. This software is buggy as hell...

    Either way, the lua_number patch seems to be doing fine. Shamefully I had a power outage that caused the Touch to restart from zero, but my Radio is still going steady at currently 28+ days uptime. 21 days to go...

  3. #13
    Senior Member ralphy's Avatar
    Join Date
    Jan 2006
    Location
    Canada
    Posts
    2,939
    That great news that you have the lua number patch working. I look forward to trying it out in the community firmware. Do you have a diff of the required changes that I could test?

    The logitech jive binary has the AAC decoder linked statically as it was proprietary at that time but other libraries are only dynamically linked.
    Code:
    # ls -lh jive
    -rwxr-xr-x    1 root     root        1.7M Dec 31  1969 jive
    # ldd jive
    	libtolua++.so => /usr/lib/libtolua++.so (0x40028000)
    	libSDL_image-1.2.so.0 => /usr/lib/libSDL_image-1.2.so.0 (0x40037000)
    	libpng12.so.0 => /usr/lib/libpng12.so.0 (0x4005b000)
    	libz.so.1 => /usr/lib/libz.so.1 (0x4008c000)
    	libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0x400a6000)
    	libSDL_ttf-2.0.so.0 => /usr/lib/libSDL_ttf-2.0.so.0 (0x400fc000)
    	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x40109000)
    	libSDL_gfx.so.0 => /usr/lib/libSDL_gfx.so.0 (0x40176000)
    	libFLAC.so.8 => /usr/lib/libFLAC.so.8 (0x40192000)
    	libmad.so.0 => /usr/lib/libmad.so.0 (0x401e1000)
    	libvorbisidec.so.1 => /usr/lib/libvorbisidec.so.1 (0x40201000)
    	libresolv.so.2 => /lib/libresolv.so.2 (0x40224000)
    	libspotify.so.6 => not found - because it's obsolete and has been removed from the community firmware.
    	libasound.so.2 => /usr/lib/libasound.so.2 (0x40243000)
    	libm.so.6 => /lib/libm.so.6 (0x402bf000)
    	libdl.so.2 => /lib/libdl.so.2 (0x40360000)
    	librt.so.1 => /lib/librt.so.1 (0x4036d000)
    	libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x4037d000)
    	libpthread.so.0 => /lib/libpthread.so.0 (0x403ea000)
    	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x4040a000)
    	libc.so.6 => /lib/libc.so.6 (0x4041d000)
    	libogg.so.0 => /usr/lib/libogg.so.0 (0x40566000)
    	/lib/ld-linux.so.3 (0x40000000)
    If you're building jive from the logitech github sources, then you don't even have AAC support in your jive binary, nor will the build include the private services support libraries.

    The AAC decoder library is quite large compared to all the other ones. I'm using the android fdk-aac library equivalent and in it's shared lib form it's 1457172 bytes.

    So I don't think you are comparing binaries with the same feature sets.

    The jive binary in the community firmware for the radio is 371,188 bytes and that includes AAC support that's dynamically linked. So the size difference is close to the removal of the static AAC library.

    Code:
    # ./ldd /usr/bin/jive
    	libtolua++.so => /usr/lib/libtolua++.so (0x40028000)
    	libSDL_image-1.2.so.0 => /usr/lib/libSDL_image-1.2.so.0 (0x40037000)
    	libpng12.so.0 => /usr/lib/libpng12.so.0 (0x4005b000)
    	libz.so.1 => /usr/lib/libz.so.1 (0x4008c000)
    	libjpeg.so.8 => /usr/lib/libjpeg.so.8 (0x400a6000)
    	libSDL_ttf-2.0.so.0 => /usr/lib/libSDL_ttf-2.0.so.0 (0x400fc000)
    	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x40109000)
    	libSDL_gfx.so.0 => /usr/lib/libSDL_gfx.so.0 (0x40176000)
    	libFLAC.so.8 => /usr/lib/libFLAC.so.8 (0x40192000)
    	libogg.so.0 => /usr/lib/libogg.so.0 (0x401e1000)
    	libmad.so.0 => /usr/lib/libmad.so.0 (0x401ed000)
    	libvorbisidec.so.1 => /usr/lib/libvorbisidec.so.1 (0x4020d000)
    	libresolv.so.2 => /lib/libresolv.so.2 (0x40230000)
    	libfdk-aac.so.2 => /usr/lib/libfdk-aac.so.2 (0x4024f000)
    	libasound.so.2 => /usr/lib/libasound.so.2 (0x403bf000)
    	libm.so.6 => /lib/libm.so.6 (0x4043b000)
    	libdl.so.2 => /lib/libdl.so.2 (0x404dc000)
    	librt.so.1 => /lib/librt.so.1 (0x404e9000)
    	libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x404f9000)
    	libpthread.so.0 => /lib/libpthread.so.0 (0x40566000)
    	libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x40586000)
    	libc.so.6 => /lib/libc.so.6 (0x40599000)
    	/lib/ld-linux.so.3 (0x40000000)
    Ralphy

    1-Touch, 5-Classics, 3-Booms, 2-UE Radio
    Squeezebox client builds donations always appreciated.

  4. #14
    Senior Member
    Join Date
    Dec 2020
    Posts
    188
    Well, the diff is here: https://github.com/gordonb3/squeezep...t/1278f15.diff

    For clarity, I've only been working on jive and for this I checked out the `public 7.8` branch. As the initial post in this thread states I had to solve various compiler issues to generate my first build, at which point I found that ldd showed no dynamic linking to many of the libraries that the original version does. So I made various changes throughout the included sources to convert the static links to dynamic and I currently need to run the final link command manually.

    Interestingly I found that jive does not actually need to be linked to `resolv`, however on the Touch this causes jive to run without a GUI due to libspotify requiring it.

Posting Permissions

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