Package init
This commit is contained in:
parent
a4182a6b60
commit
4c24e0400d
36
README.en.md
36
README.en.md
@ -1,36 +0,0 @@
|
||||
# openmpi
|
||||
|
||||
#### Description
|
||||
{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}
|
||||
|
||||
#### Software Architecture
|
||||
Software architecture description
|
||||
|
||||
#### Installation
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### Instructions
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### Contribution
|
||||
|
||||
1. Fork the repository
|
||||
2. Create Feat_xxx branch
|
||||
3. Commit your code
|
||||
4. Create Pull Request
|
||||
|
||||
|
||||
#### Gitee Feature
|
||||
|
||||
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
|
||||
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
|
||||
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
|
||||
4. The most valuable open source project [GVP](https://gitee.com/gvp)
|
||||
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
|
||||
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
39
README.md
39
README.md
@ -1,39 +0,0 @@
|
||||
# openmpi
|
||||
|
||||
#### 介绍
|
||||
{**以下是码云平台说明,您可以替换此简介**
|
||||
码云是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台
|
||||
无论是个人、团队、或是企业,都能够用码云实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)}
|
||||
|
||||
#### 软件架构
|
||||
软件架构说明
|
||||
|
||||
|
||||
#### 安装教程
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### 使用说明
|
||||
|
||||
1. xxxx
|
||||
2. xxxx
|
||||
3. xxxx
|
||||
|
||||
#### 参与贡献
|
||||
|
||||
1. Fork 本仓库
|
||||
2. 新建 Feat_xxx 分支
|
||||
3. 提交代码
|
||||
4. 新建 Pull Request
|
||||
|
||||
|
||||
#### 码云特技
|
||||
|
||||
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
|
||||
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
|
||||
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
|
||||
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
|
||||
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
|
||||
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
|
||||
6
macros.openmpi
Normal file
6
macros.openmpi
Normal file
@ -0,0 +1,6 @@
|
||||
%_openmpi_load \
|
||||
. /etc/profile.d/modules.sh; \
|
||||
module load mpi/openmpi-%{_arch};
|
||||
%_openmpi_unload \
|
||||
. /etc/profile.d/modules.sh; \
|
||||
module unload mpi/openmpi-%{_arch};
|
||||
BIN
openmpi-2.1.1.tar.bz2
Normal file
BIN
openmpi-2.1.1.tar.bz2
Normal file
Binary file not shown.
21
openmpi.module.in
Normal file
21
openmpi.module.in
Normal file
@ -0,0 +1,21 @@
|
||||
#%Module 1.0
|
||||
#
|
||||
# OpenMPI module for use with 'environment-modules' package:
|
||||
#
|
||||
conflict mpi
|
||||
prepend-path PATH @LIBDIR@/bin
|
||||
prepend-path LD_LIBRARY_PATH @LIBDIR@/lib
|
||||
prepend-path PKG_CONFIG_PATH @LIBDIR@/lib/pkgconfig
|
||||
prepend-path MANPATH @MANDIR@
|
||||
setenv MPI_BIN @LIBDIR@/bin
|
||||
setenv MPI_SYSCONFIG @ETCDIR@
|
||||
setenv MPI_FORTRAN_MOD_DIR @FMODDIR@
|
||||
setenv MPI_INCLUDE @INCDIR@
|
||||
setenv MPI_LIB @LIBDIR@/lib
|
||||
setenv MPI_MAN @MANDIR@
|
||||
setenv MPI_PYTHON_SITEARCH @PY2SITEARCH@
|
||||
setenv MPI_PYTHON2_SITEARCH @PY2SITEARCH@
|
||||
setenv MPI_PYTHON3_SITEARCH @PY3SITEARCH@
|
||||
setenv MPI_COMPILER @COMPILER@
|
||||
setenv MPI_SUFFIX @SUFFIX@
|
||||
setenv MPI_HOME @LIBDIR@
|
||||
1
openmpi.pth.py2
Normal file
1
openmpi.pth.py2
Normal file
@ -0,0 +1 @@
|
||||
import sys, os; s = os.getenv('MPI_PYTHON2_SITEARCH'); s and (s in sys.path or sys.path.append(s))
|
||||
1
openmpi.pth.py3
Normal file
1
openmpi.pth.py3
Normal file
@ -0,0 +1 @@
|
||||
import sys, os; s = os.getenv('MPI_PYTHON3_SITEARCH'); s and (s in sys.path or sys.path.append(s))
|
||||
214
openmpi.spec
Normal file
214
openmpi.spec
Normal file
@ -0,0 +1,214 @@
|
||||
Name: openmpi
|
||||
Version: 2.1.1
|
||||
Release: 15
|
||||
Summary: Open Source High Performance Computing
|
||||
License: BSD and MIT and Romio
|
||||
URL: http://www.open-mpi.org/
|
||||
Source0: https://download.open-mpi.org/release/open-mpi/v2.1/openmpi-%{version}.tar.bz2
|
||||
Source1: openmpi.module.in
|
||||
Source2: openmpi.pth.py2
|
||||
Source3: openmpi.pth.py3
|
||||
Source4: macros.openmpi
|
||||
|
||||
BuildRequires: gcc-c++, gcc-gfortran
|
||||
BuildRequires: valgrind-devel, hwloc-devel, java-devel, libfabric-devel, papi-devel
|
||||
BuildRequires: libibverbs-devel >= 1.1.3, opensm-devel > 3.3.0
|
||||
BuildRequires: librdmacm-devel, rdma-core-devel, pmix-devel
|
||||
BuildRequires: hwloc-gui, rpm-mpi-hooks
|
||||
BuildRequires: perl-generators, perl(Getopt::Long)
|
||||
BuildRequires: python2-devel, python3-devel
|
||||
%ifarch x86_64
|
||||
BuildRequires: infinipath-psm-devel, libpsm2-devel, torque-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
|
||||
%else
|
||||
%global name_all openmpi-x86_64
|
||||
%endif
|
||||
#%global namearch openmpi-%{_arch}
|
||||
|
||||
%package devel
|
||||
Summary: Development files for openmpi
|
||||
Requires: %{name} = %{version}-%{release}, gcc-gfortran
|
||||
Provides: mpi-devel
|
||||
Requires: rpm-mpi-hooks, java-devel
|
||||
Provides: %{name}-java-devel
|
||||
Obsoletes: %{name}-java-devel
|
||||
|
||||
%description devel
|
||||
This contains dynamic libraries and header files for the developing of openmpi.
|
||||
|
||||
%package -n python2-openmpi
|
||||
Summary: openmpi python2 interface
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description -n python2-openmpi
|
||||
openmpi python2 interface.
|
||||
|
||||
%package -n python3-openmpi
|
||||
Summary: openmpi python3 interface
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
%description -n python3-openmpi
|
||||
openmpi python3 interface
|
||||
|
||||
%package help
|
||||
Summary: Including man files for openmpi
|
||||
Requires: man
|
||||
|
||||
%description help
|
||||
This contains man files for the using of openmpi.
|
||||
|
||||
%prep
|
||||
%autosetup -n openmpi-%{version} -p1
|
||||
|
||||
%build
|
||||
./configure --prefix=%{_libdir}/%{name} \
|
||||
--includedir=%{_includedir}/%{name_all} \
|
||||
--sysconfdir=%{_sysconfdir}/%{name_all} \
|
||||
--disable-silent-rules \
|
||||
--enable-builtin-atomics \
|
||||
--enable-memchecker \
|
||||
--enable-mpi-thread-multiple \
|
||||
--enable-mpi-cxx \
|
||||
--enable-mpi-java \
|
||||
--with-sge \
|
||||
--with-valgrind \
|
||||
--with-hwloc=/usr \
|
||||
--mandir=%{_mandir}/%{name_all} \
|
||||
CFLAGS="$RPM_OPT_FLAGS" \
|
||||
CXXFLAGS="$RPM_OPT_FLAGS" \
|
||||
FC=gfortran \
|
||||
FCFLAGS="$RPM_OPT_FLAGS"
|
||||
|
||||
%make_build
|
||||
|
||||
%install
|
||||
%make_install
|
||||
find %{buildroot}%{_libdir}/%{name}/lib -name \*.la -delete
|
||||
find %{buildroot}%{_mandir}/%{name_all} -type f -exec gzip -9 {} \;
|
||||
ln -s mpicc.1.gz %{buildroot}%{_mandir}/%{name_all}/man1/mpiCC.1.gz
|
||||
rm %{buildroot}%{_mandir}/%{name_all}/man1/mpiCC.1
|
||||
mkdir %{buildroot}%{_mandir}/%{name_all}/man{2,4,5,6,8,9,n}
|
||||
|
||||
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_all}#;
|
||||
s#@PY2SITEARCH@#%{python2_sitearch}/%{name}#;
|
||||
s#@PY3SITEARCH@#%{python3_sitearch}/%{name}#;
|
||||
s#@COMPILER@#openmpi-%{_arch}#;
|
||||
s#@SUFFIX@#_openmpi#' \
|
||||
<%{SOURCE1} \
|
||||
>%{buildroot}%{_datadir}/modulefiles/mpi/%{name_all}
|
||||
|
||||
install -Dpm 644 %{SOURCE4} %{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}/%{python2_sitearch}/%{name}
|
||||
install -d %{buildroot}/%{python3_sitearch}/%{name}
|
||||
install -pDm0644 %{SOURCE2} %{buildroot}/%{python2_sitearch}/openmpi.pth
|
||||
install -pDm0644 %{SOURCE3} %{buildroot}/%{python3_sitearch}/openmpi.pth
|
||||
|
||||
%check
|
||||
make check
|
||||
|
||||
%files
|
||||
%license LICENSE opal/mca/event/libevent2022/libevent/LICENSE
|
||||
%dir %{_libdir}/%{name}
|
||||
%dir %{_sysconfdir}/%{name_all}
|
||||
%dir %{_libdir}/%{name}/bin
|
||||
%dir %{_libdir}/%{name}/lib
|
||||
%dir %{_libdir}/%{name}/lib/openmpi
|
||||
%dir %{_mandir}/%{name_all}
|
||||
%dir %{_mandir}/%{name_all}/man*
|
||||
%dir %{_libdir}/%{name}/share
|
||||
%dir %{_libdir}/%{name}/share/openmpi
|
||||
%config(noreplace) %{_sysconfdir}/%{name_all}/*
|
||||
%{_datadir}/modulefiles/mpi/
|
||||
%{_libdir}/%{name}/bin/mpiexec
|
||||
%{_libdir}/%{name}/bin/mpirun
|
||||
%{_libdir}/%{name}/bin/ompi*
|
||||
%{_libdir}/%{name}/bin/orte-*
|
||||
%{_libdir}/%{name}/bin/orted
|
||||
%{_libdir}/%{name}/bin/orterun
|
||||
%{_libdir}/%{name}/bin/oshmem_info
|
||||
%{_libdir}/%{name}/bin/oshrun
|
||||
%{_libdir}/%{name}/bin/shmemrun
|
||||
%{_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/openmpi/mca-btl-openib-device-params.ini
|
||||
|
||||
|
||||
%files devel
|
||||
%dir %{_includedir}/%{name_all}
|
||||
%{_includedir}/%{name_all}/*
|
||||
%{_libdir}/%{name}/share/doc/
|
||||
%{_libdir}/%{name}/bin/mpic*
|
||||
%{_libdir}/%{name}/bin/mpiCC
|
||||
%{_libdir}/%{name}/bin/mpif*
|
||||
%{_libdir}/%{name}/bin/opal*
|
||||
%{_libdir}/%{name}/bin/ortecc
|
||||
%{_libdir}/%{name}/bin/oshcc
|
||||
%{_libdir}/%{name}/bin/oshfort
|
||||
%{_libdir}/%{name}/bin/shmemcc
|
||||
%{_libdir}/%{name}/bin/shmemfort
|
||||
%{_libdir}/%{name}/bin/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 python2-openmpi
|
||||
%dir %{python2_sitearch}/%{name}
|
||||
%{python2_sitearch}/openmpi.pth
|
||||
|
||||
%files -n python3-openmpi
|
||||
%dir %{python3_sitearch}/%{name}
|
||||
%{python3_sitearch}/openmpi.pth
|
||||
|
||||
|
||||
%files help
|
||||
%{_mandir}/%{name_all}/man*/*
|
||||
|
||||
%changelog
|
||||
* Tue Nov 26 2019 openEuler Buildteam <buildteam@openeuler.org> - 2-1.1-15
|
||||
- Package init
|
||||
Loading…
x
Reference in New Issue
Block a user