Project

General

Profile

Bug #51720

Compilation of FreeBSD fails due to missing LIBAIO

Added by Willem Jan Withagen 2 months ago. Updated about 1 month ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
% Done:

0%

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

Description

FreeBSD lacks `libaio`, and only has POSIX aio

```
/home/jenkins/workspace/ceph-master-compile/src/rgw/rgw_d3n_datacache.cc:101:18: error: variable has incomplete type 'struct aioinit'
struct aioinit ainit{0};
^
/home/jenkins/workspace/ceph-master-compile/src/rgw/rgw_d3n_datacache.cc:101:10: note: forward declaration of 'aioinit'
struct aioinit ainit{0};
^
1 error generated.
gmake2: *** [src/rgw/CMakeFiles/rgw_common.dir/build.make:640: src/rgw/CMakeFiles/rgw_common.dir/rgw_d3n_datacache.cc.o] Error 1

```

PR #42262 fixes the compilation, but does so by excluding the d3n cache.
It needs extra work to compile and work with POSIX aio

History

#1 Updated by Mark Kogan 2 months ago

  • Status changed from New to Triaged

thank you,

is the compilation error occurs only on the aioinit(...) call?

in which case we can #ifdef only the aioinit(...) call
(it's defaults are sane and mostly do not require overriding)

or also the aio_read(...) and aio_write(...) cause compile errors
even after changing sigval_t to sigval in PR42212

#2 Updated by Willem Jan Withagen 2 months ago

Mark Kogan wrote:

is the compilation error occurs only on the aioinit(...) call?

in which case we can #ifdef only the aioinit(...) call
(it's defaults are sane and mostly do not require overriding)

Tried to exclude the block with ainit, and that compiles.
So I will augment the PR

#3 Updated by Casey Bodley about 2 months ago

  • Status changed from Triaged to Fix Under Review

#4 Updated by Casey Bodley about 1 month ago

  • Status changed from Fix Under Review to Resolved

Also available in: Atom PDF