Compare commits

...

31 Commits

Author SHA1 Message Date
f09b7110b4
Rebuild
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2022-11-10 11:41:37 +02:00
a2d99af93a
Add initial support for riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2022-09-23 11:14:10 +03:00
Fedora Release Engineering
63ea11607f Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-22 02:09:38 +00:00
Orion Poplawski
f1dc2cf7aa Drop java for i686 (bz#2104085) 2022-07-09 22:30:09 -06:00
Python Maint
d2fb0dab27 Rebuilt for Python 3.11 2022-06-13 14:51:56 +02:00
Orion Poplawski
43098f897c Update to 4.1.4 2022-05-29 16:54:09 -06:00
Orion Poplawski
d91b5d2dbc Update to 4.1.3 2022-04-16 17:36:19 -06:00
Jiri
ec99e913a1 Rebuilt for java-17-openjdk as system jdk
https://fedoraproject.org/wiki/Changes/Java17
2022-02-05 23:15:56 +01:00
Fedora Release Engineering
3e53b4ed04 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-20 22:25:05 +00:00
Orion Poplawski
c446ed0db6 Update to 4.1.2 2021-11-29 19:49:11 -07:00
Orion Poplawski
63c964d667 Upload source 2021-10-11 17:46:42 -06:00
Orion Poplawski
c387385b45 Update to 4.1.2rc1 2021-10-10 19:10:20 -06:00
Sandro Mani
352773be19 Create cmake dir 2021-09-14 07:37:05 +02:00
Sandro Mani
b8a28d859b Also own %{_libdir}/%{name}/lib/cmake/ 2021-09-03 16:20:46 +02:00
Fedora Release Engineering
17c0ab5595 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-22 17:16:42 +00:00
Orion Poplawski
c9da4b0fca Only need environment-modules for EL7 2021-06-22 08:12:38 -06:00
Python Maint
4366f00459 Rebuilt for Python 3.10 2021-06-04 10:43:08 +02:00
Orion Poplawski
227b60ec52 Update to 4.1.1 2021-04-26 20:25:09 -06:00
Orion Poplawski
c7b3ead5b7 Update to 4.1.1rc2 2021-04-05 07:53:48 -06:00
Orion Poplawski
059848ce5b Update to 4.1.1rc1 2021-02-10 18:46:56 -07:00
Orion Poplawski
8fc779b59b Add upstream patch for generalized requests 2021-01-28 08:28:30 -07:00
Orion Poplawski
8463f8f82f Whitespace 2021-01-27 21:05:01 -07:00
Orion Poplawski
cd2fcb2471 Add upstream patch to fix AVX library linkage 2021-01-27 21:02:13 -07:00
Fedora Release Engineering
b5bdf1245b - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-26 22:32:40 +00:00
Orion Poplawski
9af26a187c Use set_build_flags macro
Drop old opt_ macros
2021-01-24 21:11:55 -07:00
Orion Poplawski
0dc3e87935 Update to 4.1.0 2021-01-24 20:09:52 -07:00
Tom Stellard
fd11609c12 Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-07 06:34:50 +00:00
Orion Poplawski
5707e44d8d Rebuild for libevent 2.1.12 2020-09-23 19:43:12 -06:00
Orion Poplawski
118dfb82cc Update to 4.0.5 2020-09-01 22:03:52 -06:00
Fedora Release Engineering
e58606bdc0 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2020-07-28 12:45:03 +00:00
Jiri
f3cb3adf54 Rebuilt for JDK-11 2020-07-11 03:44:01 +02:00
4 changed files with 260 additions and 75 deletions

9
.gitignore vendored
View File

@ -52,3 +52,12 @@ openmpi-1.4.1-RH.tar.bz2
/openmpi-4.0.3.tar.bz2 /openmpi-4.0.3.tar.bz2
/openmpi-4.0.4rc1.tar.bz2 /openmpi-4.0.4rc1.tar.bz2
/openmpi-4.0.4.tar.bz2 /openmpi-4.0.4.tar.bz2
/openmpi-4.0.5.tar.bz2
/openmpi-4.1.0.tar.bz2
/openmpi-4.1.1rc1.tar.bz2
/openmpi-4.1.1rc2.tar.bz2
/openmpi-4.1.1.tar.bz2
/openmpi-4.1.2rc1.tar.bz2
/openmpi-4.1.2.tar.bz2
/openmpi-4.1.3.tar.bz2
/openmpi-4.1.4.tar.bz2

View File

@ -0,0 +1,61 @@
From 0693a0dc91b5b2dbd7a83ac298d7c3a437d76327 Mon Sep 17 00:00:00 2001
From: David Abdurachmanov <davidlt@rivosinc.com>
Date: Fri, 23 Sep 2022 11:08:32 +0300
Subject: [PATCH] Add initial support for riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
---
config/opal_config_asm.m4 | 5 +++++
opal/include/opal/sys/architecture.h | 1 +
opal/include/opal/sys/cma.h | 7 +++++++
3 files changed, 13 insertions(+)
diff --git a/config/opal_config_asm.m4 b/config/opal_config_asm.m4
index 5183c7e..d8640e0 100644
--- a/config/opal_config_asm.m4
+++ b/config/opal_config_asm.m4
@@ -1148,6 +1148,11 @@ AC_DEFUN([OPAL_CONFIG_ASM],[
AC_MSG_WARN([$opal_cv_asm_arch: gcc atomics have been known to perform poorly on powerpc.])
fi
+ ;;
+ riscv64*)
+ opal_cv_asm_arch="RISCV64"
+ OPAL_ASM_SUPPORT_64BIT=1
+ OPAL_GCC_INLINE_ASSIGN='"li %0, 0" : "=&r"(ret)'
;;
# There is no current difference between s390 and s390x
# But use two different defines in case some come later
diff --git a/opal/include/opal/sys/architecture.h b/opal/include/opal/sys/architecture.h
index ee9aa96..8a9fc53 100644
--- a/opal/include/opal/sys/architecture.h
+++ b/opal/include/opal/sys/architecture.h
@@ -44,6 +44,7 @@
#define OPAL_ARM64 0101
#define OPAL_S390 0110
#define OPAL_S390X 0111
+#define OPAL_RISCV64 0120
#define OPAL_BUILTIN_SYNC 0200
#define OPAL_BUILTIN_GCC 0202
#define OPAL_BUILTIN_NO 0203
diff --git a/opal/include/opal/sys/cma.h b/opal/include/opal/sys/cma.h
index 4211013..9e02f99 100644
--- a/opal/include/opal/sys/cma.h
+++ b/opal/include/opal/sys/cma.h
@@ -92,6 +92,13 @@
#define __NR_process_vm_readv 340
#define __NR_process_vm_writev 341
+#elif OPAL_ASSEMBLY_ARCH == OPAL_RISCV64
+
+/* RISCV64 uses the asm-generic syscall numbers */
+
+#define __NR_process_vm_readv 270
+#define __NR_process_vm_writev 271
+
#else
#error "Unsupported architecture for process_vm_readv and process_vm_writev syscalls"
#endif
--
2.35.1

View File

@ -1,17 +1,3 @@
%global _hardened_build 1
# We only compile with gcc, but other people may want other compilers.
# Set the compiler here.
%global opt_cc gcc
# Optional CFLAGS to use with the specific compiler...gcc doesn't need any,
# so uncomment and define to use
#global opt_cflags
%global opt_cxx g++
#global opt_cxxflags
%global opt_f77 gfortran
#global opt_fflags
%global opt_fc gfortran
#global opt_fcflags
# Optional name suffix to use...we leave it off when compiling with gcc, but # Optional name suffix to use...we leave it off when compiling with gcc, but
# for other compiled versions to install side by side, it will need a # for other compiled versions to install side by side, it will need a
# suffix in order to keep the names from conflicting. # suffix in order to keep the names from conflicting.
@ -39,23 +25,47 @@
%bcond_without rdma %bcond_without rdma
%endif %endif
# No more Java on i686
%ifarch %{java_arches}
%bcond_without java
%else
%bcond_with java
%endif
# Run autogen - needed for some patches
%ifnarch riscv64
%bcond_with autogen
%else
%bcond_without autogen
%endif
Name: openmpi%{?_cc_name_suffix} Name: openmpi%{?_cc_name_suffix}
Version: 4.0.4 Version: 4.1.4
Release: 1%{?dist} Release: 4.1.riscv64%{?dist}
Summary: Open Message Passing Interface Summary: Open Message Passing Interface
License: BSD and MIT and Romio License: BSD and MIT and Romio
URL: http://www.open-mpi.org/ URL: http://www.open-mpi.org/
# We can't use %%{name} here because of _cc_name_suffix # We can't use %%{name} here because of _cc_name_suffix
Source0: https://www.open-mpi.org/software/ompi/v4.0/downloads/openmpi-%{version}.tar.bz2 Source0: https://www.open-mpi.org/software/ompi/v4.1/downloads/openmpi-%{version}.tar.bz2
Source1: openmpi.module.in Source1: openmpi.module.in
Source2: openmpi.pth.py2 Source2: openmpi.pth.py2
Source3: openmpi.pth.py3 Source3: openmpi.pth.py3
Source4: macros.openmpi Source4: macros.openmpi
Patch10: 0001-Add-initial-support-for-riscv64.patch
BuildRequires: gcc-c++ BuildRequires: gcc-c++
BuildRequires: gcc-gfortran BuildRequires: gcc-gfortran
BuildRequires: make
%if %{with autogen}
BuildRequires: libtool
BuildRequires: perl(Data::Dumper)
BuildRequires: perl(File::Find)
%endif
%ifarch %{valgrind_arches}
BuildRequires: valgrind-devel BuildRequires: valgrind-devel
%endif
%if %{with rdma} %if %{with rdma}
BuildRequires: opensm-devel > 3.3.0 BuildRequires: opensm-devel > 3.3.0
BuildRequires: rdma-core-devel BuildRequires: rdma-core-devel
@ -67,7 +77,12 @@ BuildRequires: rdma-core-devel
BuildRequires: hwloc-devel BuildRequires: hwloc-devel
# So configure can find lstopo # So configure can find lstopo
BuildRequires: hwloc-gui BuildRequires: hwloc-gui
%if %{with java}
BuildRequires: java-devel BuildRequires: java-devel
%else
Obsoletes: %{name}-java < %{version}-%{release}
Obsoletes: %{name}-java-devel < %{version}-%{release}
%endif
# Old libevent causes issues # Old libevent causes issues
%if !0%{?el7} %if !0%{?el7}
BuildRequires: libevent-devel BuildRequires: libevent-devel
@ -94,8 +109,16 @@ BuildRequires: zlib-devel
BuildRequires: rpm-mpi-hooks BuildRequires: rpm-mpi-hooks
%endif %endif
%ifarch riscv64
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: libtool
BuildRequires: gettext
BuildRequires: perl-interpreter
%endif
Provides: mpi Provides: mpi
%if 0%{?rhel} %if 0%{?rhel} == 7
# Need this for /etc/profile.d/modules.sh # Need this for /etc/profile.d/modules.sh
Requires: environment-modules Requires: environment-modules
%endif %endif
@ -132,6 +155,7 @@ Requires: (python(abi) = %{python3_version} if python3)
%description devel %description devel
Contains development headers and libraries for openmpi. Contains development headers and libraries for openmpi.
%if %{with java}
%package java %package java
Summary: Java library Summary: Java library
Requires: %{name} = %{version}-%{release} Requires: %{name} = %{version}-%{release}
@ -147,6 +171,7 @@ Requires: java-devel
%description java-devel %description java-devel
Contains development wrapper for compiling Java with openmpi. Contains development wrapper for compiling Java with openmpi.
%endif
# We set this to for convenience, since this is the unique dir we use for this # We set this to for convenience, since this is the unique dir we use for this
# particular package, version, compiler # particular package, version, compiler
@ -173,9 +198,14 @@ OpenMPI support for Python 3.
%prep %prep
%autosetup -p1 %autosetup -p1 -n %{name}-%{version}
%if %{with autogen}
./autogen.pl --force
%endif
%build %build
%set_build_flags
./configure --prefix=%{_libdir}/%{name} \ ./configure --prefix=%{_libdir}/%{name} \
--mandir=%{_mandir}/%{namearch} \ --mandir=%{_mandir}/%{namearch} \
--includedir=%{_includedir}/%{namearch} \ --includedir=%{_includedir}/%{namearch} \
@ -183,22 +213,20 @@ OpenMPI support for Python 3.
--disable-silent-rules \ --disable-silent-rules \
--enable-builtin-atomics \ --enable-builtin-atomics \
--enable-mpi-cxx \ --enable-mpi-cxx \
%if %{with java}
--enable-mpi-java \ --enable-mpi-java \
%endif
--enable-mpi1-compatibility \ --enable-mpi1-compatibility \
--with-sge \ --with-sge \
%ifarch %{valgrind_arches}
--with-valgrind \ --with-valgrind \
--enable-memchecker \ --enable-memchecker \
%endif
--with-hwloc=/usr \ --with-hwloc=/usr \
%if !0%{?el7} %if !0%{?el7}
--with-libevent=external \ --with-libevent=external \
--with-pmix=external \ --with-pmix=external \
%endif %endif
CC=%{opt_cc} CXX=%{opt_cxx} \
LDFLAGS='%{__global_ldflags}' \
CFLAGS="%{?opt_cflags} %{!?opt_cflags:$RPM_OPT_FLAGS}" \
CXXFLAGS="%{?opt_cxxflags} %{!?opt_cxxflags:$RPM_OPT_FLAGS}" \
FC=%{opt_fc} FCFLAGS="%{?opt_fcflags} %{!?opt_fcflags:$RPM_OPT_FLAGS}"
# --with-contrib-vt-flags='CXXFLAGS="-I%{_includedir}/dyninst -L%{_libdir}/dyninst"' \
%make_build V=1 %make_build V=1
@ -247,6 +275,9 @@ cd %{buildroot}%{_libdir}/pkgconfig
ln -s ../%{name}/lib/pkgconfig/*.pc . ln -s ../%{name}/lib/pkgconfig/*.pc .
cd - cd -
# Create cmake dir
mkdir -p %{buildroot}%{_libdir}/%{name}/lib/cmake/
# Remove extraneous wrapper link libraries (bug 814798) # Remove extraneous wrapper link libraries (bug 814798)
sed -i -e s/-ldl// -e s/-lhwloc// \ sed -i -e s/-ldl// -e s/-lhwloc// \
%{buildroot}%{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt %{buildroot}%{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt
@ -281,6 +312,7 @@ make check
%{_libdir}/%{name}/bin/shmemrun %{_libdir}/%{name}/bin/shmemrun
%endif %endif
%{_libdir}/%{name}/lib/*.so.40* %{_libdir}/%{name}/lib/*.so.40*
%{_libdir}/%{name}/lib/libmca_common_ofi.so.10*
%{_libdir}/%{name}/lib/libmca*.so.41* %{_libdir}/%{name}/lib/libmca*.so.41*
%{_libdir}/%{name}/lib/libmca*.so.50* %{_libdir}/%{name}/lib/libmca*.so.50*
%if 0%{?el7} %if 0%{?el7}
@ -327,6 +359,7 @@ make check
%{_fmoddir}/%{name}/ %{_fmoddir}/%{name}/
%{_libdir}/%{name}/lib/*.so %{_libdir}/%{name}/lib/*.so
%{_libdir}/%{name}/lib/*.mod %{_libdir}/%{name}/lib/*.mod
%{_libdir}/%{name}/lib/cmake/
%{_libdir}/%{name}/lib/pkgconfig/ %{_libdir}/%{name}/lib/pkgconfig/
%{_libdir}/pkgconfig/*.pc %{_libdir}/pkgconfig/*.pc
%{_mandir}/%{namearch}/man1/mpi[cCf]* %{_mandir}/%{namearch}/man1/mpi[cCf]*
@ -340,6 +373,7 @@ make check
%{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt %{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt
%{macrosdir}/macros.%{namearch} %{macrosdir}/macros.%{namearch}
%if %{with java}
%files java %files java
%{_libdir}/%{name}/lib/mpi.jar %{_libdir}/%{name}/lib/mpi.jar
@ -349,6 +383,7 @@ make check
# Currently this only contaings openmpi/javadoc # Currently this only contaings openmpi/javadoc
%{_libdir}/%{name}/share/doc/ %{_libdir}/%{name}/share/doc/
%{_mandir}/%{namearch}/man1/mpijavac.1.gz %{_mandir}/%{namearch}/man1/mpijavac.1.gz
%endif
%if %{with python2} %if %{with python2}
%files -n python2-openmpi %files -n python2-openmpi
@ -362,6 +397,86 @@ make check
%changelog %changelog
* Thu Nov 10 2022 David Abdurachmanov <davidlt@rivosinc.com> - 4.1.4-4.1.riscv64
- Rebuild
* Fri Sep 23 2022 David Abdurachmanov <davidlt@rivosinc.com> - 4.1.4-4.0.riscv64
- Add initial support for riscv64
- Fix valgrind check
* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.4-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Sun Jul 10 2022 Orion Poplawski <orion@nwra.com> - 4.1.4-3
- Drop java for i686 (bz#2104085)
* Mon Jun 13 2022 Python Maint <python-maint@redhat.com> - 4.1.4-2
- Rebuilt for Python 3.11
* Sun May 29 2022 Orion Poplawski <orion@nwra.com> - 4.1.4-1
- Update to 4.1.4
* Sat Apr 16 2022 Orion Poplawski <orion@nwra.com> - 4.1.3-1
- Update to 4.1.3
* Sat Feb 05 2022 Jiri Vanek <jvanek@redhat.com> - 4.1.2-3
- Rebuilt for java-17-openjdk as system jdk
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Mon Nov 29 2021 Orion Poplawski <orion@nwra.com> - 4.1.2-1
- Update to 4.1.2
* Sun Oct 10 2021 Orion Poplawski <orion@nwra.com> - 4.1.2-0.1.rc1
- Update to 4.1.2rc1
* Fri Sep 03 2021 Sandro Mani <manisandro@gmail.com> - 4.1.1-4
- Also own %%{_libdir}/%%{name}/lib/cmake/
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.1-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 4.1.1-2
- Rebuilt for Python 3.10
* Tue Apr 27 2021 Orion Poplawski <orion@nwra.com> - 4.1.1-1
- Update to 4.1.1
* Mon Apr 05 2021 Orion Poplawski <orion@nwra.com> - 4.1.1-0.2.rc2
- Update to 4.1.1rc2
* Thu Feb 11 2021 Orion Poplawski <orion@nwra.com> - 4.1.1-0.1.rc1
- Update to 4.1.1rc1
* Thu Jan 28 2021 Orion Poplawski <orion@nwra.com> - 4.1.0-5
- Add upstream patch for generalized requests
* Thu Jan 28 2021 Orion Poplawski <orion@nwra.com> - 4.1.0-4
- Add upstream patch to fix AVX library linkage
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 4.1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sun Jan 24 2021 Orion Poplawski <orion@nwra.com> - 4.1.0-2
- Use set_build_flags macro
- Drop old opt_ macros
* Sun Jan 24 2021 Orion Poplawski <orion@nwra.com> - 4.1.0-1
- Update to 4.1.0
* Wed Sep 23 2020 Orion Poplawski <orion@nwra.com> - 4.0.5-2
- Rebuild for libevent 2.1.12
* Wed Sep 02 2020 Orion Poplawski <orion@nwra.com> - 4.0.5-1
- Update to 4.0.5
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 4.0.4-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Sat Jul 11 2020 Jiri Vanek <jvanek@redhat.com> - 4.0.4-2
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Wed Jun 17 2020 Orion Poplawski <orion@nwra.com> - 4.0.4-1 * Wed Jun 17 2020 Orion Poplawski <orion@nwra.com> - 4.0.4-1
- Update to 4.0.4 - Update to 4.0.4

View File

@ -1 +1 @@
SHA512 (openmpi-4.0.4.tar.bz2) = 6c193b4b5cbfd9d48fa5efcef01372c424b51ae5e9727ccf4235e3b14556dfeb010865e41a9473419ccda16559139aa469086b1fff9abfd337e87387fdec1c64 SHA512 (openmpi-4.1.4.tar.bz2) = c70a92c9b16b8c76a871183f9b180d60861186e64140da897d206d53bc06213f31ea93b31734645f580f4bf28dda5605d85dbce2417e4596955384d961bed653