| Submitter | jackie huang |
|---|---|
| Date | Nov. 22, 2012, 6:46 a.m. |
| Message ID | <6ef7001b467caa7cebe92e399a94a9680265efb8.1353564658.git.jackie.huang@windriver.com> |
| Download | mbox | patch |
| Permalink | /patch/39451/ |
| State | New |
| Headers | show |
Comments
Hi, This patch is too hacky to go in at the moment. On 22 November 2012 06:46, <jackie.huang@windriver.com> 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? > +-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? > -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/libx11 libxtst libice libsm libxcb gtk+', '', d)}" As gtk+ pulls in libxrandr, this is redundant. Ross
On 11/22/2012 4:55 PM, Burton, Ross wrote: > 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 > > On 22 November 2012 06:46, <jackie.huang@windriver.com> 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? > >> +-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? > >> -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/libx11 > libxtst libice libsm libxcb gtk+', '', d)}" > > As gtk+ pulls in libxrandr, this is redundant. > > Ross > >
On 11/26/2012 09:34 PM, jhuang0 wrote: > > > On 11/22/2012 4:55 PM, Burton, Ross wrote: >> 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! 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\ > > Thanks, > Jackie > >> >> On 22 November 2012 06:46, <jackie.huang@windriver.com> 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? >> >>> +-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? >> >>> -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/libx11 >> libxtst libice libsm libxcb gtk+', '', d)}" >> >> As gtk+ pulls in libxrandr, this is redundant. >> >> Ross >> >> >
Patch
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-fix-compilation-on-RHEL-machine.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-fix-compilation-on-RHEL-machine.patch new file mode 100644 index 0000000..4630dea --- /dev/null +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/pulseaudio-fix-compilation-on-RHEL-machine.patch @@ -0,0 +1,35 @@ +commit da81efa600ca7f5657ee4cb877e405fdfc6eee24 +Author: Aws Ismail <aws.ismail@windriver.com> +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 <aws.ismail@windriver.com> + +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 diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_2.1.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_2.1.bb index 811dc0f..35137a8 100644 --- a/meta/recipes-multimedia/pulseaudio/pulseaudio_2.1.bb +++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_2.1.bb @@ -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"