[tz] Tzdb build issue

Naveen kumar navinagaraj18 at gmail.com
Wed May 31 07:30:20 UTC 2023


Hi Paul,

1.

   - Kernel - 2.6.31
   - gcc    - 4.9.4
   - glibc  - 2.19

2.
  please refer to the attached log file.

3.
I am facing this issue in the latest version tzdb-2023c.

4.
i used the -DPORT_TO_C89 option in CFLAGS also the same error occurred. I
also attached the error log also.


Thanks,
Naveen.

On Wed, May 31, 2023 at 3:48 AM Paul Eggert <eggert at cs.ucla.edu> wrote:

> On 5/30/23 00:57, Naveen kumar via tz wrote:
> > I am facing this issue while compiling the tzdata latest version
> > tzdb-2023c.I attached the log for your reference.
>
> Thanks for reporting the problem.
>
> What compiler and compiler version are you using? For example, if you're
> using GCC, what is the output of the 'gcc --version' command?
>
> What options are you giving the compiler?
>
> Is the problem new to tzdb-2023c, or do you see it with earlier versions
> of tzdb?
>
> Does the problem go away if you compile with the -DPORT_TO_C89 compiler
> option? E.g.,
>
> make CFLAGS='-DPORT_TO_C89'
>
> The PORT_TO_C89 flag is documented in the Makefile.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mm.icann.org/pipermail/tz/attachments/20230531/04926a7d/attachment.html>
-------------- next part --------------
CFLAGS="-Os -g -pipe" LDFLAGS="" CXXFLAGS="-Os -g -pipe"  \
        CFLAGS='-DPORT_TO_C89  ' \
	make -j6 zic=zic cc=arm-linux-gnueabi-gcc ZDUMPDIR=/usr/sbin   ZFLAGS="-b slim"
make[1]: Entering directory '/home/tzdb-2023c'
arm-linux-gnueabi-gcc -DTZDIR='"/usr/share/zoneinfo"'    -c -o zic.o zic.c
arm-linux-gnueabi-gcc -DTZDIR='"/usr/share/zoneinfo"'    -c -o zdump.o zdump.c
arm-linux-gnueabi-gcc -DTZDIR='"/usr/share/zoneinfo"'    -c -o localtime.o localtime.c
arm-linux-gnueabi-gcc -DTZDIR='"/usr/share/zoneinfo"'    -c -o asctime.o asctime.c
arm-linux-gnueabi-gcc -DTZDIR='"/usr/share/zoneinfo"'    -c -o strftime.o strftime.c
arm-linux-gnueabi-gcc -DTZDIR='"/usr/share/zoneinfo"'    -c -o difftime.o difftime.c
In file included from asctime.c:16:0:
private.h:791:60: error: conflicting types for 'restrict'
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                                            ^
private.h:791:36: note: previous definition of 'restrict' was here
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                    ^
private.h:792:15: error: conflicting types for 'restrict'
    struct tm *restrict);
               ^
private.h:791:60: note: previous definition of 'restrict' was here
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                                            ^
private.h:793:49: error: conflicting types for 'restrict'
 time_t mktime_z(timezone_t restrict, struct tm *restrict);
                                                 ^
private.h:793:28: note: previous definition of 'restrict' was here
 time_t mktime_z(timezone_t restrict, struct tm *restrict);
                            ^
asctime.c:64:37: error: expected ';', ',' or ')' before 'timeptr'
 asctime_r(struct tm const *restrict timeptr, char *restrict buf)
                                     ^
make[1]: *** [<builtin>: asctime.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from difftime.c:10:0:
private.h:791:60: error: conflicting types for 'restrict'
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                                            ^
private.h:791:36: note: previous definition of 'restrict' was here
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                    ^
private.h:792:15: error: conflicting types for 'restrict'
    struct tm *restrict);
               ^
private.h:791:60: note: previous definition of 'restrict' was here
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                                            ^
private.h:793:49: error: conflicting types for 'restrict'
 time_t mktime_z(timezone_t restrict, struct tm *restrict);
                                                 ^
private.h:793:28: note: previous definition of 'restrict' was here
 time_t mktime_z(timezone_t restrict, struct tm *restrict);
                            ^
make[1]: *** [<builtin>: difftime.o] Error 1
In file included from localtime.c:16:0:
private.h:791:60: error: conflicting types for 'restrict'
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                                            ^
private.h:791:36: note: previous definition of 'restrict' was here
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                    ^
private.h:792:15: error: conflicting types for 'restrict'
    struct tm *restrict);
               ^
private.h:791:60: note: previous definition of 'restrict' was here
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                                            ^
private.h:793:49: error: conflicting types for 'restrict'
 time_t mktime_z(timezone_t restrict, struct tm *restrict);
                                                 ^
private.h:793:28: note: previous definition of 'restrict' was here
 time_t mktime_z(timezone_t restrict, struct tm *restrict);
                            ^
localtime.c:1623:37: error: expected ';', ',' or ')' before 'sp'
 localtime_rz(struct state *restrict sp, time_t const *restrict timep,
                                     ^
localtime.c:1656:36: error: expected ';', ',' or ')' before 'timep'
 localtime_r(const time_t *restrict timep, struct tm *restrict tmp)
                                    ^
localtime.c:1689:33: error: expected ';', ',' or ')' before 'timep'
 gmtime_r(time_t const *restrict timep, struct tm *restrict tmp)
                                 ^
localtime.c:2293:33: error: expected ';', ',' or ')' before 'sp'
 mktime_z(struct state *restrict sp, struct tm *restrict tmp)
                                 ^
make[1]: *** [<builtin>: localtime.o] Error 1
In file included from strftime.c:36:0:
private.h:791:60: error: conflicting types for 'restrict'
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                                            ^
private.h:791:36: note: previous definition of 'restrict' was here
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                    ^
private.h:792:15: error: conflicting types for 'restrict'
    struct tm *restrict);
               ^
private.h:791:60: note: previous definition of 'restrict' was here
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                                            ^
private.h:793:49: error: conflicting types for 'restrict'
 time_t mktime_z(timezone_t restrict, struct tm *restrict);
                                                 ^
private.h:793:28: note: previous definition of 'restrict' was here
 time_t mktime_z(timezone_t restrict, struct tm *restrict);
                            ^
strftime.c:119:27: error: expected ';', ',' or ')' before 's'
 strftime_l(char *restrict s, size_t maxsize, char const *restrict format,
                           ^
strftime.c:129:25: error: expected ';', ',' or ')' before 's'
 strftime(char *restrict s, size_t maxsize, char const *restrict format,
                         ^
make[1]: *** [<builtin>: strftime.o] Error 1
In file included from zdump.c:14:0:
private.h:791:60: error: conflicting types for 'restrict'
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                                            ^
private.h:791:36: note: previous definition of 'restrict' was here
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                    ^
private.h:792:15: error: conflicting types for 'restrict'
    struct tm *restrict);
               ^
private.h:791:60: note: previous definition of 'restrict' was here
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                                            ^
private.h:793:49: error: conflicting types for 'restrict'
 time_t mktime_z(timezone_t restrict, struct tm *restrict);
                                                 ^
private.h:793:28: note: previous definition of 'restrict' was here
 time_t mktime_z(timezone_t restrict, struct tm *restrict);
                            ^
make[1]: *** [<builtin>: zdump.o] Error 1
In file included from zic.c:16:0:
private.h:791:60: error: conflicting types for 'restrict'
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                                            ^
private.h:791:36: note: previous definition of 'restrict' was here
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                    ^
private.h:792:15: error: conflicting types for 'restrict'
    struct tm *restrict);
               ^
private.h:791:60: note: previous definition of 'restrict' was here
 struct tm *localtime_rz(timezone_t restrict, time_t const *restrict,
                                                            ^
private.h:793:49: error: conflicting types for 'restrict'
 time_t mktime_z(timezone_t restrict, struct tm *restrict);
                                                 ^
private.h:793:28: note: previous definition of 'restrict' was here
 time_t mktime_z(timezone_t restrict, struct tm *restrict);
                            ^
make[1]: *** [<builtin>: zic.o] Error 1


More information about the tz mailing list