[Slackbuilds-users] pulseaudio slackbuild

Christoph Willing chris.willing at iinet.net.au
Sun Mar 29 12:34:04 UTC 2015



On 03/29/2015 09:33 PM, Gilles Chanteperdrix wrote:
> On Sat, Mar 28, 2015 at 08:59:09AM +1000, Christoph Willing 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.
>
> I have just tried compiling a simple program with #include
> <stddef.h> then uses offsetof, and it compiles and runs fine both in
> 64 bits and 32 bits mode, so the multilib toolchain is fine.
>
> I can only assume that something else in my setup is causing
> pulseaudio to not include stddef.f for using offsetof.

I did several rounds of test builds at the weekend on a fresh multilib 
VM, with highly repeatable results as follows:

1. a straight 64bit compile of pulse audio needed a compat32 version of 
json-c (I don't know why - just reporting results)

2. a 32bit compile also needed that compat32 version of json-c. It 
additionally needed compat32 versions of samba, fftw, libcap and GConf

A side issue is that in both 64 & 32bit compiles, speex wasn't detected 
despite being looked for in the configuration stage of the pulseaudio 
build. I see there's an update for speex in the latest SBo updates; I'll 
play with that this week.


chris


More information about the SlackBuilds-users mailing list