Hi Emilio

Emilio Pozuelo Monfort <po...@debian.org> writes:

> Source: ceph
> Version: 10.2.5-2
> Severity: serious
>
> Your package failed to build on armel:
>
> utilities/backupable/backupable_db.cc:297:30: error: field 'result' has 
> incomplete type 'std::promise<rocksdb::BackupEngineImpl::CopyResult>'
>      std::promise<CopyResult> result;

I'm already working on the build issues on armel. Unfortunately without
much success until now. There are two main issues:

Building the NEON optimized variant of jerasure fails. This can be fixed
by either disabling NEON alltogether or by adding -mfloat-abi=softfp to
compilation of the relevant files. The second solution would be
preferable and builds OK. But I need to verify that this is really only
an optional run time selected "plugin" and no other code get's NEON
instructions as those are not generally available on armel machines. You
can see this problem a bit further up in the build log.

The second problem is much tricker to solve. Rocksdb relies on
std::future which does not work on armel due to a GCC bug:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=727621
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64735

All my attempts to build ceph without rocksdb have failed so far. While
it's easy to disable to build of rocksdb itself, linking then fails
later because of missing symbols. I have not yet found a way to
completely disable all components that use rocksdb even if I only build
the client parts.

If I can't find a solution soon I'll probably request the removal of
ceph from armel. But this should only be a last resort option as there
are quite a few reverse dependencies.

Gaudenz

-- 
PGP: 836E 4F81 EFBB ADA7 0852 79BF A97A 7702 BAF9 1EF5

Attachment: signature.asc
Description: PGP signature

Reply via email to