Bug 1474772

Summary: Latest ceph is not built on arm7
Product: [Fedora] Fedora Reporter: Kaleb KEITHLEY <kkeithle>
Component: cephAssignee: Boris Ranto <branto>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: berrange, bhubbard, branto, david, extras-qa, fedora, kdreyer, ramkrsna, rjones, steve, yselkowi
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1474743 Environment:
Last Closed: 2017-07-29 10:24:31 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: 1474743, 1474773, 1474774    
Bug Blocks: 179258    

Description Kaleb KEITHLEY 2017-07-25 11:33:06 UTC
+++ This bug was initially created as a clone of Bug #1474743 +++

Description of problem:
The latest update of Ceph in rawhide just excluded several Fedora architectures

 ExcludeArch:   i686 armv7hl ppc64

As a result this has broken downstream packages that depend on ceph like libvirt & QEMU.

Please re-enable these architectures asap.

If there are build problems then plesae create blocker bugs against the arch exclude trackers

https://fedoraproject.org/wiki/Packaging:Guidelines#Architecture_Build_Failures

Version-Release number of selected component (if applicable):
12.1.1-1

--- Additional comment from Kaleb KEITHLEY on 2017-07-25 07:22:38 EDT ---

It doesn't build on those platforms.

File a bug against Ceph.

--- Additional comment from Daniel Berrange on 2017-07-25 07:29:19 EDT ---

That's not the way Fedora works. As per the packaging guidelines link above, maintainers need to explicitly track any build problems on architectures & mark them as blocking the arch trackers so the problem can be resolved.

Comment 1 Kaleb KEITHLEY 2017-07-25 11:43:50 UTC
see build log at

https://koji.fedoraproject.org/koji/taskinfo?taskID=20683236

Comment 2 Daniel Berrangé 2017-07-25 13:05:20 UTC
cmake is failing to find the Java JNI for some reason

CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find JNI (missing: JAVA_AWT_LIBRARY)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake/Modules/FindJNI.cmake:310 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  src/java/CMakeLists.txt:2 (find_package)


Since java is an optional feature of ceph, please at least try disabling java for arm7 as a temporary workaround to allow the main native libs to biuld.

Comment 3 Kaleb KEITHLEY 2017-07-25 17:58:13 UTC
Still fails: Out of memory.

https://koji.fedoraproject.org/koji/taskinfo?taskID=20724038

Comment 4 Kaleb KEITHLEY 2017-07-26 12:09:11 UTC
excerpt from https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/BOQEQGV6UODCMTDLQLKSS2I27NM7SD3Q/?sort=date

> The ARM builders (both ARMv7 and aarch64) have 24 Gb of memory, which is 
> more than all other arches which have 10Gb, so I suspect the issue is not
> in the build hardware but an issue with ceph itself using (or leaking) 
> too much memory. Peter

Comment 5 Boris Ranto 2017-07-26 13:08:39 UTC
AFAICR, we were hitting out of memory errors in the builds quite randomly even on other platforms (e.g. i686). I guess this might have more to do with the platforms being 32-bit, i.e. having 4G per process, than the overall amount of memory on the machines. Alternatively, this may have something to do with not enough disk space?

Does a rebuild help or is this reproducible always?

Comment 6 Kaleb KEITHLEY 2017-07-26 13:40:44 UTC
In a very small sample size (IOW not statistically valid) it seems to build reliably on i686.

atm I'm trying Björn Esser's suggestion to see if that helps.

> It looks like the whole parallelized make-process is hitting the 4 Gbytes
> limit per process / task on 32 Bit arches…
>
> Have you tried this?
>
> %build
> export CFLAGS="echo %{optflags} | sed -e 's!-pipe!!g'"
> export CXXFLAGS="$CFLAGS"
> …
>
> Sometimes piping from cpp to gcc to as to ld takes too much memory on 32 
> Bit arches…