While some may think the fix for this is to suppress deprecated warning
OR to "fix" ftime()... the actual fix for this is to start using
MONOTONIC clock for the related functions:

(c)rafaeldtinoco@clufocaldev:~/.../sources/ubuntu/pacemaker$ git diff HEAD
diff --git a/configure.ac b/configure.ac
index a4c8ae93..b7edea57 100644
--- a/configure.ac
+++ b/configure.ac
@@ -981,7 +981,7 @@ AC_CHECK_DECLS([CLOCK_MONOTONIC], [], [], [[
 # will only be applied in 2.0.3 release and will become opt-out since
 # (which hopefully explains the name of the macro as it will start to
 # make more sense then, and the continuity is important)
-CPPFLAGS="-DPCMK_TIME_EMERGENCY_CGT $CPPFLAGS"
+# CPPFLAGS="-DPCMK_TIME_EMERGENCY_CGT $CPPFLAGS"


 dnl ========================================================================

This solves the building issue.

-- 
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

Reply via email to