[Slackbuilds-users] pulseaudio slackbuild

Gilles Chanteperdrix gilles.chanteperdrix at xenomai.org
Sun Mar 29 11:13:09 UTC 2015


On Fri, Mar 27, 2015 at 11:09:17PM +0000, Ryan P.C. McQuen wrote:
>  On Fri, Mar 27, 2015, 3:59 PM Christoph Willing <chris.willing at iinet.net.au>
> wrote:
> 
> On 03/28/2015 06:59 AM, Gilles Chanteperdrix wrote:
> > On Sat, Mar 28, 2015 at 02:37:04AM +0700, Willy Sudiarto Raharjo wrote:
> >>> I am trying to build pulseaudio on slackware 14.1 from its
> >>> slackbuild, but I get compilation errors. First:
> >>>
> >>> CC     modules/module_udev_detect_la-module-udev-detect.lo
> >>> modules/module-udev-detect.c: In function 'is_card_busy':
> >>> modules/module-udev-detect.c:199:5: warning: implicit declaration
> >>> of function 'offsetof' [-Wimplicit-function-declaration] len =
> >>> offsetof(struct dirent, d_name) + fpathconf(dirfd(card_dir),
> >>> _PC_NAME_MAX) + 1; ^ modules/module-udev-detect.c:199:20: error:
> >>> expected expression before 'struct' len = offsetof(struct dirent,
> >>> d_name) + fpathconf(dirfd(card_dir), _PC_NAME_MAX) + 1; ^ make[3]:
> >>> *** [modules/module_udev_detect_la-module-udev-detect.lo] Error 1
> >>>
> >>> Then if I add --disable-udev to the configure arguments:
> >>>
> >>> daemon/dumpmodules.c: In function ‘is_preloaded’:
> >>> daemon/dumpmodules.c:95:14: error: ‘lt_preloaded_symbols’
> >>> undeclared (first use in this function) for (l =
> >>> lt_preloaded_symbols; l->name; l++) { ^ daemon/dumpmodules.c:95:14:
> >>> note: each undeclared identifier is reported only once for each
> >>> function it appears in daemon/dumpmodules.c: In function
> >>> ‘pa_dump_modules’: daemon/dumpmodules.c:138:18: error:
> >>> ‘lt_preloaded_symbols’ undeclared (first use in this function) for
> >>> (l = lt_preloaded_symbols; l->name; l++) { ^ make[3]: ***
> >>> [daemon/pulseaudio-dumpmodules.o] Error 1
> >>>
> >>>
> >>> Has anyone succeeded in compiling this software for 14.1 recently?
> >>
> >> tested on slackware64-14.1 and it's built properly
> >> speex:
> >>    MD5SUM check for speex-1.2rc2.tar.gz ... OK
> >>    Building package speex-1.2rc2-x86_64-1_SBo.tgz ... OK
> >>    Installing package speex-1.2rc2-x86_64-1_SBo.tgz ... OK
> >>
> >> json-c:
> >>    MD5SUM check for json-c-0.11.tar.gz ... OK
> >>    Building package json-c-0.11-x86_64-1_SBo.tgz ... OK
> >>    Installing package json-c-0.11-x86_64-1_SBo.tgz ... OK
> >>
> >> pulseaudio:
> >>    MD5SUM check for pulseaudio-5.0.tar.xz ... OK
> >>    Building package pulseaudio-5.0-x86_64-4_SBo.tgz ... OK
> >>    Installing package pulseaudio-5.0-x86_64-4_SBo.tgz ... OK
> >>
> >> Have you installed the deps?
> >
> > Could you tell me from which header your compilation gets offsetof ?
> > In my installation, it is not defined in any /usr/include headers.
> 
> This looks like a multilib issue -
> 
> man offsetof says #include <stddef.h>
> 
> I see there are a few stddef.h on my system, including:
>      /usr/include/linux/stddef.h is just a blank line - who knows what
> its there for. However
>      /usr/src/linux-3.14.33/include/linux/stddef.h
> and
>      /usr/lib64/gcc/x86_64-slackware-linux/4.8.2/include/stddef.h
> both have definitions of offsetof.
> 
> The fact that one of these is compiler-specific is what leads me to
> suspect a multilib issue since one might expect a mulitlib system to
> also have a /usr/lib/gcc/x86_64-slackware-linux/4.8.2/include/stddef.h
> but I don't have that on my multilib system. My guess is that you're
> trying to build a 32bit version and so the compiler can't find its
> stddef.h (its not there). You can compile a 64bit version on multilib
> i.e. don't do the /etc/profile.d/32dev.sh thing) and it should compile OK.

No, I have the error when trying and compiling the 64 bits version.

> 
>  I am not sure what you are using pulseaudio for Gilles, but you could try
> apulse, which will detect multilib automatically.

Will do, thanks.

-- 
					    Gilles.


More information about the SlackBuilds-users mailing list