1 Star 0 Fork 41

AGIROS_Team/openmpi

forked from src-openEuler/openmpi 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
openmpi.spec 8.47 KB
一键复制 编辑 原始数据 按行查看 历史
Funda Wang 提交于 2025-02-18 13:43 +08:00 . 5.0.7
# prrte does not build with lto
%define _lto_cflags %{nil}
Name: openmpi
Version: 5.0.7
Release: 1
Summary: Open Source High Performance Computing
License: BSD-3-Clause
URL: https://www.open-mpi.org/
Source0: https://download.open-mpi.org/release/open-mpi/v5.0/openmpi-%{version}.tar.bz2
Source1: openmpi.module.in
Source2: openmpi.pth.py3
Source3: macros.openmpi
Patch0001: 0001-add-loongarch64-and-riscv64-support.patch
ExcludeArch: %{ix86}
BuildRequires: gcc-c++, gcc-gfortran
%ifarch %{valgrind_arches}
BuildRequires: valgrind-devel
%endif
BuildRequires: hwloc-devel, java-devel, libfabric-devel, papi-devel
BuildRequires: libibverbs-devel >= 1.1.3, opensm-devel > 3.3.0
BuildRequires: librdmacm librdmacm-devel, rdma-core-devel, pmix-devel
BuildRequires: hwloc-gui chrpath
BuildRequires: perl-generators, perl(Getopt::Long)
BuildRequires: python3-devel libevent-devel
BuildRequires: automake libtool
%ifarch x86_64
BuildRequires: infinipath-psm-devel, libpsm2-devel zlib-devel
%endif
Provides: mpi, %{name}-java
Requires: environment(modules), openssh-clients
Provides: bundled(libevent) = 2.0.22
Requires: java-headless
Obsoletes: %{name}-java
%description
The Open MPI Project is an open source Message Passing Interface
implementation that is developed and maintained by a consortium
of academic, research, and industry partners. Open MPI is
therefore able to combine the expertise, technologies, and
resources from all across the High Performance Computing
community in order to build the best MPI library available.
%ifarch aarch64
%global name_all openmpi-aarch64
%elifarch riscv64
%global name_all openmpi-riscv64
%elifarch ppc64le
%global name_all openmpi-ppc64le
%elifarch x86_64
%global name_all openmpi-x86_64
%elifarch loongarch64
%global name_all openmpi-loongarch64
%else
%global namearch openmpi-%{_arch}
%endif
%package devel
Summary: Development files for openmpi
Requires: %{name} = %{version}-%{release}, gcc-gfortran
Provides: mpi-devel = %{version}-%{release}
Requires: java-devel
Provides: %{name}-java-devel = %{version}-%{release}
Obsoletes: %{name}-java-devel < %{version}-%{release}
%description devel
This contains dynamic libraries and header files for the developing of openmpi.
%package -n python3-openmpi
Summary: openmpi python3 interface
Requires: %{name} = %{version}-%{release}
%description -n python3-openmpi
openmpi python3 interface
%package_help
%prep
%autosetup -n openmpi-%{version} -p1
%build
./autogen.pl --force
%set_build_flags
./configure \
--bindir=%{_bindir} \
--libdir=%{_libdir}/%{name}/lib \
--datadir=%{_libdir}/%{name}/share \
--docdir=%{_libdir}/%{name}/share/doc/openmpi \
--includedir=%{_includedir}/%{name_all} \
--sysconfdir=%{_sysconfdir}/%{name_all} \
--disable-silent-rules \
--enable-builtin-atomics \
--enable-mpi-thread-multiple \
--enable-mpi-java \
--enable-mpi1-compatibility \
--with-sge \
%ifarch %{valgrind_arches}
--with-valgrind \
--enable-memchecker \
%endif
--with-hwloc=/usr \
--with-pmix=external \
--with-libevent=external \
--mandir=%{_mandir}/%{name}
%make_build
%install
%make_install
%delete_la
mkdir -p %{buildroot}%{_datadir}/modulefiles/mpi
sed 's#@LIBDIR@#%{_libdir}/%{name}#;
s#@ETCDIR@#%{_sysconfdir}/%{name_all}#;
s#@FMODDIR@#%{_fmoddir}/%{name}#;
s#@INCDIR@#%{_includedir}/%{name_all}#;
s#@MANDIR@#%{_mandir}/%{name}#;
s#@PY3SITEARCH@#%{python3_sitearch}/%{name}#;
s#@COMPILER@#openmpi-%{_arch}#;
s#@SUFFIX@#_openmpi#' \
<%{S:1} \
>%{buildroot}%{_datadir}/modulefiles/mpi/%{name_all}
install -Dpm 644 %{S:3} %{buildroot}/%{rpmmacrodir}/macros.%{name_all}
install -d %{buildroot}%{_fmoddir}/%{name}
for mod in %{buildroot}%{_libdir}/%{name}/lib/*.mod
do
modname=$(basename $mod)
ln -s ../../../%{name}/lib/${modname} %{buildroot}/%{_fmoddir}/%{name}/
done
install -d %{buildroot}%{_libdir}/pkgconfig
pushd %{buildroot}%{_libdir}/pkgconfig
ln -s ../%{name}/lib/pkgconfig/*.pc .
popd
sed -i -e s/-ldl// -e s/-lhwloc// \
%{buildroot}%{_libdir}/%{name}/share/%{name}/*-wrapper-data.txt
install -d %{buildroot}/%{python3_sitearch}/%{name}
install -pDm0644 %{S:2} %{buildroot}/%{python3_sitearch}/openmpi.pth
file `find %{buildroot}%{_libdir}/openmpi/bin -type f` | grep -w ELF | awk -F : '{print $1}' |xargs chrpath -d
file `find %{buildroot}%{_libdir}/openmpi/lib -type f` | grep -w ELF | awk -F : '{print $1}' |xargs chrpath -d
mkdir -p %{buildroot}/etc/ld.so.conf.d
echo "%{_libdir}/openmpi/lib" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%check
%make_build check
%files
%license LICENSE
%dir %{_libdir}/%{name}
%dir %{_sysconfdir}/%{name_all}
%dir %{_libdir}/%{name}/lib
%dir %{_libdir}/%{name}/lib/openmpi
%dir %{_mandir}/%{name}
%dir %{_mandir}/%{name}/man*
%dir %{_libdir}/%{name}/share
%dir %{_libdir}/%{name}/share/openmpi
%config(noreplace) %{_sysconfdir}/%{name_all}/*
%config(noreplace) /etc/ld.so.conf.d/*
%{_datadir}/modulefiles/mpi/
%{_bindir}/mpiexec
%{_bindir}/mpirun
%{_bindir}/ompi*
%{_bindir}/oshrun
%{_bindir}/pcc
%{_bindir}/prte*
%{_bindir}/prun
%{_bindir}/pterm
%{_libdir}/%{name}/lib/*.so.*
%{_libdir}/%{name}/lib/openmpi/*
%{_libdir}/%{name}/lib/mpi.jar
%{_libdir}/%{name}/share/openmpi/help*.txt
%{_libdir}/%{name}/share/openmpi/amca-param-sets
%{_libdir}/%{name}/share/prte/*
%files devel
%dir %{_includedir}/%{name_all}
%{_includedir}/%{name_all}/*
%{_libdir}/%{name}/share/doc/
%{_bindir}/mpic*
%{_bindir}/mpiCC
%{_bindir}/mpif*
%{_bindir}/opal*
%{_bindir}/mpijava*
%{_libdir}/%{name}/lib/*.so
%{_libdir}/%{name}/lib/*.mod
%{_libdir}/%{name}/lib/pkgconfig/
%{_libdir}/%{name}/share/openmpi/*-wrapper-data.txt
%{_libdir}/%{name}/share/openmpi/openmpi-valgrind.supp
%{_libdir}/pkgconfig/*.pc
%{_fmoddir}/%{name}/
%{rpmmacrodir}/macros.%{name_all}
%files -n python3-openmpi
%dir %{python3_sitearch}/%{name}
%{python3_sitearch}/openmpi.pth
%files help
%{_mandir}/%{name}/man*/*
%changelog
* Tue Feb 18 2025 Funda Wang <fundawang@yeah.net> - 5.0.7-1
- update to 5.0.7
* Thu Dec 26 2024 Funda Wang <fundawang@yeah.net> - 5.0.6-1
- update to 5.0.6
* Thu Dec 05 2024 Jia Chao <jiac13@chinaunicom.cn> - 5.0.5-3
- Fix: build on riscv64 and loongarch.
- Fix: help create the same filelist on different arch.
* Tue Oct 15 2024 Funda Wang <fundawang@yeah.net> - 5.0.5-2
- 32-bit environments are no longer supported
- cleanup spec
* Thu Sep 19 2024 xu_ping <707078654@qq.com> - 5.0.5-1
- Upgrade version to 5.0.5
- MPI C++ bindings have been removed.
- Add missing write memory barrier in btl/smcuda
- fix some bugs.
* Mon Aug 19 2024 zhangzijian <1220292247@qq.com> - 4.1.5-7
- Modify multicore causing finalize timeout error
* Fri Jun 07 2024 wangqiang <wangqiang1@kylinos.cn> - 4.1.5-6
- Fix name_all
* Tue Mar 05 2024 laokz <zhangkai@iscas.ac.cn> - 4.1.5-5
- let BuildRequire valgrind depend on system %{valgrind_arches}
* Tue Jan 16 2024 peng.zou <peng.zou@shingroup.cn> - 4.1.5-4
- Add ppc64le support
* Wed Jan 10 2024 xu_ping<707078654@qq.com> - 4.1.5-3
- fix build error due to rdma-core separate some packages.
* Thu Jul 20 2023 Wenlong Zhang<zhangwenlong@loongson.cn> - 4.1.5-2
- fix build error that automake can not be found
* Fri Apr 21 2023 wulei <wu_lei@hoperun.com> - 4.1.5-1
- Upgrade package to version 4.1.5
* Tue Jan 03 2023 misaka00251 <liuxin@iscas.ac.cn> - 4.1.4-3
- Add riscv64 support, patch from lvxiaoqian@iscas
* Fri Jul 29 2022 wangkai <wangkai385@h-partners.com> - 4.1.4-2
- Reslove conflict with pmix-devel and update license
* Mon Jun 20 2022 wulei <wulei80@h-partners.com> - 4.1.4-1
- Upgrade to 4.1.1
* Thu Sep 9 2021 Pengju Jiang <jiangpengju2@huawei.com> - 2.1.1-20
- solve the strip and rpath problem of safe conversion
* Mon Nov 2 2020 wangxiao <wangxiao65@huawei.com> - 2.1.1-19
- delete unnessary file
* Wed Oct 21 2020 wangxiao <wangxiao65@huawei.com> - 2.1.1-18
- drop python2 subpackage
* Thu Sep 10 2020 Guoshuai Sun <sunguoshuai@huawei.com> - 2.1.1-17
- As rpm-mpi-hooks is not in buildrequire,we shouldn't pull it in devel packages
* Sat Jun 20 2020 Senlin Xia <xiasenlin1@huawei.com> - 2.1.1-16
- remove unnecessary buildrequire: rpm-mpi-hooks
* Tue Nov 26 2019 openEuler Buildteam <buildteam@openeuler.org> - 2-1.1-15
- Package init
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/AGIROS_Team/openmpi.git
git@gitee.com:AGIROS_Team/openmpi.git
AGIROS_Team
openmpi
openmpi
master

搜索帮助