Bug 11216 - 32-bit binaries on 64-bit systems
: 32-bit binaries on 64-bit systems
Status: RESOLVED WONTFIX
Product: Logitech Media Server
Classification: Unclassified
Component: RPM
: unspecified
: PC Ubuntu Linux
: -- normal (vote)
: 8.0.1
Assigned To: Matt Wise
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2009-02-27 01:16 UTC by Manoj Kasichainula
Modified: 2011-11-17 12:46 UTC (History)
2 users (show)

See Also:
Category: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Manoj Kasichainula 2009-02-27 01:16:48 UTC
(RPM seems like somewhat the wrong category for Debian packages, but it's closest, and I bet the RPMs have the same problem)

I uninstalled flash on my amd64 architecture Ubuntu server, and in the process, dropped the 32-bit libraries. This caused my alarm clock to fail, which turned out to be because random song playback failed, because a flac | sox pipeline to play songs from my flacs w/ embedded cuesheets failed, because the sox binary that ships with the squeezecenter debian package is a 32-bit binary that needs 32-bit libc.

I'm updating my earlier bug 9534 with this, because I finally have a useful test case for alarm failure. But, the other bug here is that this problem was possible. I can see one of 3 fixes:

1. Build 64-bit binaries for 64-bit debs and RPMs
2. Add libc6-i386 as a dependency to the amd64 packages
3. Just depend on the local binaries instead of shipping sox and other binaries in the first place (though this might not always be possible)

Details of my squeezecenter setup (this is most recent squeezecenter from the testing repository)

Version: 7.3.3 - 25179 @ Thu Feb 26 03:13:36 PST 2009
Operating system: Debian - EN - utf8
Platform Architecture: x86_64-linux
Perl Version: 5.10.0 - x86_64-linux-gnu-thread-multi
MySQL Version: 5.0.67-0ubuntu6
Total Players Recognized: 2
Comment 1 Chris Owens 2009-03-02 09:13:03 UTC
cc'ing Matt to give his opinion on which of these fixes is the right one (or if the right fix is not among them)

QA to verify they can reproduce using these instructions (I hope it should be no problem) and assign based on Matt's feedback.
Comment 2 Matt Wise 2009-03-02 09:25:55 UTC
This is a very valid issue ... right now we ship some 64bit libraries/binaries at the request of end-users, but have not made our packages fully 64-bit aware. Though we could do that, the short fix for now is probably to adjust the "require" line for the Deb package to add libc6-386. I need to work with Ross to verify this fix will work in alot of scenarios, so I'll talk to him a bit about that today. 

Long term, we'll add more 64bit binaries -- but only for completeness. These binaries don't really get alot of benefit from going to 64bit in terms of performance since almost every 64bit chip out on the market is far more powerful than needed anyways. :)
Comment 3 Chris Owens 2009-03-16 09:51:52 UTC
We are now planning to make a 7.3.3 release.  Please review your bugs (all marked open against 7.3.3) to see if they can be fixed in the next few weeks, or if they should be retargeted for 7.4 or future.

Thanks!
Comment 4 Ross Levine 2009-03-20 12:53:25 UTC
Matt to investigate; I emailed him login info for a VM.
Comment 5 Chris Owens 2009-03-30 17:32:35 UTC
Since there's now a planned 7.3.3 release, bugs which won't make the cut-off are being moved to the next target out.  If you feel that this bug needs to be addressed more (or less) urgently than the 7.4 release, please cc chris@slimdevices.com and leave a comment in the bug to that effect so we can review it.

Thanks.
Comment 6 Chris Owens 2009-03-31 08:55:04 UTC
For some reason Bugzilla did not change the target when I did this yesterday.  Or maybe it was me.  In either case, I'm trying it again.
Comment 7 Pat Ransil 2009-07-30 17:18:27 UTC
Moving to 8.0.1
Comment 8 Matt Wise 2009-08-04 10:54:16 UTC
Looking into this further, adding libc6-386 as a dependency ONLY works on 64bit debian. On 32bit Debian and Ubuntu systems the package name is different. Without shipping different versions of this .deb package, there is no easy solution. For now, this is a WONTFIX. If we get to the point where a separate 64bit package makes sense, then we can implement the change to the 64bit package only.
Comment 9 Manoj Kasichainula 2009-08-04 14:40:49 UTC
So, I think I cited the improper package in my original report. When debugging other 32-bit issues a few months ago, I found that there's a "ia32-libs" package, present on both Ubuntu and Debian, that depends on libc6-i386 and other packages commonly needed for 32-bit binaries.

How about including that as a dependency instead?
Comment 10 Matt Wise 2009-08-04 14:48:03 UTC
Can you find out if its required on at least 32 and 64bit Ubuntu and  
Debian?
Comment 11 Matt Wise 2009-08-05 11:08:51 UTC
ia32-libs only exists on 64bit platforms.  Until we have a single package that we can require thats on all 32bit and 64bit systems, no changes can be made.
Comment 12 Stuart Rowan 2011-11-17 12:46:58 UTC
This just bit me. I've spent a long time wondering why streaming just keeps falling over and failing. So here's some Google juice:

[11-11-17 19:36:22.7669] Slim::Player::TranscodingHelper::tokenizeConvertCommand2 (553) Using command for conversion: "/usr/share/squeezeboxserver/Bin/i386-linux/sox" -q -t ogg
"-" -t raw -r 44100 -c 2 -2 -s -
[11-11-17 19:36:22.7672] Slim::Player::Song::open (558) Tokenized command: "/usr/share/squeezeboxserver/Bin/i386-linux/sox" -q -t ogg "-" -t raw -r 44100 -c 2 -2 -s -
[11-11-17 19:36:22.7766] Slim::Player::SongStreamController::new (31) live=1
[11-11-17 19:36:22.7793] Slim::Player::StreamingController::_Stream (1271) 00:04:20:12:32:6c: stream
[11-11-17 19:36:22.7850] Slim::Player::StreamingController::_Stream (1306) Song queue is now 0
[11-11-17 19:36:22.7857] Slim::Player::StreamingController::_setPlayingState (2365) new playing state BUFFERING
[11-11-17 19:36:22.7862] Slim::Player::StreamingController::_setStreamingState (2378) new streaming state STREAMING
[11-11-17 19:36:22.7867] Slim::Player::StreamingController::_eventAction (303) 00:04:20:12:32:6c: NextTrackReady - new state BUFFERING-STREAMING
[11-11-17 19:36:22.7919] Slim::Player::StreamingController::_eventAction (271) 00:04:20:12:32:6c: StatusHeartbeat in BUFFERING-STREAMING -> Slim::Player::StreamingController::_N
oOp
[11-11-17 19:36:22.7926] Slim::Player::StreamingController::_eventAction (271) 00:04:20:12:32:6c: StatusHeartbeat in BUFFERING-STREAMING -> Slim::Player::StreamingController::_N
oOp
[11-11-17 19:36:22.7943] Slim::Player::StreamingController::_eventAction (271) 00:04:20:12:32:6c: StatusHeartbeat in BUFFERING-STREAMING -> Slim::Player::StreamingController::_N
oOp
[11-11-17 19:36:22.7979] Slim::Player::Pipeline::sysread (282) Pipeline doesn't have pending bytes - trying to get some from source
[11-11-17 19:36:22.7983] Slim::Player::Pipeline::sysread (304) Attempting to write to pipeline writer
[11-11-17 19:36:22.7988] Slim::Player::Source::_readNextChunk (347) readlen undef: (Broken pipe) 32
[11-11-17 19:36:22.7991] Slim::Player::Source::_readNextChunk (374) end of file or error on socket, song pos: 0
[11-11-17 19:36:22.7994] Slim::Player::Source::_readNextChunk (379) 00:04:20:12:32:6c mark end of stream
[11-11-17 19:36:22.7997] Slim::Player::Source::_readNextChunk (387) Didn't stream any bytes for this song; mark it as failed
[11-11-17 19:36:22.7999] Slim::Player::StreamingController::playerStreamingFailed (2236) 00:04:20:12:32:6c
[11-11-17 19:36:22.8003] Slim::Player::StreamingController::_playersMessage (789) Problem: Can't open file for:: http://ogg2.as34763.net/vc160.ogg
[11-11-17 19:36:22.8019] Slim::Player::StreamingController::_eventAction (271) 00:04:20:12:32:6c: StreamingFailed in BUFFERING-STREAMING -> Slim::Player::StreamingController::_S
topNextIfMore
[11-11-17 19:36:22.8022] Slim::Player::StreamingController::_eventAction (284) params: errorDisconnect => undef
[11-11-17 19:36:22.8030] Slim::Player::StreamingController::_Stop (603) Song queue is now 0
[11-11-17 19:36:22.8035] Slim::Player::SongStreamController::DESTROY (44) DESTROY(Slim::Player::SongStreamController=HASH(0x655c638)) live=0
[11-11-17 19:36:22.8038] Slim::Player::StreamingController::_setPlayingState (2365) new playing state STOPPED
[11-11-17 19:36:22.8041] Slim::Player::StreamingController::_setStreamingState (2378) new streaming state IDLE
[11-11-17 19:36:22.8045] Slim::Player::StreamingController::_willRetry (1395) no retry data
[11-11-17 19:36:22.8049] Slim::Player::StreamingController::nextsong (876) The next song is number 0, was 0


Of course there are now two work-arounds in place:
 - use streaming not native decoding because the firmware on the Squeezebox is awful and crashes (reboots) and gives white noise if you ask it to stream Ogg Vorbis natively
 - when you give up on native ogg vorbis streaming and get your amd64 box to transcode the ogg to flac, you have to install libc6-i386 (once you've found this bug) otherwise you just get frustrating silent failure.

See also bug 15113