Bug 1116767

Summary: Build for 0.81.0-4 missing on armv7hl architecture
Product: [Fedora] Fedora Reporter: Daniel BerrangĂ© <berrange>
Component: cephAssignee: Dan Mick <dmick>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: urgent Docs Contact:
Priority: urgent    
Version: rawhideCC: crobinso, david, fedora, kkeithle, pbrobinson, rjones, robatino, steve
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-08 15:59:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1043119    
Attachments:
Description Flags
arm.patch none

Description Daniel Berrangé 2014-07-07 09:24:21 UTC
Description of problem:
Version 0.81.0-4 was recently build for Fedora 21, with armv7hl architecture disabled. This causes a major ripple effect through the distro with broken deps across countless packages depending on ceph

qemu has broken dependencies in the rawhide tree:
On armhfp:
	2:qemu-system-lm32-2.1.0-0.1.rc0.fc21.armv7hl requires librbd.so.1
        2:qemu-system-lm32-2.1.0-0.1.rc0.fc21.armv7hl requires librados.so.2
On armhfp:
	2:qemu-system-arm-2.1.0-0.1.rc0.fc21.armv7hl requires librbd.so.1
        2:qemu-system-arm-2.1.0-0.1.rc0.fc21.armv7hl requires librados.so.2
On armhfp:
	2:qemu-system-cris-2.1.0-0.1.rc0.fc21.armv7hl requires librbd.so.1
        2:qemu-system-cris-2.1.0-0.1.rc0.fc21.armv7hl requires librados.so.2
On armhfp:
	2:qemu-system-alpha-2.1.0-0.1.rc0.fc21.armv7hl requires librbd.so.1
        2:qemu-system-alpha-2.1.0-0.1.rc0.fc21.armv7hl requires librados.so.2

On armhfp:
	libvirt-daemon-driver-storage-1.2.6-1.fc21.armv7hl requires librbd.so.1
        libvirt-daemon-driver-storage-1.2.6-1.fc21.armv7hl requires librados.so.2


This package should not have been built into rawhide with this arch disabled since removing it from arm arch causes breakage across many downstream packages. It needs to be re-enabled asap.

Version-Release number of selected component (if applicable):
0.81.0-4

Comment 1 Richard W.M. Jones 2014-07-07 10:20:44 UTC
I couldn't find out why it was not built on ARM.  The only build
failures visible in Koji are for x86_64.

http://koji.fedoraproject.org/koji/packageinfo?packageID=10264

(However that doesn't exclude the possibility that Keith saw a
scratch or local build failure on ARM).

I have just started a scratch build with ARM reenabled to see
if it would work:

http://koji.fedoraproject.org/koji/taskinfo?taskID=7111419

Comment 2 Richard W.M. Jones 2014-07-07 11:54:04 UTC
Here is the failure:

/usr/bin/ld: ../src/gtest/lib/libgtest.a(gtest-all.o): undefined reference to symbol 'pthread_getspecific@@GLIBC_2.4'
/lib/libpthread.so.0: error adding symbols: DSO missing from command line
/usr/bin/ld: ../src/gtest/lib/libgtest.a(gtest-all.o): undefined reference to symbol 'pthread_getspecific@@GLIBC_2.4'
/lib/libpthread.so.0: error adding symbols: DSO missing from command line
/usr/bin/ld: ../src/gtest/lib/libgtest.a(gtest-all.o): undefined reference to symbol 'pthread_getspecific@@GLIBC_2.4'
/lib/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
collect2: error: ld returned 1 exit status
Makefile:7379: recipe for target 'ceph_test_cls_version' failed
make[3]: *** [ceph_test_cls_version] Error 1
Makefile:7296: recipe for target 'ceph_test_cls_rbd' failed
Makefile:7309: recipe for target 'ceph_test_cls_refcount' failed
make[3]: *** Waiting for unfinished jobs....
make[3]: *** [ceph_test_cls_rbd] Error 1
make[3]: *** [ceph_test_cls_refcount] Error 1

Comment 3 Peter Robinson 2014-07-07 12:55:49 UTC
ceph-0.81.0-2.fc21 built fine on armv7hl as part of the mass rebuild

http://koji.fedoraproject.org/koji/buildinfo?buildID=524063

This indicates changes in the .spec and hence the build process has changed and broken this, we're seeing similar issues with aarch64, not sure about other secondary packages

Comment 4 Richard W.M. Jones 2014-07-07 13:14:40 UTC
Also this package builds fine for me on my F20 ARM machine.

Possibly some change in glibc in F21?

Comment 5 Daniel Berrangé 2014-07-07 14:29:01 UTC
Putting priority back to urgent. Dropping an architecture with no prior warning which affects multiple downstream packages is *not* a 'low' priority issue.

Comment 6 Peter Robinson 2014-07-07 14:30:41 UTC
This is not a low priority. ARMv7 is a primary architecture and this breaks numerous functionality on arm

Comment 7 Richard W.M. Jones 2014-07-07 18:40:51 UTC
By the way, the build failure on ARM appears to have been caused
by removing this section (from %build) when moving to the new spec file:

%ifarch %{arm}
# libatomic_ops seems to fallback on some pthread implementation on ARM
EXTRA_LDFLAGS="-lpthread"
%endif

So it's likely (I am still testing) that simply adding that back
into %build should fix the ARM build.  Will let you know for sure
once my very slow ARM server finishes (fast one just died :-( ).

Comment 8 Richard W.M. Jones 2014-07-07 20:32:19 UTC
Created attachment 916189 [details]
arm.patch

Builds when the attached patch is added.

(Note this is a patch against the new / upstream ceph.spec.  I notice
that the current spec file is back to the old one).

Comment 9 Cole Robinson 2014-07-08 15:59:09 UTC
Spec was reverted and a new build pushed, so this is currently fixed.