pbrobinson pushed to hadoop (f22). "Fix building on ARMv7 (rhbz 999971)"
notifications at fedoraproject.org
notifications at fedoraproject.org
Tue Apr 21 22:00:07 UTC 2015
>From a9eda2a807d669ee59147b06c390ceb8defbba1c Mon Sep 17 00:00:00 2001
From: Peter Robinson <pbrobinson at gmail.com>
Date: Tue, 21 Apr 2015 22:50:41 +0100
Subject: Fix building on ARMv7 (rhbz 999971)
diff --git a/hadoop-armhfp.patch b/hadoop-armhfp.patch
new file mode 100644
index 0000000..f88e44a
--- /dev/null
+++ b/hadoop-armhfp.patch
@@ -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")
diff --git a/hadoop.spec b/hadoop.spec
index 4e70e61..4e038a3 100644
--- a/hadoop.spec
+++ b/hadoop.spec
@@ -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 at fedoraproject.org> 2.4.1-8
+- Fix building on ARMv7
+
* Wed Mar 11 2015 Swapnil Kulkarni <coolsvap at gmail.com> 2.4.1-7
- Added groovy18 dependency
--
cgit v0.10.2
http://pkgs.fedoraproject.org/cgit/hadoop.git/commit/?h=f22&id=a9eda2a807d669ee59147b06c390ceb8defbba1c
More information about the scm-commits
mailing list