Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3
openmpi
openmpi.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File openmpi.spec of Package openmpi
# # spec file for package openmpi # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # ########################################################################## # NOTE: If you modified openmpi.spec and/or openmpi.changes please run # # pre_checkin.sh in this directory before submitting the package. # # This will create the -testsuite spec and changes. # ########################################################################## %if 0%{suse_version} > 1310 %define with_openib 1 %else %define with_openib 0 %endif %define build_static_devel 1 Name: openmpi Version: 1.10.6 Release: 0 Summary: A powerful implementaion of MPI License: BSD-3-Clause Group: Development/Libraries/Parallel Url: http://www.open-mpi.org/ Source0: openmpi-%{version}.tar.bz2 Source1: mpivars.sh Source2: mpivars.csh Source3: baselibs.conf Source4: openmpi-rpmlintrc Patch1: openmpi-no_date_and_time.patch Patch2: openmpi-no_network_in_build.patch Patch3: openmpi-1.8.3-fix-bashisms.patch Patch4: openmpi-etc-files.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: Modules BuildRequires: autoconf BuildRequires: automake BuildRequires: fdupes BuildRequires: flex BuildRequires: gcc-c++ BuildRequires: gcc-fortran BuildRequires: libtool BuildRequires: mpi-selector BuildRequires: zlib-devel %if %{with_openib} # For transition to rdma-core make sure the new packages are selected # Once the transition is made the version check can be removed BuildRequires: libibumad-devel >= 12 BuildRequires: libibverbs-devel >= 12 %endif %ifarch x86_64 BuildRequires: numactl %endif %ifarch %{ix86} x86_64 %if %{with_openib} BuildRequires: infinipath-psm-devel %ifarch x86_64 BuildRequires: libfabric-devel BuildRequires: libpsm2-devel %endif %endif %endif %if "%{name}" == "openmpi-testsuite" BuildRequires: openmpi = %{version} %endif Requires: mpi-selector Requires(preun): mpi-selector %define mpi_prefix %{_libdir}/mpi/gcc/openmpi %define mpi_bindir %{mpi_prefix}/bin %define mpi_libdir %{mpi_prefix}/%{_lib} %define mpi_datadir %{mpi_prefix}/share %define mpi_helpdir %{mpi_datadir}/openmpi %define mpi_includedir %{mpi_prefix}/include %define mpi_mandir %{mpi_prefix}/share/man %description %if "%{name}" == "openmpi-testsuite" This package contains the test log in the documentation directory %else OpenMPI is an implementation of the Message Passing Interface, a standardized API typically used for parallel and/or distributed computing. OpenMPI is the merged result of four prior implementations where the team found for them to excel in one or more areas, such as latency or throughput. This RPM contains all the tools necessary to compile, link, and run Open MPI jobs. %package libs Summary: OpenMPI runtime libraries Group: System/Libraries %description libs OpenMPI is an implementation of the Message Passing Interface, a standardized API typically used for parallel and/or distributed computing. OpenMPI is the merged result of four prior implementations where the team found for them to excel in one or more areas, such as latency or throughput. This subpackage contains the OpenMPI shared libraries. %package devel Summary: SDK for openMPI Group: Development/Libraries/Parallel Requires: libstdc++-devel Requires: openmpi = %{version} %if %{with_openib} Requires: libibumad-devel Requires: libibverbs-devel %endif %description devel OpenMPI is an implementation of the Message Passing Interface, a standardized API typically used for parallel and/or distributed computing. OpenMPI is the merged result of four prior implementations where the team found for them to excel in one or more areas, such as latency or throughput. This RPM contains all the wrappers necessary to compile, link, and run Open MPI jobs. %if %{build_static_devel} %package devel-static Summary: Static openMPI libraries Group: Development/Libraries/Parallel Requires: %{name}-devel = %{version} %description devel-static OpenMPI is an implementation of the Message Passing Interface, a standardized API typically used for parallel and/or distributed computing. OpenMPI is the merged result of four prior implementations where the team found for them to excel in one or more areas, such as latency or throughput. This RPM contains the static library files, which are packaged separately from the dynamic library and headers. %endif %endif # !openmpi-testsuite %prep %setup -q -n openmpi-%{version} %patch1 %patch2 %patch3 -p1 %patch4 %build %if 0%{suse_version} >= 1315 # To force rebuilding Makefile.in rm -f ompi/debuggers/Makefile.in ./autogen.sh %endif %configure --prefix="%{mpi_prefix}" \ --exec-prefix="%{mpi_prefix}" \ --bindir="%{mpi_bindir}" \ --datadir="%{mpi_datadir}" \ --includedir="%{mpi_includedir}" \ --libdir="%{mpi_libdir}" \ --mandir="%{mpi_mandir}" \ --disable-static \ --enable-builtin-atomics \ --with-libltdl=%{_prefix} \ %if %{with_openib} --with-verbs \ %endif --enable-mpi-thread-multiple \ --with-threads \ %ifarch %{ix86} x86_64 %if %with_openib --with-psm \ %ifarch x86_64 --with-psm2 \ %endif %endif %endif --with-package-string="Open MPI Distribution for SUSE" \ --enable-mpi-fortran=usempi \ --disable-silent-rules \ --enable-builtin-atomics make %{?_smp_mflags} %if "%{name}" == "openmpi-testsuite" %check make check %install %else %install make install DESTDIR="%buildroot" # make and install mpivars files sed -e 's,prefix,%{mpi_prefix},g' -e 's,libdir,%{mpi_libdir},g' %{SOURCE1} \ > %{buildroot}%{mpi_bindir}/mpivars.sh sed -e 's,prefix,%{mpi_prefix},g' -e 's,libdir,%{mpi_libdir},g' %{SOURCE2} \ > %{buildroot}%{mpi_bindir}/mpivars.csh for input in `find %{buildroot}/%{mpi_mandir} -type f` ; do if test -f "$input.gz"; then #echo "Remove old file $input.gz" rm -f "$input.gz" fi if test -L "$input"; then link=`perl -e 'print readlink($ARGV[0]);' -- "$input"` test -d "$link" && continue test -d "%{buildroot}/$link" && continue rm -f "$input" ln -sf "$link.gz" "$input.gz" else gzip -nf9 "$input" fi ls -l "$input.gz" done pushd %{buildroot}%{mpi_libdir} rm libopen-trace-format.la rm libotfaux.la %if !%{build_static_devel} find -name '*.la' -print0 | xargs -0 rm -f %else for f in libvt\*.la; do sed -i 's%%-L.*.libs %%%%g' $f done %endif popd # GCC 5 builds the ignore-tkr extension and there is no way to # turn that off rm -f %{buildroot}%{mpi_libdir}/mpi_ext.mod mkdir -p %{buildroot}%{_datadir}/modules/gnu-openmpi %fdupes %{buildroot}%{mpi_mandir} %{buildroot}%{mpi_datadir} cat << EOF > %{buildroot}%{_datadir}/modules/gnu-openmpi/%{version} #%%Module proc ModulesHelp { } { global dotversion puts stderr "\tLoads the gnu - openmpi %{version} Environment" } module-whatis "Loads the gnu openmpi %{version} Environment." conflict gnu-openmpi prepend-path PATH %{mpi_bindir} prepend-path INCLUDE %{mpi_includedir} prepend-path INCLUDE %{mpi_libdir}/lib64 prepend-path MANPATH %{mpi_mandir} prepend-path LD_LIBRARY_PATH %{mpi_libdir} EOF cat << EOF > %{buildroot}%{_datadir}/modules/gnu-openmpi/.version #%%Module1.0 set ModulesVersion "%{version}" EOF rm -f %{buildroot}%{mpi_mandir}/man1/mpiCC.1 ln -s mpicxx.1.gz %{buildroot}%{mpi_mandir}/man1/mpiCC.1.gz #! openmpi-testsuite %endif %if "%{name}" == "openmpi" %post /usr/bin/mpi-selector \ --register %{name}-%{version} \ --source-dir %{mpi_bindir} \ --yes /usr/bin/mpi-selector \ --system \ --set %{name}-%{version} \ --yes %preun /usr/bin/mpi-selector --unregister %{name}-%{version} --yes /usr/bin/mpi-selector --system --query if [ ! -z "`/usr/bin/mpi-selector --system --query`" ]; then /usr/bin/mpi-selector --system --unset --yes %{name}-%{version} fi %post libs -p /sbin/ldconfig %postun libs -p /sbin/ldconfig %files %defattr(-, root, root) %doc NEWS README AUTHORS LICENSE %dir %{_libdir}/mpi %dir %{_libdir}/mpi/gcc %dir %{mpi_prefix} %dir %{mpi_bindir} %dir %{mpi_libdir} %dir %{mpi_datadir} %dir %{mpi_mandir} # %config %{_sysconfdir}/openmpi-default-hostfile %config %{_sysconfdir}/openmpi-mca-params.conf # %dir /usr/share/modules/gnu-openmpi /usr/share/modules/gnu-openmpi/.version /usr/share/modules/gnu-openmpi/%{version} # %dir %{mpi_datadir}/openmpi/amca-param-sets %if 0%{?suse_version} <= 1320 %dir %{mpi_datadir}/openmpi/doc %endif %if %with_openib %{mpi_datadir}/openmpi/amca-param-sets/btl-openib-benchmark %endif %{mpi_datadir}/openmpi/amca-param-sets/example.conf %if 0%{?suse_version} <= 1320 %{mpi_datadir}/openmpi/doc/COPYRIGHT-ptmalloc2.txt %endif # %{mpi_bindir}/mpirun %{mpi_bindir}/mpivars.csh %{mpi_bindir}/mpivars.sh %{mpi_bindir}/ompi-clean %{mpi_bindir}/ompi-ps %{mpi_bindir}/ompi-server %{mpi_bindir}/ompi-top %{mpi_bindir}/ompi_info %{mpi_bindir}/orte-clean %{mpi_bindir}/orte-dvm %{mpi_bindir}/orte-info %{mpi_bindir}/orte-ps %{mpi_bindir}/orte-server %{mpi_bindir}/orte-submit %{mpi_bindir}/orte-top %{mpi_bindir}/orted %{mpi_bindir}/orterun %{mpi_bindir}/oshmem_info %{mpi_bindir}/oshrun %{mpi_bindir}/shmemrun # %dir %{mpi_mandir}/man1 %{mpi_mandir}/man1/oshmem_info.1.gz %{mpi_mandir}/man1/orte-clean.1.gz %{mpi_mandir}/man1/orte-dvm.1.gz %{mpi_mandir}/man1/orte-info.1.gz %{mpi_mandir}/man1/orte-ps.1.gz %{mpi_mandir}/man1/orte-server.1.gz %{mpi_mandir}/man1/orte-submit.1.gz %{mpi_mandir}/man1/orte-top.1.gz %{mpi_mandir}/man1/orted.1.gz %{mpi_mandir}/man1/orterun.1.gz %{mpi_mandir}/man1/mpirun.1.gz %{mpi_mandir}/man1/ompi-clean.1.gz %{mpi_mandir}/man1/ompi-ps.1.gz %{mpi_mandir}/man1/ompi-server.1.gz %{mpi_mandir}/man1/ompi-top.1.gz %{mpi_mandir}/man1/ompi_info.1.gz %{mpi_mandir}/man1/shmemrun.1.gz %{mpi_mandir}/man7 # %dir %{mpi_helpdir} %{mpi_helpdir}/help-coll-sync.txt %{mpi_helpdir}/help-dash-host.txt %{mpi_helpdir}/help-db-base.txt %{mpi_helpdir}/help-errmgr-base.txt %{mpi_helpdir}/help-ess-base.txt %{mpi_helpdir}/help-ess-hnp.txt %{mpi_helpdir}/help-hostfile.txt %{mpi_helpdir}/help-mca-base.txt %{mpi_helpdir}/help-mca-bml-r2.txt %{mpi_helpdir}/help-mca-coll-base.txt %{mpi_helpdir}/help-mca-op-base.txt %{mpi_helpdir}/help-mca-var.txt %{mpi_helpdir}/help-mpi-api.txt %{mpi_helpdir}/help-mpi-btl-base.txt %{mpi_helpdir}/help-mpi-btl-openib-cpc-base.txt %{mpi_helpdir}/help-mpi-btl-openib-cpc-rdmacm.txt %{mpi_helpdir}/help-mpi-btl-openib.txt %{mpi_helpdir}/help-mpi-btl-sm.txt %{mpi_helpdir}/help-mpi-btl-tcp.txt %{mpi_helpdir}/help-mpi-coll-sm.txt %{mpi_helpdir}/help-mpi-common-sm.txt %{mpi_helpdir}/help-mpi-errors.txt %{mpi_helpdir}/help-mpi-pml-bfo.txt %{mpi_helpdir}/help-mpi-pml-ob1.txt %{mpi_helpdir}/help-mpi-runtime.txt %{mpi_helpdir}/help-mpool-base.txt %{mpi_helpdir}/help-btl-vader.txt %{mpi_helpdir}/help-mpi-coll-ml.txt %{mpi_helpdir}/help-oshmem-info.txt %{mpi_helpdir}/help-oshmem-memheap.txt %{mpi_helpdir}/help-oshmem-spml-yoda.txt %{mpi_helpdir}/help-oshmem-sshmem.txt %if %with_openib %ifarch %ix86 x86_64 %{mpi_helpdir}/help-mtl-psm.txt %endif %ifarch x86_64 %{mpi_helpdir}/help-mtl-psm2.txt %{mpi_helpdir}/help-mpi-btl-usnic.txt %{mpi_helpdir}/help-mtl-ofi.txt %endif %endif %if %with_openib %{mpi_datadir}/openmpi/help-ompi-common-verbs.txt %endif %{mpi_helpdir}/help-ompi-crcp-base.txt %{mpi_helpdir}/help-ompi-dpm-base.txt %{mpi_helpdir}/help-ompi-dpm-orte.txt %{mpi_helpdir}/help-ompi-pubsub-orte.txt %{mpi_helpdir}/help-oob-base.txt %{mpi_helpdir}/help-oob-tcp.txt %{mpi_helpdir}/help-opal-compress-base.txt %{mpi_helpdir}/help-opal-compress-bzip.txt %{mpi_helpdir}/help-opal-compress-gzip.txt %{mpi_helpdir}/help-opal-crs-base.txt %{mpi_helpdir}/help-opal-crs-none.txt %{mpi_helpdir}/help-opal-hwloc-base.txt %{mpi_helpdir}/help-opal-runtime.txt %{mpi_helpdir}/help-opal-shmem-mmap.txt %{mpi_helpdir}/help-opal-shmem-posix.txt %{mpi_helpdir}/help-opal-shmem-sysv.txt %{mpi_helpdir}/help-opal-util.txt %{mpi_helpdir}/help-opal-wrapper.txt %{mpi_helpdir}/help-opal_info.txt %{mpi_helpdir}/help-orte-clean.txt %{mpi_helpdir}/help-orte-filem-base.txt %{mpi_helpdir}/help-orte-filem-raw.txt %{mpi_helpdir}/help-orte-info.txt %{mpi_helpdir}/help-orte-odls-base.txt %{mpi_helpdir}/help-orte-odls-default.txt %{mpi_helpdir}/help-orte-ps.txt %{mpi_helpdir}/help-orte-rmaps-base.txt %{mpi_helpdir}/help-orte-rmaps-md.txt %{mpi_helpdir}/help-orte-rmaps-ppr.txt %{mpi_helpdir}/help-orte-rmaps-resilient.txt %{mpi_helpdir}/help-orte-rmaps-rr.txt %{mpi_helpdir}/help-orte-rmaps-seq.txt %{mpi_helpdir}/help-orte-runtime.txt %{mpi_helpdir}/help-orte-server.txt %{mpi_helpdir}/help-orte-snapc-base.txt %{mpi_helpdir}/help-orte-sstore-base.txt %{mpi_helpdir}/help-orte-top.txt %{mpi_helpdir}/help-orted.txt %{mpi_helpdir}/help-orterun.txt %{mpi_helpdir}/help-oshmem-sshmem-mmap.txt %{mpi_helpdir}/help-oshmem-sshmem-sysv.txt %{mpi_helpdir}/help-plm-base.txt %{mpi_helpdir}/help-plm-rsh.txt %{mpi_helpdir}/help-plm-slurm.txt %{mpi_helpdir}/help-ras-base.txt %{mpi_helpdir}/help-ras-simulator.txt %{mpi_helpdir}/help-ras-slurm.txt %{mpi_helpdir}/help-regex.txt %{mpi_helpdir}/help-rmaps_rank_file.txt %{mpi_helpdir}/help-sec-base.txt %{mpi_helpdir}/help-shmem-api.txt %{mpi_helpdir}/help-shmem-runtime.txt %{mpi_helpdir}/help-state-staged-hnp.txt %ifarch %ix86 x86_64 ppc64 %{mpi_helpdir}/help-opal-timer-linux.txt %endif # Opal memory linux does not work on glibc > 2.25 %if 0%{suse_version} < 1330 %{mpi_datadir}/openmpi/doc/COPYRIGHT-ptmalloc2.txt %{mpi_helpdir}/help-opal-memory-linux.txt %endif %if %with_openib %{mpi_datadir}/openmpi/mca-btl-openib-device-params.ini %endif %{mpi_datadir}/openmpi/mca-coll-ml.config %files libs %defattr(-,root,root) %dir %mpi_prefix/ %dir %mpi_libdir/ %mpi_libdir/*.so.* %{mpi_libdir}/openmpi/*.so %files devel %defattr(-,root,root) %doc %{mpi_datadir}/vampirtrace %{_sysconfdir}/openmpi-totalview.tcl # %dir %{mpi_libdir}/pkgconfig %dir %{mpi_libdir}/openmpi # %{mpi_bindir}/mpiCC %{mpi_bindir}/mpiCC-vt %{mpi_bindir}/mpic++ %{mpi_bindir}/mpic++-vt %{mpi_bindir}/mpicc %{mpi_bindir}/mpicc-vt %{mpi_bindir}/mpicxx %{mpi_bindir}/mpicxx-vt %{mpi_bindir}/mpiexec %{mpi_bindir}/mpif77 %{mpi_bindir}/mpif77-vt %{mpi_bindir}/mpif90 %{mpi_bindir}/mpif90-vt %{mpi_bindir}/mpifort %{mpi_bindir}/mpifort-vt %{mpi_bindir}/opal_wrapper %{mpi_bindir}/opari %{mpi_bindir}/ortecc %{mpi_bindir}/oshcc %{mpi_bindir}/oshfort %{mpi_bindir}/otfaux %{mpi_bindir}/otfconfig %{mpi_bindir}/otfinfo %{mpi_bindir}/otfmerge %{mpi_bindir}/otfmerge-mpi %{mpi_bindir}/otfprint %{mpi_bindir}/otfprofile %{mpi_bindir}/otfprofile-mpi %{mpi_bindir}/otfshrink %{mpi_bindir}/otfcompress %{mpi_bindir}/otfdecompress %{mpi_bindir}/shmemcc %{mpi_bindir}/shmemfort %{mpi_bindir}/vtCC %{mpi_bindir}/vtc++ %{mpi_bindir}/vtcc %{mpi_bindir}/vtcxx %{mpi_bindir}/vtf77 %{mpi_bindir}/vtf90 %{mpi_bindir}/vtfilter %{mpi_bindir}/vtfilter-mpi %{mpi_bindir}/vtfiltergen %{mpi_bindir}/vtfiltergen-mpi %{mpi_bindir}/vtfort %{mpi_bindir}/vtrun %{mpi_bindir}/vtunify %{mpi_bindir}/vtunify-mpi %{mpi_bindir}/vtwrapper %{mpi_libdir}/mpi.mod # %{mpi_mandir}/man1/mpiCC.1.gz %{mpi_mandir}/man1/mpic++.1.gz %{mpi_mandir}/man1/mpicc.1.gz %{mpi_mandir}/man1/mpicxx.1.gz %{mpi_mandir}/man1/mpiexec.1.gz %{mpi_mandir}/man1/mpif77.1.gz %{mpi_mandir}/man1/mpif90.1.gz %{mpi_mandir}/man1/mpifort.1.gz %{mpi_mandir}/man1/opal_wrapper.1.gz %{mpi_mandir}/man1/oshcc.1.gz %{mpi_mandir}/man1/oshfort.1.gz %{mpi_mandir}/man1/oshrun.1.gz %{mpi_mandir}/man1/shmemcc.1.gz %{mpi_mandir}/man1/shmemfort.1.gz %{mpi_mandir}/man3 # %{mpi_helpdir}/mpiCC-vt-wrapper-data.txt %{mpi_helpdir}/mpiCC-wrapper-data.txt %{mpi_helpdir}/mpic++-vt-wrapper-data.txt %{mpi_helpdir}/mpic++-wrapper-data.txt %{mpi_helpdir}/mpicc-vt-wrapper-data.txt %{mpi_helpdir}/mpicc-wrapper-data.txt %{mpi_helpdir}/mpicxx-vt-wrapper-data.txt %{mpi_helpdir}/mpicxx-wrapper-data.txt %{mpi_helpdir}/mpif77-vt-wrapper-data.txt %{mpi_helpdir}/mpif77-wrapper-data.txt %{mpi_helpdir}/mpif90-vt-wrapper-data.txt %{mpi_helpdir}/mpif90-wrapper-data.txt %{mpi_helpdir}/mpifort-vt-wrapper-data.txt %{mpi_helpdir}/mpifort-wrapper-data.txt %{mpi_helpdir}/openmpi-valgrind.supp %{mpi_helpdir}/ortecc-wrapper-data.txt %{mpi_helpdir}/oshcc-wrapper-data.txt %{mpi_helpdir}/oshfort-wrapper-data.txt %{mpi_helpdir}/shmemcc-wrapper-data.txt %{mpi_helpdir}/shmemfort-wrapper-data.txt # %{mpi_includedir} %{mpi_libdir}/*.so %{mpi_libdir}/pkgconfig/*.pc %if %{build_static_devel} %files devel-static %defattr(-, root, root) %{mpi_libdir}/*.la %{mpi_libdir}/openmpi/*.la %{mpi_libdir}/*.a %endif %else %files %defattr(-, root, root) %doc README %doc test/util/test-suite.log %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor