At Mon, 3 Mar 2008 12:48:11 -0600 (CST),
Stephen Stocker wrote:
>
> On Mon, 3 Mar 2008, Takashi Iwai wrote:
>
> > At Sat, 1 Mar 2008 03:58:16 -0600 (CST),
> > Stephen Stocker wrote:
> >>
> >> Hi.
> >>
> >> I'm running kernel 2.4.24-ck1, gcc 3.3.4. Trying to compile the
> >> alsa-lib-1.0.16, I get the following error.
> >
> > Does the patch below fix?
> >
> >
> > Takashi
> >
> > diff -r 14ce0fc9a26d src/pcm/pcm_local.h
> > --- a/src/pcm/pcm_local.h Fri Feb 29 12:42:57 2008 +0100
> > +++ b/src/pcm/pcm_local.h Mon Mar 03 18:11:21 2008 +0100
> > @@ -944,13 +944,17 @@ typedef union snd_tmp_double {
> > /* get the current timestamp */
> > static inline void gettimestamp(snd_htimestamp_t *tstamp, int monotonic)
> > {
> > +#ifdef HAVE_CLOCK_GETTIME
> > if (monotonic) {
> > clock_gettime(CLOCK_MONOTONIC, tstamp);
> > } else {
> > +#else
> > struct timeval tv;
> >
> > gettimeofday(&tv, 0);
> > tstamp->tv_sec = tv.tv_sec;
> > tstamp->tv_nsec = tv.tv_usec * 1000L;
> > +#ifdef HAVE_CLOCK_GETTIME
> > }
> > +#endif
> > }
> >
>
> Hi,
> I'm still getting an error, but slightly different after applying the
> patch. I'm not sure how to shorten it here without losing some vital
> message, so here's the complete error:
Looks like your glibc has no CLOCK_MONOTONIC definition although it
has clock_gettime() function. That's bad.
Try the patch below instead.
Takashi
diff -r 14ce0fc9a26d src/pcm/pcm_file.c
--- a/src/pcm/pcm_file.c Fri Feb 29 12:42:57 2008 +0100
+++ b/src/pcm/pcm_file.c Tue Mar 04 11:57:27 2008 +0100
@@ -469,7 +469,7 @@ int snd_pcm_file_open(snd_pcm_t **pcmp,
pcm->poll_fd = slave->poll_fd;
pcm->poll_events = slave->poll_events;
pcm->mmap_shadow = 1;
-#ifdef HAVE_CLOCK_GETTIME
+#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
pcm->monotonic = clock_gettime(CLOCK_MONOTONIC, ×pec) == 0;
#else
pcm->monotonic = 0;
diff -r 14ce0fc9a26d src/pcm/pcm_hw.c
--- a/src/pcm/pcm_hw.c Fri Feb 29 12:42:57 2008 +0100
+++ b/src/pcm/pcm_hw.c Tue Mar 04 11:57:27 2008 +0100
@@ -994,7 +994,7 @@ int snd_pcm_hw_open_fd(snd_pcm_t **pcmp,
if (SNDRV_PROTOCOL_INCOMPATIBLE(ver, SNDRV_PCM_VERSION_MAX))
return -SND_ERROR_INCOMPATIBLE_VERSION;
-#ifdef HAVE_CLOCK_GETTIME
+#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
if (SNDRV_PROTOCOL_VERSION(2, 0, 9) <= ver) {
struct timespec timespec;
if (clock_gettime(CLOCK_MONOTONIC, ×pec) == 0) {
diff -r 14ce0fc9a26d src/pcm/pcm_local.h
--- a/src/pcm/pcm_local.h Fri Feb 29 12:42:57 2008 +0100
+++ b/src/pcm/pcm_local.h Tue Mar 04 11:57:27 2008 +0100
@@ -944,13 +944,17 @@ typedef union snd_tmp_double {
/* get the current timestamp */
static inline void gettimestamp(snd_htimestamp_t *tstamp, int monotonic)
{
+#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
if (monotonic) {
clock_gettime(CLOCK_MONOTONIC, tstamp);
} else {
+#endif
struct timeval tv;
gettimeofday(&tv, 0);
tstamp->tv_sec = tv.tv_sec;
tstamp->tv_nsec = tv.tv_usec * 1000L;
+#if defined(HAVE_CLOCK_GETTIME) && defined(CLOCK_MONOTONIC)
}
+#endif
}
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Alsa-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/alsa-user