Fix build on riscv64
(cherry picked from commit 54bc4b7f7cd071a90722f069d3b0c710c0ea9ba7)
This commit is contained in:
parent
137c9786a3
commit
32d6288812
20
0004-fix_build_issue_on_riscv.patch
Normal file
20
0004-fix_build_issue_on_riscv.patch
Normal file
@ -0,0 +1,20 @@
|
||||
--- hadoop-3.1.4-src/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h.ori 2020-07-21 01:17:58.000000000 +0800
|
||||
+++ hadoop-3.1.4-src/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-nativetask/src/main/native/src/lib/primitives.h 2022-09-03 12:43:35.309454600 +0800
|
||||
@@ -99,6 +99,8 @@
|
||||
inline uint32_t bswap(uint32_t val) {
|
||||
#ifdef __aarch64__
|
||||
__asm__("rev %w[dst], %w[src]" : [dst]"=r"(val) : [src]"r"(val));
|
||||
+#elif defined(__ppc64__)||(__PPC64__)||(__powerpc64__)||(__riscv)
|
||||
+ return __builtin_bswap32(val);
|
||||
#else
|
||||
__asm__("bswap %0" : "=r" (val) : "0" (val));
|
||||
#endif
|
||||
@@ -108,6 +110,8 @@
|
||||
inline uint64_t bswap64(uint64_t val) {
|
||||
#ifdef __aarch64__
|
||||
__asm__("rev %[dst], %[src]" : [dst]"=r"(val) : [src]"r"(val));
|
||||
+#elif defined(__ppc64__)||(__PPC64__)||(__powerpc64__)||(__riscv)
|
||||
+ return __builtin_bswap64(val);
|
||||
#else
|
||||
#ifdef __X64
|
||||
__asm__("bswapq %0" : "=r" (val) : "0" (val));
|
||||
11
0005-upgrade_os-maven_plugin_to_1.7.1.patch
Normal file
11
0005-upgrade_os-maven_plugin_to_1.7.1.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- hadoop-3.1.4-src/hadoop-project/pom.xml.ori 2020-07-21 14:34:40.000000000 +0800
|
||||
+++ hadoop-3.1.4-src/hadoop-project/pom.xml 2022-08-26 13:33:06.382209900 +0800
|
||||
@@ -85,7 +85,7 @@
|
||||
|
||||
<!-- Maven protoc compiler -->
|
||||
<protobuf-maven-plugin.version>0.5.1</protobuf-maven-plugin.version>
|
||||
- <os-maven-plugin.version>1.5.0.Final</os-maven-plugin.version>
|
||||
+ <os-maven-plugin.version>1.7.1</os-maven-plugin.version>
|
||||
|
||||
<zookeeper.version>3.4.13</zookeeper.version>
|
||||
<curator.version>2.13.0</curator.version>
|
||||
@ -12,7 +12,7 @@
|
||||
%define _binaries_in_noarch_packages_terminate_build 0
|
||||
Name: hadoop-3.1
|
||||
Version: 3.1.4
|
||||
Release: 7
|
||||
Release: 8
|
||||
Summary: A software platform for processing vast amounts of data
|
||||
# The BSD license file is missing
|
||||
# https://issues.apache.org/jira/browse/HADOOP-9849
|
||||
@ -36,6 +36,8 @@ Source13: %{real_name}-yarn-site.xml
|
||||
Patch1: 0001-sys_errlist-undeclared.patch
|
||||
Patch2: 0002-bugfix-invalid-variable-name.patch
|
||||
Patch3: 0003-compatible-with-gcc12.patch
|
||||
Patch4: 0004-fix_build_issue_on_riscv.patch
|
||||
Patch5: 0005-upgrade_os-maven_plugin_to_1.7.1.patch
|
||||
|
||||
|
||||
BuildRoot: %{_tmppath}/%{real_name}-%{version}-%{release}-root
|
||||
@ -244,6 +246,9 @@ This package contains files needed to run Apache Hadoop YARN in secure mode.
|
||||
%prep
|
||||
%autosetup -p1 -n %{real_name}-%{version}-src
|
||||
mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=2.5.0 -Dclassifier=linux-aarch_64 -Dpackaging=exe -Dfile=/usr/bin/protoc
|
||||
%ifarch riscv64
|
||||
mvn install:install-file -DgroupId=com.google.protobuf -DartifactId=protoc -Dversion=2.5.0 -Dclassifier=linux-riscv64 -Dpackaging=exe -Dfile=/usr/bin/protoc
|
||||
%endif
|
||||
mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni-all -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni-all.jar
|
||||
mvn install:install-file -DgroupId=org.fusesource.leveldbjni -DartifactId=leveldbjni -Dversion=1.8 -Dpackaging=jar -Dfile=/usr/lib/java/leveldbjni/leveldbjni.jar
|
||||
mvn install:install-file -DgroupId=org.iq80.leveldb -DartifactId=leveldb-api -Dversion=0.7 -Dpackaging=jar -Dfile=/usr/share/java/leveldb-java/leveldb-api.jar
|
||||
@ -305,6 +310,11 @@ then
|
||||
export CFLAGS="$CFLAGS -mcpu=generic+Crc -Wno-reserved-user-defined-literal"
|
||||
fi
|
||||
|
||||
%ifarch riscv64
|
||||
export MAVEN_OPTS="-Xms2048M -Xmx8000M"
|
||||
function keepalive() { while true; do date; sleep 3600; done }
|
||||
keepalive &
|
||||
%endif
|
||||
mvn -Dsnappy.lib=/usr/lib64 -Dbundle.snappy -Dcontainer-executor.conf.dir=%{_sysconfdir}/%{real_name} -Pdist,native -DskipTests -DskipIT -Dmaven.javadoc.skip=true package
|
||||
|
||||
%install
|
||||
@ -1120,6 +1130,10 @@ fi
|
||||
%config(noreplace) %{_sysconfdir}/%{real_name}/container-executor.cfg
|
||||
|
||||
%changelog
|
||||
* Sun May 12 2024 Dingli Zhang <dingli@iscas.ac.cn> - 3.1.4-8
|
||||
- Fix build on riscv64
|
||||
- Upgrade os-maven-plugin to 1.7.1
|
||||
|
||||
* Wed Oct 11 2023 luofeng <luofeng13@huawei.com> - 3.1.4-7
|
||||
- support clang build
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user