New release (1:10.2.3-2)

- common: instantiate strict_si_cast<long> not
This commit is contained in:
Boris Ranto 2016-09-29 16:14:58 +02:00
parent 8d319bc7a9
commit fa9e04a7d1
2 changed files with 57 additions and 1 deletions

View File

@ -0,0 +1,50 @@
From 870cc11b3ed170c1046ad719eeb4a1014371a4ad Mon Sep 17 00:00:00 2001
From: Kefu Chai <kchai@redhat.com>
Date: Sun, 26 Jun 2016 01:02:03 +0800
Subject: [PATCH] common: instantiate strict_si_cast<long> not
strict_si_cast<int64_t>
this fixes the build on armf.
on 32bit platforms, cstdint is very likely to
typedef long long int int64_t;
this results in compilation error like
`common/strtol.cc:190:75: error: duplicate explicit instantiation of 'T
strict_si_cast(const char, std::string) [with T = long long int;
std::string = std::basic_string]'
[-fpermissive]
template int64_t strict_si_cast(const char *str, std::string *err);
^`
we can address this by instantiate the primitive type of `long long`
instead of `in64_t`.
Fixes: http://tracker.ceph.com/issues/16398
Signed-off-by: Kefu Chai <kchai@redhat.com>
---
src/common/strtol.cc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/common/strtol.cc b/src/common/strtol.cc
index f43d661..04e09b1 100644
--- a/src/common/strtol.cc
+++ b/src/common/strtol.cc
@@ -187,9 +187,9 @@ T strict_si_cast(const char *str, std::string *err)
template int strict_si_cast<int>(const char *str, std::string *err);
-template long long strict_si_cast<long long>(const char *str, std::string *err);
+template long strict_si_cast<long>(const char *str, std::string *err);
-template int64_t strict_si_cast<int64_t>(const char *str, std::string *err);
+template long long strict_si_cast<long long>(const char *str, std::string *err);
template uint64_t strict_si_cast<uint64_t>(const char *str, std::string *err);
--
2.7.4

View File

@ -55,7 +55,7 @@
#################################################################################
Name: ceph
Version: 10.2.3
Release: 1%{?dist}
Release: 2%{?dist}
Epoch: 1
Summary: User space components of the Ceph file system
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
@ -65,6 +65,7 @@ Group: System/Filesystems
URL: http://ceph.com/
Source0: http://ceph.com/download/%{name}-%{version}.tar.gz
Patch1: 0001-Disable-erasure_codelib-neon-build.patch
Patch2: 0002-common-instantiate-strict_si_cast-long-not-strict_si.patch
%if 0%{?suse_version}
%if 0%{?is_opensuse}
ExclusiveArch: x86_64 aarch64 ppc64 ppc64le
@ -626,6 +627,7 @@ python-cephfs instead.
%prep
%setup -q
%patch1 -p1
%patch2 -p1
%build
%if 0%{with cephfs_java}
@ -1535,6 +1537,10 @@ exit 0
%changelog
* Thu Sep 29 2016 Boris Ranto <branto@redhat.com> - 1:10.2.3-2
- New release (1:10.2.3-2)
- common: instantiate strict_si_cast<long> not
* Thu Sep 29 2016 Boris Ranto <branto@redhat.com> - 1:10.2.3-1
- New version (1:10.2.3-1)
- Disable erasure_codelib neon build