ports/119286: audio/pulseaudio (pulseaudio-0.9.6_4) (linker error)

Joe Marcus Clarke marcus at marcuscom.com
Thu Jan 3 17:01:13 PST 2008


On Fri, 2008-01-04 at 00:50 +0000, Christoph Moench-Tegeder wrote:
> The following reply was made to PR ports/119286; it has been noted by GNATS.
> 
> From: Christoph Moench-Tegeder <cmt at burggraben.net>
> To: bug-followup at freebsd.org
> Cc:  
> Subject: Re: ports/119286: audio/pulseaudio (pulseaudio-0.9.6_4) (linker error)
> Date: Fri, 4 Jan 2008 01:20:00 +0100
> 
>  Hi,
>  
>  The linker error is caused by "-Wl,-no-undefined" from src/Makefile.in
>  which is used when linking shared libraries (as far as I understand,
>  shared object are allowed to have unresolved symbols). The author of
>  pulseaudio claims that -no-undefined is used on at least some platforms
>  (see comment in src/Makefile.am). Below is a patch which just removes
>  -no-undefined from the linker options, this works for me (FreeBSD 6.3RC2,
>  i386).

I did not get any linker problems with pulse on 7.0.  I will wait and
see what pointyhat says about RELENG_6.

>  As I were on that, I fixed some other problems, too:
>  - patch-src_Makefile.am, patch-src_Makefile.in
>    fixes the afore mentioned linker problem
>  - patch-src_pulse_introspect.c
>    There were compiler warnings about redundant redeclarations of memset
>    in src/pulse/introspect.c. Obviously, string.h was not #include'd.

Thanks.  This will be critical for 64-bit platforms.

>  - patch-src_tests_rtpoll-test.c
>    The compailer failed complaining about undefined SIGRTMIN and SIGRTMAX.
>    These are not present in 6-STABLE (see standards/99517), so this
>    test does nothing if SIGRTMIN is not #define'd.

Thanks.

>  
>  Additionally, there should be a script or at least an UPDATING
>  entry explaning the renaming of group 557 (ex realtime, now
>  pulse-rt) for those upgrading from polypaudio.

There has been an UPDATING entry for some time:

20070713:
  AFFECTS: users of audio/pulseaudio
  AUTHOR: gnome at FreeBSD.org

  The realtime group (default GID of 557) has been renamed pulse-rt to
keep
  in sync with the pulseaudio distribution.  If you are upgrading from a
  previous version of pulseaudio, you will need to modify /etc/group and
  change the name of the group with ID 557 to ``pulse-rt''.

Adding one for polyp seems kind of redundant.  Were there still that
many users seriously using polypaudio?

Joe

>  
>  The patch below fixes these problems in pulseaudio-0.9.8.
>  If the mail system garbles it, get it at
>  http://www.burggraben.net/hacks/audio_pulseaudio.patch.gz
>  
>  Be aware that I did not run extensive tests with my patches.
>  
>  diff -Nru pulseaudio.orig/Makefile pulseaudio/Makefile
>  --- pulseaudio.orig/Makefile	2008-01-01 23:35:54.000000000 +0100
>  +++ pulseaudio/Makefile	2008-01-03 23:40:25.000000000 +0100
>  @@ -8,6 +8,7 @@
>   
>   PORTNAME=	pulseaudio
>   PORTVERSION=	0.9.8
>  +PORTREVISION=	1
>   CATEGORIES=	audio
>   MASTER_SITES=	http://0pointer.de/lennart/projects/${PORTNAME}/
>  diff -Nru pulseaudio.orig/files/patch-src_Makefile.am pulseaudio/files/patch-src_Makefile.am
>  --- pulseaudio.orig/files/patch-src_Makefile.am	1970-01-01 01:00:00.000000000 +0100
>  +++ pulseaudio/files/patch-src_Makefile.am	2008-01-03 23:38:48.000000000 +0100
>  @@ -0,0 +1,11 @@
>  +--- src/Makefile.am.orig	2008-01-03 22:48:43.000000000 +0100
>  ++++ src/Makefile.am	2008-01-03 23:36:58.000000000 +0100
>  +@@ -64,7 +64,7 @@
>  + AM_LDADD = $(PTHREAD_LIBS)
>  + 
>  + # Only required on some platforms but defined for all to avoid errors
>  +-AM_LDFLAGS = -Wl,-no-undefined -ffunction-sections -fdata-sections -Wl,--gc-sections
>  ++AM_LDFLAGS = -ffunction-sections -fdata-sections -Wl,--gc-sections
>  + 
>  + if STATIC_BINS
>  + BINLDFLAGS = -static
>  diff -Nru pulseaudio.orig/files/patch-src_Makefile.in pulseaudio/files/patch-src_Makefile.in
>  --- pulseaudio.orig/files/patch-src_Makefile.in	1970-01-01 01:00:00.000000000 +0100
>  +++ pulseaudio/files/patch-src_Makefile.in	2008-01-03 23:38:32.000000000 +0100
>  @@ -0,0 +1,12 @@
>  +--- src/Makefile.in.orig	2008-01-03 22:52:31.000000000 +0100
>  ++++ src/Makefile.in	2008-01-03 23:37:48.000000000 +0100
>  +@@ -1657,8 +1657,7 @@
>  + AM_LDADD = $(PTHREAD_LIBS)
>  + 
>  + # Only required on some platforms but defined for all to avoid errors
>  +-AM_LDFLAGS = -Wl,-no-undefined -ffunction-sections -fdata-sections \
>  +-	-Wl,--gc-sections $(am__append_1)
>  ++AM_LDFLAGS = -ffunction-sections -fdata-sections -Wl,--gc-sections $(am__append_1)
>  + @STATIC_BINS_TRUE at BINLDFLAGS = -static
>  + @OS_IS_WIN32_TRUE at WINSOCK_LIBS = -lwsock32 -lws2_32 -lwininet
>  + @OS_IS_WIN32_FALSE at PA_THREAD_OBJS = \
>  diff -Nru pulseaudio.orig/files/patch-src_pulse_introspect.c pulseaudio/files/patch-src_pulse_introspect.c
>  --- pulseaudio.orig/files/patch-src_pulse_introspect.c	1970-01-01 01:00:00.000000000 +0100
>  +++ pulseaudio/files/patch-src_pulse_introspect.c	2008-01-03 22:57:12.000000000 +0100
>  @@ -0,0 +1,11 @@
>  +--- src/pulse/introspect.c.orig	2008-01-03 22:49:50.000000000 +0100
>  ++++ src/pulse/introspect.c	2008-01-03 22:50:51.000000000 +0100
>  +@@ -22,6 +22,8 @@
>  +   USA.
>  + ***/
>  + 
>  ++#include <string.h>
>  ++
>  + #ifdef HAVE_CONFIG_H
>  + #include <config.h>
>  + #endif
>  diff -Nru pulseaudio.orig/files/patch-src_tests_rtpoll-test.c pulseaudio/files/patch-src_tests_rtpoll-test.c
>  --- pulseaudio.orig/files/patch-src_tests_rtpoll-test.c	1970-01-01 01:00:00.000000000 +0100
>  +++ pulseaudio/files/patch-src_tests_rtpoll-test.c	2008-01-03 23:12:11.000000000 +0100
>  @@ -0,0 +1,18 @@
>  +--- src/tests/rtpoll-test.c.orig	2008-01-03 23:09:05.000000000 +0100
>  ++++ src/tests/rtpoll-test.c	2008-01-03 23:09:32.000000000 +0100
>  +@@ -45,6 +45,7 @@
>  + }
>  + 
>  + int main(int argc, char *argv[]) {
>  ++#ifdef SIGRTMIN
>  +     pa_rtpoll *p;
>  +     pa_rtpoll_item *i, *w;
>  +     struct pollfd *pollfd;
>  +@@ -86,6 +87,7 @@
>  +     pa_rtpoll_item_free(w);
>  + 
>  +     pa_rtpoll_free(p);
>  ++#endif /* SIGRTMIN */
>  + 
>  +     return 0;
>  + }
>  
> 
>  Regards
>  Christoph
>  
>  -- 
>  Spare Space
> _______________________________________________
> freebsd-gnome at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-gnome
> To unsubscribe, send any mail to "freebsd-gnome-unsubscribe at freebsd.org"
> 
-- 
PGP Key : http://www.marcuscom.com/pgp.asc
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-gnome/attachments/20080104/4c76f423/attachment.pgp


More information about the freebsd-gnome mailing list