pulseaudio: fix tow issues.
cover pulseaudio: fix tow issues.
From: Jackie Huang <[email protected]>
We added these tow fixes for pulseaudio 1.1 as bbappend in our own layer and worked well, but pulseaudio in oe-core is updated to 2.1 and the bbappend became dangling, so if they are accepted in or-core, we don't have to mantain and update the bbappend and clean it up, thanks!
Also added the authors of these fixed in CC list.
* Test info:
1) MACHINE=qemux86-64/qemux86/qemuppc
$ bitbake core-image-sato $ bitbake pulseaudio
The following changes since commit 654d5816f8ff696d42d72cfb881d5e51330a79b6:
build-appliance-image: Update to dee77eca39f406f90e60d9c5ef7a66fcc8f57dbf commit (2012-11-21 20:38:47 +0000)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib jhuang0/d_pulseaudio_1122_2
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=jhuang0/d_pulseaudio_1122_2
Jackie Huang (2):
pulseaudio: fix compilation on RHEL-5.8 64bit machine
pulseaudio: The audio over Adipts ALC888 audio effect chip on Sabino
does not work
...ulseaudio-fix-compilation-on-RHEL-machine.patch | 35 ++++++++++++++++++++ .../pulseaudio/pulseaudio_2.1.bb | 9 ++++- 2 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-fix-compilation-on-RHEL-machine.patch
Signature · 1 line
1.7.4
PATCH 1/2 pulseaudio: fix compilation on RHEL-5.8 64bit machine
From: Jackie Huang <[email protected]>
This fixes the following issue when pulseaudio is built with the oe-core toolchain:
../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to XRRGetOutputInfo' ../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to XRRGetScreenResourcesCurrent' ../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to XRRFreeOutputInfo' ../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to XRRFreeScreenResources' ../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to XRRGetOutputPrimary' ../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to XRRFreeCrtcInfo' ../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to `XRRGetCrtcInfo'
collect2: ld returned 1 exit status
--- ...ulseaudio-fix-compilation-on-RHEL-machine.patch | 35 ++++++++++++++++++++ .../pulseaudio/pulseaudio_2.1.bb | 6 ++- 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-fix-compilation-on-RHEL-machine.patch
meta/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-fix-compilation-on-RHEL-machine.patch new file +35 -0
@@ -0,0 +1,35 @@ +commit da81efa600ca7f5657ee4cb877e405fdfc6eee24 +Author: Aws Ismail <[email protected]> +Date: Wed Aug 15 16:34:52 2012 +0800 + + Fix compilation on RHEL-5.8 64bit machine + + This fixes the following issue when pulseaudio is built + with the oe-core toolchain: + +../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to `XRRGetOutputInfo' +../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to `XRRGetScreenResourcesCurrent' +../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to `XRRFreeOutputInfo' +../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to `XRRFreeScreenResources' +../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to `XRRGetOutputPrimary' +../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to `XRRFreeCrtcInfo' +../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to `XRRGetCrtcInfo' + collect2: ld returned 1 exit status + + Upstream-Status: Pending + + Signed-off-by: Aws Ismail <[email protected]> + +diff --git a/src/Makefile.am b/src/Makefile.am +index e3af12f..58dad5e 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -51,7 +51,7 @@ AM_CFLAGS = \ + SERVER_CFLAGS = -D__INCLUDED_FROM_PULSE_AUDIO + + AM_LIBADD = $(PTHREAD_LIBS) $(INTLLIBS) +-AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS) ++AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS) -lXrandr + AM_LDFLAGS = $(NODELETE_LDFLAGS) + + if STATIC_BINS
meta/recipes-multimedia/pulseaudio/pulseaudio_2.1.bb +4 -2
@@ -1,13 +1,15 @@ require pulseaudio.inc -PR = "r14" +PR = "r15" -DEPENDS += "libjson gdbm speex libxml-parser-perl-native" +DEPENDS += "libjson gdbm speex libxml-parser-perl-native \ + ${@base_contains('DISTRO_FEATURES', 'x11', 'libxrandr', '', d)}" inherit gettext perlnative SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${PV}.tar.xz \ file://volatiles.04_pulse \ + ${@base_contains('DISTRO_FEATURES', 'x11', 'file://pulseaudio-fix-compilation-on-RHEL-machine.patch', '', d)} \ " SRC_URI[md5sum] = "33e85023259d530f0a763d5204e8bad9"
Signature · 1 line
1.7.4
Re: [PATCH 1/2] pulseaudio: fix compilation on RHEL-5.8 64bit machine
Hi,
This patch is too hacky to go in at the moment.
Quoted 1 line · On 22 November 2012 06:46, <[email protected]> wrote:
../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to `XRRGetOutputInfo'
Which means your GTK+ linkage is broken, because libgdk should be linking to libXrandr. Mine is, can you verify that yours is too?
Quoted 2 lines
+-AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS)
++AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS) -lXrandr
You're adding linkage to libXrandr to every part of PulseAudio. What binary in pulseaudio is failing to compile with this error?
meta/recipes-multimedia/pulseaudio/pulseaudio_2.1.bb line 6
Quoted 3 lines
meta/recipes-multimedia/pulseaudio/pulseaudio_2.1.bb +2
-1-DEPENDS += "libjson gdbm speex libxml-parser-perl-native" +DEPENDS += "libjson gdbm speex libxml-parser-perl-native \ + ${@base_contains('DISTRO_FEATURES', 'x11', 'libxrandr', '', d)}"
pulseaudio.inc has:
DEPENDS = "libatomics-ops liboil avahi libsamplerate0 libsndfile1 libtool \
${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11libxtst libice libsm libxcb gtk+', '', d)}"
As gtk+ pulls in libxrandr, this is redundant.
Ross
Re: [PATCH 1/2] pulseaudio: fix compilation on RHEL-5.8 64bit machine
Quoted 3 lines · Ross
Hi,
This patch is too hacky to go in at the moment.
Hi Ross,
Thanks for your comments, in fact the patch was for a weird edge case in the old version, I looked for the history and it seemed to be added as a workaround. And I tried some days but couldn't reproduce the issue in current pulseaudio 2.1, so I shouldn't have send this, sorry about that.
Aws, please correct me if I'm wrong, thanks!
Thanks,
Jackie
Quoted 28 lines · On 22 November 2012 06:46, <[email protected]> wrote:
Quoted 1 line
../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to `XRRGetOutputInfo'
Which means your GTK+ linkage is broken, because libgdk should be linking to libXrandr. Mine is, can you verify that yours is too?
Quoted 2 lines
+-AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS)
++AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS) -lXrandrYou're adding linkage to libXrandr to every part of PulseAudio. What binary in pulseaudio is failing to compile with this error?
meta/recipes-multimedia/pulseaudio/pulseaudio_2.1.bb line 6
Quoted 3 lines
meta/recipes-multimedia/pulseaudio/pulseaudio_2.1.bb +2
-1-DEPENDS += "libjson gdbm speex libxml-parser-perl-native" +DEPENDS += "libjson gdbm speex libxml-parser-perl-native \ + ${@base_contains('DISTRO_FEATURES', 'x11', 'libxrandr', '', d)}"pulseaudio.inc has:
DEPENDS = "libatomics-ops liboil avahi libsamplerate0 libsndfile1 libtool \ ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11libxtst libice libsm libxcb gtk+', '', d)}"
As gtk+ pulls in libxrandr, this is redundant.
Ross
Signature · 5 lines
Jackie Huang WIND RIVER | China Development Center MSN:[email protected] Tel: +86 8477 8594 Mobile: +86 138 1027 4745
Re: [PATCH 1/2] pulseaudio: fix compilation on RHEL-5.8 64bit machine
Quoted 5 lines · On 11/26/2012 09:34 PM, jhuang0 wrote:
Quoted 2 lines · Ross
Hi,
Quoted 8 lines
Quoted 1 line
This patch is too hacky to go in at the moment.
Hi Ross,
Thanks for your comments, in fact the patch was for a weird edge case in the old version, I looked for the history and it seemed to be added as a workaround. And I tried some days but couldn't reproduce the issue in current pulseaudio 2.1, so I shouldn't have send this, sorry about that.
Aws, please correct me if I'm wrong, thanks!
Agreed. This was a quick fix for a very specific case. If you can confirm that it is not there anymore, which, by the looks of it, seems that you have done; then let's get rid of it.
Thanks Jackie.
Aws\
Quoted 33 lines
Thanks,
JackieQuoted 28 lines · On 22 November 2012 06:46, <[email protected]> wrote:
Quoted 1 line
../bitbake_build/tmp/sysroots/qemux86-64/usr/lib64/libgdk-x11-2.0.so: undefined reference to `XRRGetOutputInfo'
Which means your GTK+ linkage is broken, because libgdk should be linking to libXrandr. Mine is, can you verify that yours is too?
Quoted 2 lines
+-AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS)
++AM_LDADD = $(PTHREAD_LIBS) $(INTLLIBS) -lXrandrYou're adding linkage to libXrandr to every part of PulseAudio. What binary in pulseaudio is failing to compile with this error?
meta/recipes-multimedia/pulseaudio/pulseaudio_2.1.bb line 6
Quoted 3 lines
meta/recipes-multimedia/pulseaudio/pulseaudio_2.1.bb +2
-1-DEPENDS += "libjson gdbm speex libxml-parser-perl-native" +DEPENDS += "libjson gdbm speex libxml-parser-perl-native \ + ${@base_contains('DISTRO_FEATURES', 'x11', 'libxrandr', '', d)}"pulseaudio.inc has:
DEPENDS = "libatomics-ops liboil avahi libsamplerate0 libsndfile1 libtool \ ${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11libxtst libice libsm libxcb gtk+', '', d)}"
As gtk+ pulls in libxrandr, this is redundant.
Ross
PATCH 2/2 pulseaudio: The audio over Adipts ALC888 audio effect chip on Sabino does not work
In reply to [email protected]From: Jackie Huang <[email protected]>
root cause:
the default settings for audio devices are installed by the udev script 90-alsa-restore.rules. This script is installed into /lib/udev/rules.d, but a recent change moved the udev files to /usr/lib*, so the alsa script doesn't get run.
the configure of package pulseaudio set the udev rules default directory to "/lib/udev/rules.d", while its bb file specifies "${base_libdir}/udev" as udev rules directory. So the file in "/lib/udev/rules.d" will be missing when packaging on 64bit platforms.
solution: set parameter "udevrulesdir" to "${libdir}/udev/rules.d" for configure of pulseaudio
--- .../pulseaudio/pulseaudio_2.1.bb | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-)
meta/recipes-multimedia/pulseaudio/pulseaudio_2.1.bb +4 -1
@@ -1,6 +1,6 @@ require pulseaudio.inc -PR = "r15" +PR = "r16" DEPENDS += "libjson gdbm speex libxml-parser-perl-native \ ${@base_contains('DISTRO_FEATURES', 'x11', 'libxrandr', '', d)}"
@@ -15,6 +15,9 @@ SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${PV}. SRC_URI[md5sum] = "33e85023259d530f0a763d5204e8bad9" SRC_URI[sha256sum] = "ef6b347bf47abfb98080795f1583018ac959b4aeb4df916b879f9e1eaba0ca7f" +EXTRA_OECONF += "--with-udev-rules-dir=${libdir}/udev/rules.d" +FILES_${PN}-server += " ${libdir}/udev/rules.d/*.rules" + do_compile_prepend() { cd ${S} mkdir -p ${S}/libltdl
Signature · 1 line
1.7.4