New release (1:10.2.3-2)
- common: instantiate strict_si_cast<long> not
This commit is contained in:
		
							parent
							
								
									8d319bc7a9
								
							
						
					
					
						commit
						fa9e04a7d1
					
				| @ -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 | ||||||
|  | 
 | ||||||
| @ -55,7 +55,7 @@ | |||||||
| ################################################################################# | ################################################################################# | ||||||
| Name:		ceph | Name:		ceph | ||||||
| Version:	10.2.3 | Version:	10.2.3 | ||||||
| Release:	1%{?dist} | Release:	2%{?dist} | ||||||
| Epoch:		1 | Epoch:		1 | ||||||
| Summary:	User space components of the Ceph file system | 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 | 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/ | URL:		http://ceph.com/ | ||||||
| Source0:	http://ceph.com/download/%{name}-%{version}.tar.gz | Source0:	http://ceph.com/download/%{name}-%{version}.tar.gz | ||||||
| Patch1: 0001-Disable-erasure_codelib-neon-build.patch | 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%{?suse_version} | ||||||
| %if 0%{?is_opensuse} | %if 0%{?is_opensuse} | ||||||
| ExclusiveArch:  x86_64 aarch64 ppc64 ppc64le | ExclusiveArch:  x86_64 aarch64 ppc64 ppc64le | ||||||
| @ -626,6 +627,7 @@ python-cephfs instead. | |||||||
| %prep | %prep | ||||||
| %setup -q | %setup -q | ||||||
| %patch1 -p1 | %patch1 -p1 | ||||||
|  | %patch2 -p1 | ||||||
| 
 | 
 | ||||||
| %build | %build | ||||||
| %if 0%{with cephfs_java} | %if 0%{with cephfs_java} | ||||||
| @ -1535,6 +1537,10 @@ exit 0 | |||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| %changelog | %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 | * Thu Sep 29 2016 Boris Ranto <branto@redhat.com> - 1:10.2.3-1 | ||||||
| - New version (1:10.2.3-1) | - New version (1:10.2.3-1) | ||||||
| - Disable erasure_codelib neon build | - Disable erasure_codelib neon build | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user