commit 4b8b84cce1fd57eec1f47ca44780d60c148b399d Author: Jan Pokorný <jpoko...@redhat.com> Date: Fri Nov 15 16:06:57 2019 +0100
Build: restore buildability in the face of obsolete ftime(3) Since the usage of ftime(3) is purely optional and since clock_gettime(3) is mandated with POSIX 2001, we can simply look at whether CLOCK_MONOTONIC is defined to be used as an identifier for the particular clock (kind exactly suitable for this context). But due to being late in the release cycle, such a change is kept as opt-in (see configure.ac comment for details), and for compatibility stability concerns[*], also dropping some old surrounding cruft is delayed. In this form, constitutes first step out of two to restore out-of-the-box buildability with recent enough glibc, again, refer to configure.ac comment. References: https://sourceware.org/git/?p=glibc.git;a=commit;h=2b5fea833bcd0f651579afd16ed7842770ecbae1 https://src.fedoraproject.org/rpms/glibc/c/ebf75398f06dd27357d8a5321e8e5959633b8182?branch=master (for a Fedora Rawhide follow-the-upstream update that led to this discovery) [*] in case you opt-in (as described), CLOCK_MONOTONIC gets detected in time.h positively but it starts choking for whatever reason in the actual build or even in run-time, you can rescind that, or you can shortcut any checking and refrain from any time period measurements altogher with something like: env \ ac_cv_header_sys_timeb_h=no ac_cv_have_decl_CLOCK_MONOTONIC=no \ ./configure -- You received this bug notification because you are a member of Ubuntu High Availability Team, which is subscribed to pacemaker in Ubuntu. https://bugs.launchpad.net/bugs/1869751 Title: [focal] pacemaker FTBFS because of deprecated ftime() Status in pacemaker package in Ubuntu: Confirmed Bug description: https://people.canonical.com/~doko/ftbfs-report/test-rebuild-20200327 -focal-focal.html shows that pacemaker started to be FTBFS because of: """ gcc -DHAVE_CONFIG_H -I. -I../../include -DSUPPORT_REMOTE -I../../include -I../../include -I../../libltdl -I../../libltdl -DPCMK_TIME_EMERGENCY_CGT -Wdate-time -D_FORTIFY_SOURCE=2 -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/heartbeat -I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include -fPIE -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -ggdb -fgnu89-inline -Wall -Waggregate-return -Wbad-function-cast -Wcast-align -Wdeclaration-after-statement -Wendif-labels -Wfloat-equal -Wformat-security -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wno-long-long -Wno-strict-aliasing -Wpointer-arith -Wwrite-strings -Wunused-but-set-variable -Wformat=2 -Wformat-nonliteral -fstack-protector-strong -Werror -c -o pacemaker_remoted-pacemaker-execd.o `test -f 'pacemaker-execd.c' || echo './'`pacemaker-execd.c execd_commands.c: In function ‘stonith_recurring_op_helper’: execd_commands.c:257:5: error: ‘ftime’ is deprecated [-Werror=deprecated-declarations] 257 | ftime(&cmd->t_queue); | ^~~~~ In file included from execd_commands.c:23: /usr/include/i386-linux-gnu/sys/timeb.h:39:12: note: declared here 39 | extern int ftime (struct timeb *__timebuf) | ^~~~~ execd_commands.c: In function ‘schedule_lrmd_cmd’: execd_commands.c:389:5: error: ‘ftime’ is deprecated [-Werror=deprecated-declarations] 389 | ftime(&cmd->t_queue); | ^~~~~ """ And man page shows: SYNOPSIS #include <sys/timeb.h> int ftime(struct timeb *tp); DESCRIPTION NOTE: This function is deprecated, and will be removed in a future version of the GNU C library. Use clock_gettime(2) instead. I'll fix this together with other fixes, opening this bug to track the issue. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/pacemaker/+bug/1869751/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~ubuntu-ha Post to : ubuntu-ha@lists.launchpad.net Unsubscribe : https://launchpad.net/~ubuntu-ha More help : https://help.launchpad.net/ListHelp