Fix arm compilation issues
This commit is contained in:
parent
2a379f1396
commit
bedf031a7d
29
0001-Disable-erasure_codelib-neon-build.patch
Normal file
29
0001-Disable-erasure_codelib-neon-build.patch
Normal file
@ -0,0 +1,29 @@
|
||||
From 8b0b78dc06ae1ed1c5f3c7a13271e7037091d0be Mon Sep 17 00:00:00 2001
|
||||
From: Boris Ranto <branto@redhat.com>
|
||||
Date: Wed, 15 Apr 2015 14:06:24 +0200
|
||||
Subject: [PATCH] Disable erasure_codelib neon build
|
||||
|
||||
---
|
||||
src/erasure-code/jerasure/Makefile.am | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/erasure-code/jerasure/Makefile.am b/src/erasure-code/jerasure/Makefile.am
|
||||
index 9ca4fbb..147d57e 100644
|
||||
--- a/src/erasure-code/jerasure/Makefile.am
|
||||
+++ b/src/erasure-code/jerasure/Makefile.am
|
||||
@@ -75,9 +75,9 @@ if LINUX
|
||||
libec_jerasure_neon_la_LDFLAGS += -export-symbols-regex '.*__erasure_code_.*'
|
||||
endif
|
||||
|
||||
-if HAVE_NEON
|
||||
-erasure_codelib_LTLIBRARIES += libec_jerasure_neon.la
|
||||
-endif
|
||||
+#if HAVE_NEON
|
||||
+#erasure_codelib_LTLIBRARIES += libec_jerasure_neon.la
|
||||
+#endif
|
||||
|
||||
libec_jerasure_sse3_la_SOURCES = ${jerasure_sources}
|
||||
libec_jerasure_sse3_la_CFLAGS = ${AM_CFLAGS} \
|
||||
--
|
||||
2.1.0
|
||||
|
33
0002-Add-support-for-PPC-arch.patch
Normal file
33
0002-Add-support-for-PPC-arch.patch
Normal file
@ -0,0 +1,33 @@
|
||||
From b2781fb5638afae7438b983a912ede126a8c5b85 Mon Sep 17 00:00:00 2001
|
||||
From: James Page <james.page@ubuntu.com>
|
||||
Date: Fri, 13 Mar 2015 19:46:04 +0000
|
||||
Subject: [PATCH] Add support for PPC architecture, provide fallback
|
||||
|
||||
Add high precision cpu cycles support for powerpc and powerpc64.
|
||||
|
||||
Provide a fallback for other architectures and warn during
|
||||
compilation.
|
||||
|
||||
Signed-off-by: James Page <james.page@ubuntu.com>
|
||||
|
||||
diff --git a/src/common/Cycles.h b/src/common/Cycles.h
|
||||
index 6e47cde..bb47d5c 100644
|
||||
--- a/src/common/Cycles.h
|
||||
+++ b/src/common/Cycles.h
|
||||
@@ -72,8 +72,15 @@ class Cycles {
|
||||
uint64_t cntvct;
|
||||
asm volatile ("isb; mrs %0, cntvct_el0; isb; " : "=r" (cntvct) :: "memory");
|
||||
return cntvct;
|
||||
+#elif defined(__powerpc__) || defined (__powerpc64__)
|
||||
+ // Based on:
|
||||
+ // https://github.com/randombit/botan/blob/net.randombit.botan/src/lib/entropy/hres_timer/hres_timer.cpp
|
||||
+ uint32_t lo = 0, hi = 0;
|
||||
+ asm volatile("mftbu %0; mftb %1" : "=r" (hi), "=r" (lo));
|
||||
+ return (((uint64_t)hi << 32) | lo);
|
||||
#else
|
||||
-#error No high-precision counter available for your OS/arch
|
||||
+#warning No high-precision counter available for your OS/arch
|
||||
+ return 0;
|
||||
#endif
|
||||
}
|
||||
|
13
ceph.spec
13
ceph.spec
@ -22,6 +22,8 @@ Source0: http://ceph.com/download/%{name}-%{version}.tar.bz2
|
||||
%if 0%{?fedora} || 0%{?centos} || 0%{?rhel}
|
||||
Patch0: init-ceph.in-fedora.patch
|
||||
%endif
|
||||
Patch1: 0001-Disable-erasure_codelib-neon-build.patch
|
||||
Patch2: 0002-Add-support-for-PPC-arch.patch
|
||||
Requires: librbd1 = %{epoch}:%{version}-%{release}
|
||||
Requires: librados2 = %{epoch}:%{version}-%{release}
|
||||
Requires: libcephfs1 = %{epoch}:%{version}-%{release}
|
||||
@ -426,6 +428,8 @@ python-cephfs instead.
|
||||
%if 0%{?fedora} || 0%{?rhel} || 0%{?centos}
|
||||
%patch0 -p1 -b .init
|
||||
%endif
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
%build
|
||||
# Find jni.h
|
||||
@ -477,10 +481,6 @@ make %{_smp_mflags}
|
||||
make DESTDIR=$RPM_BUILD_ROOT install
|
||||
find $RPM_BUILD_ROOT -type f -name "*.la" -exec rm -f {} ';'
|
||||
find $RPM_BUILD_ROOT -type f -name "*.a" -exec rm -f {} ';'
|
||||
%if ! (0%{?fedora} == 20 || 0%{?rhel} == 6)
|
||||
# do not package man page for binary that is not built
|
||||
rm -f $RPM_BUILD_ROOT%{_mandir}/man8/rbd-replay-prep.8*
|
||||
%endif
|
||||
install -D src/init-ceph $RPM_BUILD_ROOT%{_initrddir}/ceph
|
||||
install -D src/init-radosgw.sysv $RPM_BUILD_ROOT%{_initrddir}/ceph-radosgw
|
||||
install -D src/init-rbdmap $RPM_BUILD_ROOT%{_initrddir}/rbdmap
|
||||
@ -893,10 +893,9 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
|
||||
%{_mandir}/man8/rbd-replay-many.8*
|
||||
%{_bindir}/rbd-replay
|
||||
%{_bindir}/rbd-replay-many
|
||||
%if (0%{?fedora} == 20 || 0%{?rhel} == 6)
|
||||
%{_mandir}/man8/rbd-replay-prep.8*
|
||||
%{_bindir}/rbd-replay-prep
|
||||
%endif
|
||||
%{_bindir}/ceph_perf_objectstore
|
||||
|
||||
#################################################################################
|
||||
%files -n libcephfs_jni1
|
||||
@ -912,7 +911,6 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
|
||||
%files -n cephfs-java
|
||||
%defattr(-,root,root,-)
|
||||
%{_javadir}/libcephfs.jar
|
||||
%{_javadir}/libcephfs-test.jar
|
||||
|
||||
#################################################################################
|
||||
%files libs-compat
|
||||
@ -932,6 +930,7 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
|
||||
%changelog
|
||||
* Tue Apr 14 2015 Boris Ranto <branto@redhat.com> - 1:0.94.1-1
|
||||
- Rebase to latest upstream version and sync-up the spec file
|
||||
- Add arm compilation patches
|
||||
|
||||
* Wed Apr 01 2015 Ken Dreyer <ktdreyer@ktdreyer.com> - 1:0.87.1-3
|
||||
- add version numbers to Obsoletes (RHBZ #1193182)
|
||||
|
Loading…
Reference in New Issue
Block a user