octave-maintainers
[Top][All Lists]
Advanced

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

Re: strptime? compiling CVS sources problem...


From: John Smith
Subject: Re: strptime? compiling CVS sources problem...
Date: Sat, 9 Dec 2000 13:57:37 +0000 (GMT)

Thanks for the patch. Yes, it does solve the problem.

And the other patch to aclocal.m4 to allow for newer versions of gperf
also works for me.

The whole CVS octave seems to have compiled cleanly, except for a bit
of Latex/metafont magic, and I am fairly certain my system is broken there.

John


On Sat, 9 Dec 2000, John W. Eaton wrote:

> On  9-Dec-2000, John Smith <address@hidden> wrote:
> 
> | Hello,
> | 
> | Compiling a CVS octave collected today, I generate this error
> | message
> | 
> |   gcc -c  -I. -I../../octave/liboctave -I.. -I../liboctave -I../src
> |     -I../libcruft/misc -I../../octave -I../../octave/liboctave
> |     -I../../octave/src -I../../octave/libcruft/misc  -I../../octave/glob
> |     -I../glob -DHAVE_CONFIG_H -mieee-fp -g -O2 -Wall
> |     ../../octave/liboctave/strptime.c -o strptime.o
> |     ../../octave/liboctave/strptime.c: In function `strptime_internal':
> |     ../../octave/liboctave/strptime.c:576: warning: implicit declaration of
> |              function `localtime_r'
> |     ../../octave/liboctave/strptime.c:576: warning: comparison between 
> pointer
> |              and integer
> |     ../../octave/liboctave/strptime.c: In function `strptime':
> |     ../../octave/liboctave/strptime.c:863: argument `buf' doesn't match
> |              prototype
> |     /usr/include/time.h:92: prototype declaration
> | 
> | 
> | Warning at 576:
> | The function localtime_r in /usr/include/time.h is protected by
> | 
> |      #if defined(_POSIX_THREAD_SAFE_FUNCTIONS) || defined(_REENTRANT)
> | 
> |      extern char* asctime_r     __P((__const struct tm *, char *));
> |      extern char* ctime_r       __P((__const time_t *, char *));
> |      extern struct tm* gmtime_r     __P((__const time_t *, struct tm *));
> |      extern struct tm* localtime_r __P((__const time_t *, struct tm *));
> | 
> |      #endif
> | and doesn't get declared. But config.h does set HAVE_LOCALTIME_R to 1.
> | I don't suppose it really matters...
> | 
> | Error at 863:
> | The strptime in /usr/include/time.h is declared
> | 
> |    extern char * strptime __P ((char * __s, __const char * __fmt,
> |                             struct tm * __tm));
> | 
> | whereas in liboctave/strptime.c it appears as
> | 
> |    char *
> |    strptime (buf, format, tm)
> |         const char *buf;
> |         const char *format;
> |         struct tm *tm;
> |  
> | which is enough different to trigger the error at line 863.
> | 
> | The config.h contains
> |    /* Define if you have the strptime function.  */
> |    #define HAVE_STRPTIME 1
> | 
> | Is this supposed to have any effect, in the sense of only declaring
> | strptime if it doesn't already exist?
> | 
> | I have a fairly ancient Linux system. Perhaps I should simply be told 
> | to upgrade it.
> 
> Perhaps.
> 
> Please try the following patch and let me know if it solves the
> problem.
> 
> Thanks,
> 
> jwe
> 
> 
> 2000-12-09  John W. Eaton  <address@hidden>
> 
>       * strptime.c: Surround everything after including config.h in
>       #ifndef HAVE_STRPTIME ... #endif.
> 
> 
> Index: strptime.c
> ===================================================================
> RCS file: /usr/local/cvsroot/octave/liboctave/strptime.c,v
> retrieving revision 1.3
> diff -u -r1.3 strptime.c
> --- strptime.c        2000/02/01 10:07:26     1.3
> +++ strptime.c        2000/12/09 07:32:13
> @@ -27,6 +27,8 @@
>  # include <config.h>
>  #endif
>  
> +#ifndef HAVE_STRPTIME
> +
>  #include <ctype.h>
>  #ifdef _LIBC
>  #  include <langinfo.h>
> @@ -869,3 +871,5 @@
>  #endif
>    return strptime_internal (buf, format, tm, &decided);
>  }
> +
> +#endif
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]