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