Bug 202170

Summary: audio/pulseaudio: build fail with Xen
Product: Ports & Packages Reporter: Roman Bogorodskiy <novel>
Component: Individual Port(s)Assignee: freebsd-gnome (Nobody) <gnome>
Status: Closed FIXED    
Severity: Affects Only Me CC: kwm
Priority: --- Flags: bugzilla: maintainer-feedback? (gnome)
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
disable xen option kwm: maintainer-approval+

Description Roman Bogorodskiy freebsd_committer freebsd_triage 2015-08-08 04:01:55 UTC
Created attachment 159656 [details]
disable xen option

The build fails with:

  CC       modules/dbus/module_dbus_protocol_la-iface-card-profile.lo
In file included from modules/xen/module-xenpv-sink.c:51:
In file included from /usr/local/include/xenctrl.h:56:
/usr/local/include/xen/foreign/x86_64.h:198:47: warning: 'aligned' attribute ignored when parsing type [-Wignored-attributes]
    __align8__ uint64_t evtchn_pending[sizeof(__align8__ uint64_t) * 8];
                                              ^~~~~~~~~~
/usr/local/include/xen/foreign/x86_64.h:13:36: note: expanded from macro '__align8__'
# define __align8__ __attribute__((aligned (8)))
                                   ^~~~~~~~~~~
/usr/local/include/xen/foreign/x86_64.h:199:44: warning: 'aligned' attribute ignored when parsing type [-Wignored-attributes]
    __align8__ uint64_t evtchn_mask[sizeof(__align8__ uint64_t) * 8];
                                           ^~~~~~~~~~
/usr/local/include/xen/foreign/x86_64.h:13:36: note: expanded from macro '__align8__'
# define __align8__ __attribute__((aligned (8)))
                                   ^~~~~~~~~~~
In file included from modules/xen/module-xenpv-sink.c:52:
/usr/local/include/xs.h:1:2: warning: xs.h is deprecated use xenstore.h instead [-W#warnings]
#warning xs.h is deprecated use xenstore.h instead
 ^
modules/xen/module-xenpv-sink.c:602:26: error: use of undeclared identifier '_IOC_NONE'
    rv = ioctl(alloc_fd, IOCTL_GNTALLOC_ALLOC_GREF, gref_);
                         ^
../src/modules/xen/gntalloc.h:24:6: note: expanded from macro 'IOCTL_GNTALLOC_ALLOC_GREF'
_IOC(_IOC_NONE, 'G', 5, sizeof(struct ioctl_gntalloc_alloc_gref))
     ^
/usr/include/sys/ioccom.h:55:4: note: expanded from macro '\
_IOC'
        ((inout) | (((len) & IOCPARM_MASK) << 16) | ((group) << 8) | (num)))
          ^
3 warnings and 1 error generated.
Makefile:9020: recipe for target 'modules/xen/module_xenpv_sink_la-module-xenpv-sink.lo' failed
gmake[5]: *** [modules/xen/module_xenpv_sink_la-module-xenpv-sink.lo] Error 1
gmake[5]: *** Waiting for unfinished jobs....

Looks like this is caused by xen-tools installed on the system and pulseaudio's configuring picking it.
Adding the '--disable-xen' flag to configure allows to build it. Patch attached.
Comment 1 Koop Mast freebsd_committer freebsd_triage 2015-08-08 08:33:35 UTC
Comment on attachment 159656 [details]
disable xen option

LGTM
Comment 2 commit-hook freebsd_committer freebsd_triage 2015-08-08 08:42:49 UTC
A commit references this bug:

Author: novel
Date: Sat Aug  8 08:42:12 UTC 2015
New revision: 393717
URL: https://svnweb.freebsd.org/changeset/ports/393717

Log:
  Disable xen option by adding '--disable-xen' to CONFIGURE_ARGS. Xen extension
  is currently broken on FreeBSD and pusleaudio tries to build it when it finds
  Xen libraries on the host, so build fails in this case.

  PR:		202170
  Approved by:	kwm

Changes:
  head/audio/pulseaudio/Makefile