Bug 1244855

Summary: vifm fails to build on aarch64
Product: [Fedora] Fedora Reporter: Marcin Juszkiewicz <mjuszkie>
Component: vifmAssignee: Ben Boeckel <fedora>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: fedora
Target Milestone: ---   
Target Release: ---   
Hardware: aarch64   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-07-20 23:32:05 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: 922257    
Attachments:
Description Flags
fix for spec none

Description Marcin Juszkiewicz 2015-07-20 15:32:23 UTC
Description of problem:

vifm assumes that MAX_ARG_STRLEN macro is safe to use if it is defined. But it's definition uses PAGE_SIZE which is not defined on AArch64 (as it can be 4K or 64K there).

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

0.8-1

How reproducible:

always

Steps to Reproduce:
1. build on aarch64 (with arm-koji)

Actual results:

gcc -DHAVE_CONFIG_H -I. -I..   -I/usr/include/ncursesw  -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -D_FILE_OFFSET_BITS=64 -include ../config.h -c -o tags.o tags.c
In file included from utils/utils_nix.h:23:0,
                 from utils/utils_nix.c:20:
utils/utils_nix.c: In function 'make_execv_array':
utils/utils_nix.c:265:34: error: 'PAGE_SIZE' undeclared (first use in this function)
  const size_t safe_arg_len = MIN(MAX_ARG_STRLEN, MAX_ARG_STRLEN - 4096U);
                                  ^
utils/macros.h:69:18: note: in definition of macro 'MIN'
           typeof(a) _a = (a); \
                  ^
utils/utils_nix.c:265:34: note: each undeclared identifier is reported only once for each function it appears in
  const size_t safe_arg_len = MIN(MAX_ARG_STRLEN, MAX_ARG_STRLEN - 4096U);
                                  ^
utils/macros.h:69:18: note: in definition of macro 'MIN'
           typeof(a) _a = (a); \
                  ^
Makefile:1065: recipe for target 'utils/utils_nix.o' failed
make[2]: *** [utils/utils_nix.o] Error 1

Expected results:

package builds

Additional info:

Comment 1 Marcin Juszkiewicz 2015-07-20 15:33:09 UTC
Created attachment 1053969 [details]
fix for spec

Comment 2 Marcin Juszkiewicz 2015-07-20 15:35:29 UTC
reported upstream: https://github.com/vifm/vifm/issues/103