Summary: | >=media-sound/pulseaudio-0.9.19 doesn't compile on arm | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Markus Meier <maekke> |
Component: | Current packages | Assignee: | Gentoo Sound Team <sound> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | arm, esigra, ford_prefect, gentoo, lucas.yamanishi |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | ARM | ||
OS: | Linux | ||
URL: | http://pulseaudio.org/ticket/790 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 294185, 299913, 308971 | ||
Attachments: |
media-sound:pulseaudio-0.9.19:20091124-091833.log
Patch to make svolume_arm.c with -march=armv6 so that it compiles |
Description
Markus Meier
2009-11-25 14:21:37 UTC
Created attachment 211164 [details]
media-sound:pulseaudio-0.9.19:20091124-091833.log
Debian does this: +ifneq (,$(findstring $(DEB_HOST_ARCH), "arm armel")) + make -C src libpulsecore_0.9.21_la-svolume_arm.lo CFLAGS+=-march=armv6 +endif I don't really like that approach to be honest… maybe that one is better? http://git.0pointer.de/?p=pulseaudio.git;a=blobdiff_plain;f=src/pulsecore/cpu-arm.c;h=bf632f7aa7e04fbc0017a1ce098f5070f69cc6a8;hp=6bb2eadd101f29b9b624592c19edba36b92ab4e2;hb=HEAD;hpb=65e7bc18a9a7b89e55b87a74ae47d45269b51847 pingo (In reply to comment #5) > pingo > The above patch is included in 0.9.21.1 (bug 299913). Please proceed and close this. (In reply to comment #6) > The above patch is included in 0.9.21.1 (bug 299913). Please proceed and close > this. not sure what you meant, but the issue reported in comment #0 and #1 isn't fixed in that version. it looks like it needs at least an ARMv6. this was tested with an ARMv5. I can confirm that media-sound/pulseaudio-0.9.21.1 compiles and runs fine on armv7 (IGEPv2, ARM Cortex-A8). How to proceed with this bug? So, any plans to fix this or contact upstream about it? Created attachment 239201 [details, diff] Patch to make svolume_arm.c with -march=armv6 so that it compiles This issue still exists in 0.9.21.2-r1, http://www.pulseaudio.org/ticket/790 looks to be related to this issue I have created a patch to a makefile based on the works of Debian and Fedora, but I am not sure on how to make the ebuild only apply it on cases where it is needed. I have attached the patch file incase someone may find it useful Comment on attachment 239201 [details, diff]
Patch to make svolume_arm.c with -march=armv6 so that it compiles
The patch is broken (patches Makefile.in) and also it won't solve the issue as the code will then build only on ARMv6.
Really the problem here is that the code should only do that for v6 ARM, so it should be conditionally enabled, but I don't know ARM that well.
Diego, can you please contact upstream about it? Thanks ping... yawn... I've attached a patch to the upstream bug: http://www.pulseaudio.org/attachment/ticket/790/0001-volume-Add-explicit-checks-for-ARMv6-instructions.patch If it works fine, I'll add it to our ebuild. (In reply to comment #15) > I've attached a patch to the upstream bug: > > http://www.pulseaudio.org/attachment/ticket/790/0001-volume-Add-explicit-checks-for-ARMv6-instructions.patch > > If it works fine, I'll add it to our ebuild. your patch works fine, yay! Thanks for testing, Markus. Was this on a v5 or v6 system? I'd like to verify that the optimised volume scaling is used on v6 systems as well (you'll see the message "Initialising ARM optimized functions." when you start PA in verbose mode). I've pushed this to CVS (for 0.9.21.1, 0.9.21.2-r2 and 0.9.22). Once I get verification on v5 and v6, I'll close the bug. (In reply to comment #17) > Thanks for testing, Markus. Was this on a v5 or v6 system? I'd like to verify > that the optimised volume scaling is used on v6 systems as well (you'll see the > message "Initialising ARM optimized functions." when you start PA in verbose > mode). > > I've pushed this to CVS (for 0.9.21.1, 0.9.21.2-r2 and 0.9.22). Once I get > verification on v5 and v6, I'll close the bug. > On armv6 chroot under an armv7 system: I: main.c: Using modules directory /usr/lib/pulse-0.9.21/modules. I: main.c: Running in system mode: no I: main.c: Fresh high-resolution timers available! Bon appetit! I: cpu-arm.c: CPU flags: V6 V7 VFP EDSP NEON VFPV3 I: svolume_arm.c: Initialising ARM optimized functions. Great, thanks for the testing! |