Bug#964223: linuxtv-dvb-apps: FTBFS with glibc 2.31 (uses removed stime function)
Aurelien Jarno
aurel32 at debian.org
Fri Jul 3 21:27:21 BST 2020
Source: linuxtv-dvb-apps
Version: 1.1.1+rev1500-1.2
Severity: important
Tags: patch upstream
linuxtv-dvb-apps fails to build from source with glibc 2.31:
| CC dvbdate
| dvbdate.c: In function ‘set_time’:
| dvbdate.c:312:6: warning: implicit declaration of function ‘stime’; did you mean ‘ctime’? [-Wimplicit-function-declaration]
| 312 | if (stime(new_time)) {
| | ^~~~~
| | ctime
| /usr/bin/ld: /tmp/cchQDddv.o: in function `set_time':
| ./util/dvbdate/dvbdate.c:312: undefined reference to `stime'
| /usr/bin/ld: ./util/dvbdate/dvbdate.c:312: undefined reference to `stime'
| collect2: error: ld returned 1 exit status
| make[3]: *** [../../Make.rules:82: dvbdate] Error 1
| make[3]: Leaving directory '/<<PKGBUILDDIR>>/util/dvbdate'
| make[2]: *** [Makefile:10: all] Error 2
| make[2]: Leaving directory '/<<PKGBUILDDIR>>/util'
| make[1]: *** [Makefile:14: all] Error 2
| make[1]: Leaving directory '/<<PKGBUILDDIR>>'
| dh_auto_build: error: make -j1 returned exit code 2
| make: *** [debian/rules:4: build] Error 25
| dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2
The full build log is available there:
http://qa-logs.debian.net/2020/06/24/linuxtv-dvb-apps_1.1.1+rev1500-1.2_unstable_glibc-exp.log
The stime function has been marked as obsolete for some time, and since
glibc 2.31 it is no longer available to newly linked binaries. The
clock_settime function should be used instead.
You will find attached a patch fixing that. It would be nice if it can
be fixed relatively soon so that we can start the transition.
Regards,
Aurelien
-------------- next part --------------
diff -Nru linuxtv-dvb-apps-1.1.1+rev1500/debian/patches/glibc-stime.patch linuxtv-dvb-apps-1.1.1+rev1500/debian/patches/glibc-stime.patch
--- linuxtv-dvb-apps-1.1.1+rev1500/debian/patches/glibc-stime.patch 1970-01-01 00:00:00.000000000 +0000
+++ linuxtv-dvb-apps-1.1.1+rev1500/debian/patches/glibc-stime.patch 2020-07-03 20:13:33.000000000 +0000
@@ -0,0 +1,16 @@
+The obsolete function stime is no longer available to newly linked binaries
+since glibc 2.31. Replace it by clock_settime.
+
+--- a/util/dvbdate/dvbdate.c
++++ b/util/dvbdate/dvbdate.c
+@@ -309,7 +309,9 @@ int atsc_scan_date(time_t *rx_time, unsi
+ */
+ int set_time(time_t * new_time)
+ {
+- if (stime(new_time)) {
++ struct timespec ts = { .tv_sec = new_time };
++
++ if (clock_settime(CLOCK_REALTIME, &ts)) {
+ perror("Unable to set time");
+ return -1;
+ }
diff -Nru linuxtv-dvb-apps-1.1.1+rev1500/debian/patches/series linuxtv-dvb-apps-1.1.1+rev1500/debian/patches/series
--- linuxtv-dvb-apps-1.1.1+rev1500/debian/patches/series 2018-01-23 17:50:35.000000000 +0000
+++ linuxtv-dvb-apps-1.1.1+rev1500/debian/patches/series 2020-07-03 20:13:33.000000000 +0000
@@ -9,3 +9,4 @@
use-ldflags.patch
fix-build-libpng16.patch
dst_test-no-set-id.patch
+glibc-stime.patch
More information about the pkg-vdr-dvb-devel
mailing list