Some checking:

Tzcode 2018a through 2021a works, with quite a few

warning: "tzdata.zi", line 4423: symbolic link used because hard link failed: Invalid argument

 

tzcode2021b and up:

./zic: Can't link /usr/share/zoneinfo/Africa/Abidjan to /usr/share/zoneinfo/Africa/Accra: Invalid argument

 

 

From: tz <tz-bounces@iana.org> On Behalf Of Rune Torgersen via tz
Sent: Thursday, September 14, 2023 3:24 PM
To: Time zone mailing list <tz@iana.org>
Subject: [tz] 2023c install issue

 

This email originated from outside Innovative Systems. Do not click links or open attachments unless you recognize the sender and know the content is safe.

 

Hi , trying to update tzdata/code on an embedded device. Last install I did was in 2016, so been a while.

 

System is an old linux system (GCC 4.1.2, GLIBC 2.5), with some updates over the years.

 

However I get a zic error on installing the zone files:

./zic: Can't link /usr/share/zoneinfo/Africa/Abidjan to /usr/share/zoneinfo/Africa/Accra: Invalid argument

 

 

Complete output:

make CFLAGS='-std=gnu99' TZDIR=/usr/share/zoneinfo install

VERSION=`cat version` && sed \

                -e 's|#!/bin/bash|#!/bin/bash|g' \

                -e 's|AWK=[^}]*|AWK='\''awk'\''|g' \

                -e 's|\(PKGVERSION\)=.*|\1='\''(tzcode) '\''|' \

                -e 's|\(REPORT_BUGS_TO\)=.*|\1=tz@iana.org|' \

                -e 's|TZDIR=[^}]*|TZDIR=/usr/share/zoneinfo|' \

                -e 's|\(TZVERSION\)=.*|\1='"$VERSION"'|' \

                <tzselect.ksh >tzselect.out

chmod +x tzselect.out

mv tzselect.out tzselect

VERSION=`cat version` && printf '%s\n' \

          'static char const PKGVERSION[]="(tzcode) ";' \

          "static char const TZVERSION[]=\"$VERSION\";" \

          'static char const REPORT_BUGS_TO[]=tz@iana.org;' \

          >version.h.out

mv version.h.out version.h

cc -DTZDIR='"/usr/share/zoneinfo"' -std=gnu99   -c -o zic.o zic.c

cc -DTZDIR='"/usr/share/zoneinfo"' -o zic -std=gnu99  zic.o

cc -DTZDIR='"/usr/share/zoneinfo"' -std=gnu99   -c -o zdump.o zdump.c

cc -DTZDIR='"/usr/share/zoneinfo"' -std=gnu99   -c -o localtime.o localtime.c

localtime.c: In function 'tzloadbody':

localtime.c:698: warning: comparison is always false due to limited range of data type

localtime.c:708: warning: comparison is always false due to limited range of data type

cc -DTZDIR='"/usr/share/zoneinfo"' -std=gnu99   -c -o asctime.o asctime.c

cc -DTZDIR='"/usr/share/zoneinfo"' -std=gnu99   -c -o strftime.o strftime.c

cc -DTZDIR='"/usr/share/zoneinfo"' -o zdump -std=gnu99  zdump.o localtime.o asctime.o strftime.o

cc -DTZDIR='"/usr/share/zoneinfo"' -std=gnu99   -c -o difftime.o difftime.c

rm -f libtz.a

ar -rc libtz.a localtime.o asctime.o difftime.o strftime.o

: libtz.a

awk \

  -v DATAFORM=`expr main.zi : '\(.*\).zi'` \

          -v PACKRATDATA='' \

          -v PACKRATLIST='' \

          -f ziguard.awk \

          africa antarctica asia australasia europe northamerica southamerica etcetera factory backward  >main.zi.out

mv main.zi.out main.zi

version=`sed 1q version` && \

          LC_ALL=C awk \

            -v dataform='main' \

            -v deps='ziguard.awk africa antarctica asia australasia europe northamerica southamerica etcetera factory backward   zishrink.awk' \

            -v redo='posix_right' \

            -v version="$version" \

            -f zishrink.awk \

            main.zi >tzdata.zi.out

mv tzdata.zi.out tzdata.zi

awk \

  -v DATAFORM=`expr vanguard.zi : '\(.*\).zi'` \

          -v PACKRATDATA='' \

          -v PACKRATLIST='' \

          -f ziguard.awk \

          africa antarctica asia australasia europe northamerica southamerica etcetera factory backward  >vanguard.zi.out

mv vanguard.zi.out vanguard.zi

awk \

  -v DATAFORM=`expr rearguard.zi : '\(.*\).zi'` \

          -v PACKRATDATA='' \

          -v PACKRATLIST='' \

          -f ziguard.awk \

          africa antarctica asia australasia europe northamerica southamerica etcetera factory backward  >rearguard.zi.out

mv rearguard.zi.out rearguard.zi

make BACKWARD='backward' DESTDIR='' LEAPSECONDS='' PACKRATDATA='' PACKRATLIST='' TZDEFAULT='/etc/localtime' TZDIR='/usr/share/zoneinfo' ZIC='./zic ' LEAPSECONDS= install_data

make[1]: Entering directory `/vmfs/devroot/tz'

./zic  -d '/usr/share/zoneinfo'  tzdata.zi

./zic: Can't link /usr/share/zoneinfo/Africa/Abidjan to /usr/share/zoneinfo/Africa/Accra: Invalid argument

make[1]: *** [install_data] Error 1

make[1]: Leaving directory `/vmfs/devroot/tz'

make: *** [posix_only] Error 2

 

 

Rune Torgersen

Senior Engineer

Innovative Systems LLC