Project

General

Profile

Bug #47187

master FTBFS with glibc 2.32

Added by Nathan Cutler 5 months ago. Updated 1 day ago.

Status:
Pending Backport
Priority:
Normal
Category:
-
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
octopus, nautilus
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature:

Description

master Fails To Build From Source with glibc 2.32:

[   14s] [32/318] preinstalled glibc-2.32-564.17
[   14s] [33/318] preinstalled glibc-devel-2.32-564.17
[   14s] [34/318] preinstalled glibc-locale-2.32-564.17
[   14s] [35/318] preinstalled glibc-locale-base-2.32-564.17
...
[  668s] [ 11%] Building CXX object src/global/CMakeFiles/libglobal_objs.dir/signal_handler.cc.o
[  679s] In file included from /home/abuild/rpmbuild/BUILD/ceph-16.0.0-4862-g8ac6038555/src/global/signal_handle
r.cc:28:
[  679s] /home/abuild/rpmbuild/BUILD/ceph-16.0.0-4862-g8ac6038555/src/global/signal_handler.cc: In function 'voi
d install_sighandler(int, signal_handler_t, int)':
[  679s] /home/abuild/rpmbuild/BUILD/ceph-16.0.0-4862-g8ac6038555/src/global/signal_handler.h:24:26: error: 'sys
_siglist' was not declared in this scope
[  679s]    24 | # define sig_str(signum) sys_siglist[signum]
[  679s]       |                          ^~~~~~~~~~~
[  679s] /home/abuild/rpmbuild/BUILD/ceph-16.0.0-4862-g8ac6038555/src/global/signal_handler.h:24:26: note: in de
finition of macro 'sig_str'   
[  679s]    24 | # define sig_str(signum) sys_siglist[signum]
[  679s]       |                          ^~~~~~~~~~~
[  679s] /home/abuild/rpmbuild/BUILD/ceph-16.0.0-4862-g8ac6038555/src/global/signal_handler.cc: In function 'voi
d handle_fatal_signal(int)'
[  679s] /home/abuild/rpmbuild/BUILD/ceph-16.0.0-4862-g8ac6038555/src/global/signal_handler.h:24:26: error: 'sys
_siglist' was not declared in this scope
[  679s]    24 | # define sig_str(signum) sys_siglist[signum]
[  679s]       |                          ^~~~~~~~~~~
[  679s] /home/abuild/rpmbuild/BUILD/ceph-16.0.0-4862-g8ac6038555/src/global/signal_handler.h:24:26: note: in de
finition of macro 'sig_str'   
[  679s]    24 | # define sig_str(signum) sys_siglist[signum]
[  679s]       |                          ^~~~~~~~~~~
[  679s] /home/abuild/rpmbuild/BUILD/ceph-16.0.0-4862-g8ac6038555/src/global/signal_handler.cc: In member function 'virtual void* SignalHandler::entry()':
[  679s] /home/abuild/rpmbuild/BUILD/ceph-16.0.0-4862-g8ac6038555/src/global/signal_handler.h:24:26: error: 'sys_siglist' was not declared in this scope
[  679s]    24 | # define sig_str(signum) sys_siglist[signum]
[  679s]       |                          ^~~~~~~~~~~
[  679s] /home/abuild/rpmbuild/BUILD/ceph-16.0.0-4862-g8ac6038555/src/global/signal_handler.h:24:26: note: in definition of macro 'sig_str'
[  679s]    24 | # define sig_str(signum) sys_siglist[signum]
[  679s]       |                          ^~~~~~~~~~~
[  680s] [ 12%] Building CXX object src/CMakeFiles/common-objs.dir/mon/MonMap.cc.o
[  681s] [ 12%] Building CXX object src/common/CMakeFiles/common-common-objs.dir/LogClient.cc.o
[  682s] make[2]: *** [src/global/CMakeFiles/libglobal_objs.dir/build.make:108: src/global/CMakeFiles/libglobal_objs.dir/signal_handler.cc.o] Error 1   

Related issues

Copied to Ceph - Backport #48887: nautilus: master FTBFS with glibc 2.32 New
Copied to Ceph - Backport #48888: octopus: master FTBFS with glibc 2.32 New

History

#1 Updated by David Disseldorp 5 months ago

Nathan Cutler wrote:

master Fails To Build From Source with glibc 2.32:

[...]

From the glibc 2.32 release notes:

  • The functions sigabbrev_np and sigdescr_np have been added. The
    sigabbrev_np returns the abbreviated signal name (e.g. "HUP" for SIGHUP)
    while sigdescr_np returns a string describing the signal number (e.g
    "Hangup" for SIGHUP). Different than strsignal, sigdescr_np does not
    attempt to translate the return description, both functions return
    NULL for an invalid signal number.

    They should be used instead of sys_siglist or sys_sigabbrev and they
    are both thread and async-signal safe. These functions are GNU extensions.

I'll propose a patch to use sigabbrev_np if available

#2 Updated by David Disseldorp 5 months ago

David Disseldorp wrote:

Nathan Cutler wrote:

master Fails To Build From Source with glibc 2.32:

[...]

From the glibc 2.32 release notes:

  • The functions sigabbrev_np and sigdescr_np have been added. The
    sigabbrev_np returns the abbreviated signal name (e.g. "HUP" for SIGHUP)
    while sigdescr_np returns a string describing the signal number (e.g
    "Hangup" for SIGHUP). Different than strsignal, sigdescr_np does not
    attempt to translate the return description, both functions return
    NULL for an invalid signal number.

They should be used instead of sys_siglist or sys_sigabbrev and they
are both thread and async-signal safe. These functions are GNU extensions.

For the record, the glibc commit is:

https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b1ccfc061feee9ce616444ded8e1cd5acf9fa97f

#3 Updated by David Disseldorp 5 months ago

  • Pull request ID set to 36924

#4 Updated by David Disseldorp 5 months ago

  • Status changed from New to Fix Under Review

#5 Updated by Nathan Cutler 5 months ago

  • Assignee set to David Disseldorp

#6 Updated by Kefu Chai 4 months ago

  • Status changed from Fix Under Review to Resolved

#7 Updated by Brad Hubbard 1 day ago

  • Status changed from Resolved to Pending Backport
  • Backport set to octopus, nautilus

#8 Updated by Backport Bot 1 day ago

#9 Updated by Backport Bot 1 day ago

Also available in: Atom PDF