[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
strptime? compiling CVS sources problem...
From: |
John W. Eaton |
Subject: |
strptime? compiling CVS sources problem... |
Date: |
Sat, 9 Dec 2000 01:32:49 -0600 |
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