Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 294599 - >=media-sound/pulseaudio-0.9.19 doesn't compile on arm
Summary: >=media-sound/pulseaudio-0.9.19 doesn't compile on arm
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM Linux
: High normal (vote)
Assignee: Gentoo Sound Team
URL: http://pulseaudio.org/ticket/790
Whiteboard:
Keywords:
Depends on:
Blocks: 294185 299913 308971
  Show dependency tree
 
Reported: 2009-11-25 14:21 UTC by Markus Meier
Modified: 2010-11-27 18:07 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
media-sound:pulseaudio-0.9.19:20091124-091833.log (media-sound:pulseaudio-0.9.19:20091124-091833.log,107.40 KB, text/plain)
2009-11-25 14:34 UTC, Markus Meier
Details
Patch to make svolume_arm.c with -march=armv6 so that it compiles (svolume_arm_marcharmv6.patch,3.36 KB, patch)
2010-07-18 04:44 UTC, Chris Schimp
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Markus Meier gentoo-dev 2009-11-25 14:21:37 UTC
media-sound/pulseaudio-0.9.19 [0.9.15-r2] USE="alsa asyncns caps glib tcpd test udev%* -X -avahi -bluetooth -dbus -doc% -gnome -hal -ipv6% -jack -libsamplerate (-lirc) (-oss)"

  CC     libpulsecore_0.9.19_la-svolume_arm.lo
{standard input}: Assembler messages:
{standard input}:33: Error: selected processor does not support `ssat r0,#16,r0'
{standard input}:47: Error: selected processor does not support `ssat r2,#16,r2'
{standard input}:48: Error: selected processor does not support `ssat r3,#16,r3'
{standard input}:49: Error: selected processor does not support `pkhbt r0,r3,r2,LSL#16'
{standard input}:65: Error: selected processor does not support `ssat r2,#16,r2'
{standard input}:66: Error: selected processor does not support `ssat r3,#16,r3'
{standard input}:67: Error: selected processor does not support `ssat r4,#16,r4'
{standard input}:68: Error: selected processor does not support `ssat r5,#16,r5'
{standard input}:69: Error: selected processor does not support `pkhbt r0,r3,r2,LSL#16'
{standard input}:70: Error: selected processor does not support `pkhbt r1,r5,r4,LSL#16'
make[3]: *** [libpulsecore_0.9.19_la-svolume_arm.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
make[3]: Leaving directory `/var/tmp/portage/media-sound/pulseaudio-0.9.19/work/pulseaudio-0.9.19/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/var/tmp/portage/media-sound/pulseaudio-0.9.19/work/pulseaudio-0.9.19/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/media-sound/pulseaudio-0.9.19/work/pulseaudio-0.9.19'
make: *** [all] Error 2
 *
 * ERROR: media-sound/pulseaudio-0.9.19 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 2886:  Called _eapi2_src_compile
 *               ebuild.sh, line  634:  Called die
 * The specific snippet of code:
 *              emake || die "emake failed"

Portage 2.1.6.13 (default/linux/arm/10.0, gcc-4.3.4, glibc-2.10.1-r1, 2.6.31.6 armv5tel)
=================================================================
System uname: Linux-2.6.31.6-armv5tel-Feroceon_88FR131_rev_1_-v5l-with-gentoo-2.0.1
Timestamp of tree: Wed, 25 Nov 2009 09:00:01 +0000
app-shells/bash:     4.0_p28
dev-lang/python:     2.6.2-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.2-r2
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.8.5-r3, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="arm"
CBUILD="armv5tel-softfloat-linux-gnueabi"
CFLAGS="-Os -march=armv5te -pipe"
CHOST="armv5tel-softfloat-linux-gnueabi"
CONFIG_PROTECT="/etc /var/qmail/alias /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-Os -march=armv5te -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="collision-protect distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict test unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://minil/gentoo-portage"
USE="acl arm berkdb bzip2 cli cracklib crypt fortran gdbm gpm iconv modules mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl ssl sysfs tcpd test unicode xorg zlib" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint mach64 mga nv r128 radeon savage sis tdfx trident        vga voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Markus Meier gentoo-dev 2009-11-25 14:34:15 UTC
Created attachment 211164 [details]
media-sound:pulseaudio-0.9.19:20091124-091833.log
Comment 2 Raúl Porcel (RETIRED) gentoo-dev 2009-12-10 17:46:18 UTC
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
Comment 3 Diego Elio Pettenò (RETIRED) gentoo-dev 2009-12-10 17:50:43 UTC
I don't really like that approach to be honest…
Comment 5 Raúl Porcel (RETIRED) gentoo-dev 2010-01-07 18:07:41 UTC
pingo
Comment 6 Samuli Suominen (RETIRED) gentoo-dev 2010-02-25 11:55:44 UTC
(In reply to comment #5)
> pingo
> 

The above patch is included in 0.9.21.1 (bug 299913). Please proceed and close this.
Comment 7 Markus Meier gentoo-dev 2010-04-04 19:07:17 UTC
(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.
Comment 8 Fabian Köster 2010-05-27 13:38:25 UTC
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?
Comment 9 Raúl Porcel (RETIRED) gentoo-dev 2010-06-27 10:52:07 UTC
So, any plans to fix this or contact upstream about it?
Comment 10 Chris Schimp 2010-07-18 04:44:12 UTC
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 11 Diego Elio Pettenò (RETIRED) gentoo-dev 2010-07-18 17:11:04 UTC
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.
Comment 12 Raúl Porcel (RETIRED) gentoo-dev 2010-09-19 14:44:34 UTC
Diego, can you please contact upstream about it?

Thanks
Comment 13 Raúl Porcel (RETIRED) gentoo-dev 2010-10-23 11:58:44 UTC
ping...
Comment 14 Raúl Porcel (RETIRED) gentoo-dev 2010-11-13 16:27:54 UTC
yawn...
Comment 15 Arun Raghavan (RETIRED) gentoo-dev 2010-11-26 09:11:22 UTC
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.
Comment 16 Markus Meier gentoo-dev 2010-11-26 18:59:17 UTC
(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!
Comment 17 Arun Raghavan (RETIRED) gentoo-dev 2010-11-27 06:53:03 UTC
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.
Comment 18 Raúl Porcel (RETIRED) gentoo-dev 2010-11-27 14:57:04 UTC
(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.

Comment 19 Arun Raghavan (RETIRED) gentoo-dev 2010-11-27 18:07:16 UTC
Great, thanks for the testing!