On 03/01/2012 05:47 PM, Niels de Vos wrote:
On 03/01/2012 03:18 PM, Peter Robinson wrote:
> Hello All,
> Just thought I'd do a progress/status update on packages. Most of the
> information is already on the wiki  page but maybe a little context
> might assist.
> - ceph - needs investigation, basically all cloud related things
> depend on this because libvirt depends on it
Latest is ceph-0.41-2.fc17, your failed build lists ceph-0.41-1.fc17.
I have started a scratch-build with the newer version, it did not fail
yet and is already built further than the 0.41-1:
Okay, a shame. The armv5tel version fails and causes the the armv7hl
build to abort. armv7hl build passes the armv5tel one, so there is
something low-level on v5tel.
Work in progress, identified some issues and building with a patched
spec file for testing. Filed as
Longer version, also available in the BZ:
./include/atomic.h: In member function 'size_t ceph::atomic_t::inc()':
./include/atomic.h:40:36: error: 'AO_fetch_and_add1' was not declared in
./include/atomic.h: In member function 'size_t ceph::atomic_t::dec()':
./include/atomic.h:43:42: error: 'AO_fetch_and_sub1_write' was not
declared in this scope
The ceph.spec contain a BuildRequires for libatomic_ops-devel, which is
provided by gc.
AO_fetch_and_add1 is defined in
usr/include/atomic_ops/sysdeps/gcc/arm.h. That file only does some
useful stuff for ARMv6 and higher architectures. A possible workaround
is to define AO_USE_PTHREAD_DEFS and not use the optimised code for
An unmodified v7hl-only scratch build failed as well:
/usr/bin/ld: ./.libs/libosdc.a(libcommon_la-ceph_context.o): undefined
reference to symbol 'sem_post@(a)GLIBC_2.4'
/usr/bin/ld: note: 'sem_post@(a)GLIBC_2.4' is defined in DSO
/lib/libpthread.so.0 so try adding it to the linker command line
/lib/libpthread.so.0: could not read symbols: Invalid operation
I guess that AO_USE_PTHREAD_DEFS should be defined automatically within
the libatomic_ops-devel package (created from the gc srpm) on < ARMv6.
It also requires adding -lpthread to LDFLAGS (both armv5tel and
armv7hl). But a possible workaround like the attached patch may be the
quicker solution to get ceph built.
A scratch-build with the attached patch will show if I am right or wrong: