[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Help porting Ceph 16.2.6 to mips6el, mipsel and armel



Hi Simon,

Thanks a lot for your help.

On 11/20/21 12:55 PM, Simon McVittie wrote:
> [...]
> You'll notice -latomic appears *before* the various .a and .o files, but
> in general, link order matters: each object on the linker command-line is
> only used to satisfy the dependencies of objects that appear before it.
> So you'll want -latomic to appear later, next to other dependencies
> like -ldl.

This was completely right, though the reason for it seems to be the
cmake test failure to take mips64el into account. Hopefully, this patch
fixes it:

https://salsa.debian.org/ceph-team/ceph/-/blob/debian/unstable/debian/patches/cmake-test-for-16-bytes-atomic-support-on-mips-also.patch

> On armel, the error seems to be:
> 
>> /tmp/cc3CvITT.s:2594: Error: selected processor does not support `yield' in ARM mode
>> make[7]: *** [CMakeFiles/rocksdb.dir/build.make:3436: CMakeFiles/rocksdb.dir/third-party/folly/folly/synchronization/DistributedMutex.cpp.o] Error 1
> 
> so probably there is some inline assembly that assumes ARMv6 or later and
> does not account for armel's ARMv5-based baseline.

Hopefully, this patch fixes it:
https://salsa.debian.org/ceph-team/ceph/-/blob/debian/unstable/debian/patches/only-yied-under-armv7-and-above.patch

> On mipsel, it looks like 32 bits of address space might not be enough,
> so you might need to try the same tricks that e.g. webkit2gtk uses to
> save address space:
> 
>> virtual memory exhausted: Cannot allocate memory
>> make[3]: *** [src/msg/CMakeFiles/common-msg-objs.dir/build.make:93: src/msg/CMakeFiles/common-msg-objs.dir/Message.cc.o] Error 1

I've added a few tricks to hopefully save on memory at build time on 32
bits arch, I'm not sure this will be enough though.

Anyways, now I have a different failure, on all arch this time:

/usr/include/boost/container/detail/copy_move_algo.hpp:1083:10: error:
‘__fallthrough__’ was not declared in this scope; did you mean
‘fallthrough’?
 1083 |          BOOST_FALLTHROUGH;
      |          ^~~~~~~~~~~~~~~~~

Any idea what can cause this? To me, this looks like related to the
latest gcc update (but not sure)...

Cheers,

Thomas Goirand (zigo)


Reply to: