FS#20766 - [lib32-libsndfile] incorrect number of audio channels. compilation error?

Attached to Project: Community Packages
Opened by BasT (BasT) - Tuesday, 07 September 2010, 13:18 GMT
Last edited by Ionut Biru (wonder) - Wednesday, 08 September 2010, 17:06 GMT
Task Type Bug Report
Category Packages: Multilib
Status Closed
Assigned To Ionut Biru (wonder)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:
Trying to start dwarffortress (from AUR) I get:

[code]
$ dwarffortress
Sound devices available:
ALSA Software
OSS Software
Picking ALSA Software. If your desired device was missing, make sure you have the appropriate 32-bit libraries installed. If you wanted a different device, configure ~/.openalrc appropriately.
Perfect OpenAL context attributes GET
Loading bindings from data/init/interface.txt
data/sound/song_title.ogg: 3532781 frames requested, 3532781 frames read. Corrupted file?
data/sound/song_title.ogg: Unexpected number of channels: 2097248
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted
[/code]

I seached for others who have the same problem and found this:
[quote]
@cbpye:
That looks like a problem I ran into earlier where the sound thread was crashing the program. Did you compile the graphics library yourself?

I ran into a problem after compiling the graphics lib on my 64 bit system. Apparently the header file for the library (libsndfile?) used to open ogg files gives a different size structure if you compile it on a 32 bit machine than if you compile it with -m32 on a 64 bit machine. This causes the elements in the structure to be shifted by 32 bits, causing DF to think there are a lot of channels in the audio ("Unexpected number of channels: 2097248") instead of a lot of frames or whatever, and eventually causes a segfault. I "fixed" this on my copy by changing the header file for that sound library so that the element in the structure causing the problem would be the same size (uint64_t?). I'm not at that PC at the moment, so I may not have everything exactly right.[/quote]

I believe the current lib32-libsndfile on multilib may be affected by this same problem.


Additional info:
lib32-libsndfile 1.0.21-3 (multilib)
dwarffortress 0.31.12-1 (AUR)

Steps to reproduce:
start dwarffortress (AUR)
This task depends upon

Closed by  Ionut Biru (wonder)
Wednesday, 08 September 2010, 17:06 GMT
Reason for closing:  Fixed
Additional comments about closing:  lib32-libsndfile 1.0.21-4
Comment by BasT (BasT) - Tuesday, 07 September 2010, 13:20 GMT
I forgot to mention: it was working flawlessly before I started using multilib.
Comment by Ionut Biru (wonder) - Wednesday, 08 September 2010, 12:17 GMT Comment by BasT (BasT) - Wednesday, 08 September 2010, 15:29 GMT
I tested both but it seems neiter one fixes the problem.
Exactly the same error as before. :(
How about you, does if work for you?
Comment by jwbirdsong (jwbirdsong) - Wednesday, 08 September 2010, 15:42 GMT
Not that it needed but just a 2nd tester.
Neither package resolves issue here either.
FWIW Im NOT using AUR package but archgames package.
Comment by Ionut Biru (wonder) - Wednesday, 08 September 2010, 16:24 GMT Comment by BasT (BasT) - Wednesday, 08 September 2010, 16:52 GMT
This one fixes it! Thanks a lot! ;)
*cheer*

Loading...