Project

General

Profile

Actions

Bug #50133

open

src/log/LogClock.h Preprocessor logic fails on gcc 10

Added by Duncan Bellamy about 3 years ago. Updated almost 3 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
build
Target version:
-
% Done:

0%

Source:
Tags:
Backport:
Regression:
No
Severity:
3 - minor
Reviewed:
Affected Versions:
ceph-qa-suite:
Pull request ID:
Crash signature (v1):
Crash signature (v2):

Description

The code:

#ifndef suseconds_t
typedef long suseconds_t;
#endif

Never detects suseconds_t with gcc 10 leading to multiple definitions, I tried changing to:

#if !defined(suseconds_t)

But it did not fix it.

Actions #1

Updated by Loïc Dachary about 3 years ago

  • Target version changed from v16.2.1 to v16.2.2
Actions #2

Updated by Loïc Dachary almost 3 years ago

  • Target version deleted (v16.2.2)
Actions #3

Updated by Duncan Bellamy almost 3 years ago

I just tried compiling Ceph 16.2.5 without this patch now, and it now works without this patch on 64bit platforms with gcc 10.3.1
https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/434225/raw

But fails without it on 32bit platforms with gcc 10.3.1:
https://gitlab.alpinelinux.org/a16bitsysop/aports/-/jobs/434230/raw

/builds/a16bitsysop/aports/community/ceph/src/ceph-16.2.5/src/log/LogClock.h:16:14: error: conflicting declaration 'typedef long int suseconds_t'
16 | typedef long suseconds_t; | ^~~~~~~~~
In file included from /usr/include/sys/types.h:57,

Actions

Also available in: Atom PDF