Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.

Bug 1111453

Summary: libexplain fails to build on ppc64(le) and AArch64
Product: [Fedora] Fedora Reporter: Jakub Čajka <jcajka>
Component: libexplainAssignee: Eric Smith <spacewar>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: spacewar, yselkowi
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libexplain-1.4-2.fc21 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-07-08 05:54:40 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: 1071880, 922257    
Attachments:
Description Flags
Patch fixing this bug none

Description Jakub Čajka 2014-06-20 05:31:51 UTC
Created attachment 910634 [details]
Patch fixing this bug

Description of problem: Build on ppc64(le) and AArch64 fails due missing support for these arches.

How reproducible:
Always

Steps to Reproduce:
1.Build package on up mentioned arches

Additional info:

In attachment is patch fixing this bug. It adds missing macro constants in fcntl.h(ppc and aarch), fixes macro in ustat.h(aarch), disables sysctl related stuff on AArch64(enfile.c, listen.c), adds lyx-fonts as build dep(ppc64) and adds font cache refresh in %prep related to BZ#921706 (s390(x)). Patched package builds successfully on all arches. I will send included patch upstream.

Comment 1 Yaakov Selkowitz 2014-07-02 03:41:22 UTC
I had pretty much the same patch before I saw yours, with a few differences for better portability:

1) in explain/syscall/ustat.c:

-#ifndef HAVE_USTAT
+#if !defined(HAVE_USTAT_H) && !defined(LINUX_TYPES_H_STRUCT_USTAT)

2) in both libexplain/buffer/enfile.c and libexplain/buffer/errno/listen.c:

-#ifdef __linux__
+#ifdef SYS__sysctl

Either way, I can confirm that this does fix the build on both arches.