pulse is no longer compiling on FreeBSD because of this commit:
In short, we don't HAVE_CREDS on FreeBSD, so 'struct pa_creds' never gets defined (see src/pulsecore/creds.h), but the new code uses it unconditionally.
The fix is either to add support for FreeBSD to creds.h or to guard the newly-added code with #ifdef HAVE_CREDS.
The error is with 'struct pa_ancil' in fact, but it's in the same place...
Created attachment 101933 [details]
creds: define structs even if unsupported
The credentials structures are defined based on basic types with no
special support needed from the OS, so it's possible to define them
even if HAVE_CREDS is not defined.
This patch lets it build, at least, but I'm not sure that it's the best solution. It seems like most cases where this is used from are accessors which will just return NULL/empty because the structures are not actually filled in.
Thanks for your bug report. As we already have a lot of HAVE_CREDS in the code, I think the more consistent way was to add more of them. :-)
I hope this patch unbreaks your build:
Hi. Thanks for the fix.
Unfortunately the build still breaks. We now fail the build with:
./.libs/libprotocol-native.so: undefined reference to `pa_pstream_send_tagstruct_with_fds'
See the full log here: http://jhbuild.pkgdemon.com/tinderbox/pulseaudio.html (which is building pulseaudio daily on FreeBSD, btw).
David is on vacation this and next week, but I hope he'll fix this when he comes back.
Created attachment 105431 [details] [review]
Another Build fix
Sorry for the long delay. Does the attached patch help you resolve the build problem?
I just did a new checkout of pulseaudio with hash 4971dc9ed695256cfb179c5ef4d7bf43d3826ba2 and I can confirm pulseaudio builds out of the box on FreeBSD 11. So no additional patches are required.
Thanks for testing. Closing this now.
(In reply to Koop Mast from comment #7)
> I just did a new checkout of pulseaudio with hash
> 4971dc9ed695256cfb179c5ef4d7bf43d3826ba2 and I can confirm pulseaudio builds
> out of the box on FreeBSD 11. So no additional patches are required.
Although I still cannot get pulseaudio work on FreeBSD 10.1, I find attachment 105431 [details] [review] is still needed to get rid of the following message at run time:
E: [(null)] ltdl-bind-now.c: Failed to open module /home/lantw44/gnome/devinstall/lib/pulse-5.0/modules/module-device-restore.so: /home/lantw44/gnome/devinstall/lib/pulse-5.0/modules/libprotocol-native.so: Undefined symbol "pa_pstream_send_tagstruct_with_fds"
Ok, so I took the liberty of pushing my "another build fix" now.