Fix building on ARMv7 (rhbz 999971)

This commit is contained in:
Peter Robinson 2015-04-21 22:50:41 +01:00
parent be86242c6e
commit a9eda2a807
2 changed files with 41 additions and 3 deletions

34
hadoop-armhfp.patch Normal file
View File

@ -0,0 +1,34 @@
--- hadoop-common-9e2ef43a240fb0f603d8c384e501daec11524510/hadoop-common-project/hadoop-common/src/JNIFlags.cmake.orig 2014-07-20 15:03:30.473576587 +0100
+++ hadoop-common-9e2ef43a240fb0f603d8c384e501daec11524510/hadoop-common-project/hadoop-common/src/JNIFlags.cmake 2014-07-20 15:06:13.811115845 +0100
@@ -45,22 +45,22 @@
OUTPUT_VARIABLE JVM_ELF_ARCH
ERROR_QUIET)
if (NOT JVM_ELF_ARCH MATCHES "Tag_ABI_VFP_args: VFP registers")
- message("Soft-float JVM detected")
+ message("Hard-float JVM detected")
- # Test compilation with -mfloat-abi=softfp using an arbitrary libc function
+ # Test compilation with -mfloat-abi=hard using an arbitrary libc function
# (typically fails with "fatal error: bits/predefs.h: No such file or directory"
- # if soft-float dev libraries are not installed)
+ # if hard-float dev libraries are not installed)
include(CMakePushCheckState)
cmake_push_check_state()
- set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -mfloat-abi=softfp")
+ set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -mfloat-abi=hard")
include(CheckSymbolExists)
- check_symbol_exists(exit stdlib.h SOFTFP_AVAILABLE)
- if (NOT SOFTFP_AVAILABLE)
- message(FATAL_ERROR "Soft-float dev libraries required (e.g. 'apt-get install libc6-dev-armel' on Debian/Ubuntu)")
- endif (NOT SOFTFP_AVAILABLE)
+ check_symbol_exists(exit stdlib.h HARDFP_AVAILABLE)
+ if (NOT HARDFP_AVAILABLE)
+ message(FATAL_ERROR "Hard-float dev libraries required (e.g. 'apt-get install libc6-dev-armel' on Debian/Ubuntu)")
+ endif (NOT HARDFP_AVAILABLE)
cmake_pop_check_state()
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfloat-abi=softfp")
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mfloat-abi=hard")
endif ()
endif (READELF MATCHES "NOTFOUND")
endif (CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" AND CMAKE_SYSTEM_NAME STREQUAL "Linux")

View File

@ -23,7 +23,7 @@
Name: hadoop
Version: 2.4.1
Release: 7%{?dist}
Release: 8%{?dist}
Summary: A software platform for processing vast amounts of data
# The BSD license file is missing
# https://issues.apache.org/jira/browse/HADOOP-9849
@ -67,8 +67,8 @@ Patch9: %{name}-tools.jar.patch
Patch10: %{name}-build.patch
# Fix Java detection on ppc64le
Patch11: %{name}-2.4.1-cmake-java-ppc64le.patch
# The native bits don't compile on ARM
ExcludeArch: %{arm}
# Build with hard-float on ARMv7
Patch12: %{name}-armhfp.patch
# This is not a real BR, but is here because of rawhide shift to eclipse
# aether packages which caused a dependency of a dependency to not get
@ -484,6 +484,7 @@ This package contains files needed to run Apache Hadoop YARN in secure mode.
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%if 0%{?fedora} < 21
# The hadoop test suite needs classes from the zookeeper test suite.
@ -1125,6 +1126,9 @@ fi
%attr(6050,root,yarn) %{_bindir}/container-executor
%changelog
* Tue Apr 21 2015 Peter Robinson <pbrobinson@fedoraproject.org> 2.4.1-8
- Fix building on ARMv7
* Wed Mar 11 2015 Swapnil Kulkarni <coolsvap@gmail.com> 2.4.1-7
- Added groovy18 dependency