pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/42820: audio/pulseaudio compile (link) errors (NetBSD 4.0 / i386)



>Number:         42820
>Category:       pkg
>Synopsis:       audio/pulseaudio compile (link) errors (NetBSD 4.0 / i386)
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Feb 15 14:35:00 +0000 2010
>Originator:     Robert Elz
>Release:        NetBSD 4.0 / i386   (pkgsrc current as of 2010-02-15)
>Organization:
        Prince of Songkla University
>Environment:
System: NetBSD jade.coe.psu.ac.th 5.0.2 NetBSD 5.0.2 (JADE-$Revision: 1.12 $) 
#17: Fri Feb 12 18:27:01 ICT 2010 
kre%jade.coe.psu.ac.th@localhost:/usr/obj/5/kernels/JADE i386
Architecture: i386
Machine: i386
>Description:
        Attempting to build audio/pulseaudio on NetBSD 4.0 fails with
        link errors (looking for symbols that should clearly be in libc).

        This is most likely a misisng -lc in a link line in a situation
        where NetBSD 5 and later don't require it (explicitly) but
        NetBSD 4 does.   (I think I've seen this basic problem before,
        perhaps even in pulseaudio itself, I don't recall.)

>How-To-Repeat:
        I use pkg_comp with libkver and NetBSD 4.0 sets installed
        (except the x* sets, I have X11_TYPE=modular instead, but that's
        not important here).   This gives a fairly pure NetBSD 4.0 (RELEASE)
        environment in which to build packages.

        In that environment, building audio/pulseaudio fails as ...

  CCLD   module-console-kit.la
.libs/module_console_kit_la-module-console-kit.o: In function `free_session':
module-console-kit.c:(.text+0xf2): undefined reference to `abort'
.libs/module_console_kit_la-module-console-kit.o: In function 
`module_console_kit_LTX_pa__done':
module-console-kit.c:(.text+0x1ec): undefined reference to `abort'
.libs/module_console_kit_la-module-console-kit.o: In function `add_session':
module-console-kit.c:(.text+0x2ee): undefined reference to `getuid'
.libs/module_console_kit_la-module-console-kit.o: In function 
`module_console_kit_LTX_pa__init':
module-console-kit.c:(.text+0x657): undefined reference to `getuid'
module-console-kit.c:(.text+0x831): undefined reference to `__assert13'
module-console-kit.c:(.text+0x8eb): undefined reference to `abort'
.libs/module_console_kit_la-module-console-kit.o: In function `filter_cb':
module-console-kit.c:(.text+0xb43): undefined reference to `abort'
gmake[3]: *** [module-console-kit.la] Error 1
gmake[3]: Leaving directory 
`/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/pulseaudio-0.9.21/src'
gmake[2]: *** [all] Error 2
gmake[2]: Leaving directory 
`/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/pulseaudio-0.9.21/src'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory 
`/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/pulseaudio-0.9.21'
gmake: *** [all] Error 2
*** Error code 2

Stop.
make: stopped in /usr/pkgsrc/audio/pulseaudio
*** Error code 1

Stop.

        abort(), getuid() (etc) are all normally found in libc.

        While I'm here, this might not matter, but there are also a
        LOT of compilation warnings:

  CC     module_console_kit_la-module-console-kit.lo
In file included from 
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/sysdeps/gcc/../ordered_except_wr.h:30,
                 from 
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/sysdeps/gcc/x86.h:33,
                 from 
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops.h:194,
                 from ./pulsecore/atomic.h:492,
                 from ./pulsecore/refcnt.h:25,
                 from ./pulsecore/memblock.h:31,
                 from ./pulsecore/core.h:42,
                 from ./pulsecore/module.h:32,
                 from modules/module-console-kit.c:39:
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/sysdeps/gcc/../read_ordered.h:32:
 warning: function declaration isn't a prototype [-Wstrict-prototypes]
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/sysdeps/gcc/../read_ordered.h:
 In function 'AO_nop_read':
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/sysdeps/gcc/../read_ordered.h:32:
 warning: old-style function definition [-Wold-style-definition]
In file included from 
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/sysdeps/gcc/x86.h:33,
                 from 
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops.h:194,
                 from ./pulsecore/atomic.h:492,
                 from ./pulsecore/refcnt.h:25,
                 from ./pulsecore/memblock.h:31,
                 from ./pulsecore/core.h:42,
                 from ./pulsecore/module.h:32,
                 from modules/module-console-kit.c:39:
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/sysdeps/gcc/../ordered_except_wr.h:
 At top level:
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/sysdeps/gcc/../ordered_except_wr.h:34:
 warning: function declaration isn't a prototype [-Wstrict-prototypes]
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/sysdeps/gcc/../ordered_except_wr.h:
 In function 'AO_nop_write':
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/sysdeps/gcc/../ordered_except_wr.h:34:
 warning: old-style function definition [-Wold-style-definition]
In file included from ./pulsecore/atomic.h:492,
                 from ./pulsecore/refcnt.h:25,
                 from ./pulsecore/memblock.h:31,
                 from ./pulsecore/core.h:42,
                 from ./pulsecore/module.h:32,
                 from modules/module-console-kit.c:39:
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops.h:283:5: 
warning: "AO_AO_TS_T" is not defined
In file included from 
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops.h:296,
                 from ./pulsecore/atomic.h:492,
                 from ./pulsecore/refcnt.h:25,
                 from ./pulsecore/memblock.h:31,
                 from ./pulsecore/core.h:42,
                 from ./pulsecore/module.h:32,
                 from modules/module-console-kit.c:39:
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/generalize.h:61:5:
 warning: "AO_AO_TS_T" is not defined
In file included from 
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops.h:296,
                 from ./pulsecore/atomic.h:492,
                 from ./pulsecore/refcnt.h:25,
                 from ./pulsecore/memblock.h:31,
                 from ./pulsecore/core.h:42,
                 from ./pulsecore/module.h:32,
                 from modules/module-console-kit.c:39:
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/generalize.h:
 At top level:
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/generalize.h:153:
 warning: function declaration isn't a prototype [-Wstrict-prototypes]
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/generalize.h:
 In function 'AO_nop_full':
/pkg_comp/obj/pkgsrc/audio/pulseaudio/4x/.buildlink/include/atomic_ops/generalize.h:153:
 warning: old-style function definition [-Wold-style-definition]

        That lot occur in the compilation of many files (any that
        include the relevant .h files I assume).

        I have no idea whether it matters that AO_AO_TS_T is not defined.
        If not, could those warnings be made to go away (an ifdef or something
        around whatever is using it)?  If it does need to be defined, then
        somehow it seems to be acceptable now (those messages don't cause the
        compiles to abort) so I'd assume some default value is finding its
        way in - in that case, could whatever value it is getting be simply
        assigned to it (perhaps just earlier) so the "is not defined" would
        go away...

>Fix:
        Somewhere, no idea where, add a -lc (perhaps only for NetBSD 4.0)



Home | Main Index | Thread Index | Old Index