[vlc-devel] [#10696] Build fails on GNU/Hurd
Rémi Denis-Courmont
remi at remlab.net
Tue Feb 18 20:08:10 CET 2014
Le mardi 18 février 2014, 19:57:01 Gabriele Giacone a écrit :
> On Tue, Feb 18, 2014 at 6:02 PM, Rémi Denis-Courmont <remi at remlab.net>
wrote:
> > Le mardi 18 février 2014, 17:28:00 Gabriele Giacone a écrit :
> >> posix/thread.c: In function 'vlc_cond_init':
> >> posix/thread.c:332:39: error: 'vlc_clock_id' undeclared (first use in
> >> this function)
> >>
> >> pthread_condattr_setclock (&attr, vlc_clock_id);
> >
> > Your C library header files are screwed up. This implies that _POSIX_TIMER
> > is negative and _POSIX_CLOCK_SELECTION is positive. This is *impossible*
> > to support since we need a clock ID (CLOCK_REALTIME in this case) which
> > comes with _POSIX_TIMER. Indeed, this option combination is explicitly
> > *forbidden* by the specification.
>
> Not negative, it equals to 0. As already wrote, from [1]
OK, the VLC code assumes that it is non-zero because I did not consider the
possibility of it being zero, because that did not seem to make much sense.
You can add support for the zero case if you want, but your patch is wrong
regardless.
> /* We do not have POSIX timers, but could in future without ABI change. */
> #define _POSIX_TIMERS 0
> [...]
> /* The monotonic clock might be available. */
> #define _POSIX_MONOTONIC_CLOCK 0
> [...]
> /* The clock selection interfaces are available. */
> #define _POSIX_CLOCK_SELECTION 200809L
This is a completely illegal and non-sensical combination. POSIX requires
timers if clock selection is supported, since clock selection instrinsically
depends on timers. Furthermore POSIX.2008 requires timers and the monotonic
clock in any case (they are *not* optional).
So as already implied, your system is broken. It is your operating system, not
VLC, that needs fixing.
--
Реми Денис-Курмон
http://www.remlab.net/
More information about the vlc-devel
mailing list