Bug #51720
closedCompilation of FreeBSD fails due to missing LIBAIO
0%
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
Updated by Mark Kogan almost 3 years 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
Updated by Willem Jan Withagen almost 3 years 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
Updated by Casey Bodley over 2 years ago
- Status changed from Triaged to Fix Under Review
Updated by Casey Bodley over 2 years ago
- Status changed from Fix Under Review to Resolved