Backport from F-14

This commit is contained in:
Jay Fenlason 2010-03-30 14:29:48 +00:00
parent b53b165eaf
commit 681a5fe4c3
5 changed files with 39 additions and 76 deletions

View File

@ -1,3 +1 @@
openmpi-1.3.1.tar.bz2
openmpi-1.3.3.tar.bz2
openmpi-1.4.tar.bz2
openmpi-1.4.1-RH.tar.bz2

View File

@ -1,50 +0,0 @@
Index: /trunk/opal/include/opal/sys/amd64/atomic.h
===================================================================
--- /trunk/opal/include/opal/sys/amd64/atomic.h (revision 21180)
+++ /trunk/opal/include/opal/sys/amd64/atomic.h (revision 22324)
@@ -85,9 +85,9 @@
unsigned char ret;
__asm__ __volatile__ (
- SMPLOCK "cmpxchgl %1,%2 \n\t"
+ SMPLOCK "cmpxchgl %3,%4 \n\t"
"sete %0 \n\t"
- : "=qm" (ret)
- : "q"(newval), "m"(*addr), "a"(oldval)
- : "memory");
+ : "=qm" (ret), "=a" (oldval), "=m" (*addr)
+ : "q"(newval), "m"(*addr), "1"(oldval)
+ );
return (int)ret;
@@ -106,9 +106,9 @@
unsigned char ret;
__asm__ __volatile__ (
- SMPLOCK "cmpxchgq %1,%2 \n\t"
+ SMPLOCK "cmpxchgq %3,%4 \n\t"
"sete %0 \n\t"
- : "=qm" (ret)
- : "q"(newval), "m"(*((volatile long*)addr)), "a"(oldval)
- : "memory");
+ : "=qm" (ret), "=a" (oldval), "=m" (*((volatile long*)addr))
+ : "q"(newval), "m"(*((volatile long*)addr)), "1"(oldval)
+ );
return (int)ret;
Index: /trunk/opal/include/opal/sys/ia32/atomic.h
===================================================================
--- /trunk/opal/include/opal/sys/ia32/atomic.h (revision 21180)
+++ /trunk/opal/include/opal/sys/ia32/atomic.h (revision 22324)
@@ -92,9 +92,9 @@
unsigned char ret;
__asm__ __volatile__ (
- SMPLOCK "cmpxchgl %1,%2 \n\t"
+ SMPLOCK "cmpxchgl %3,%4 \n\t"
"sete %0 \n\t"
- : "=qm" (ret)
- : "q"(newval), "m"(*((volatile long*)addr)), "a"(oldval)
- : "memory");
+ : "=qm" (ret), "=a" (oldval), "=m" (*addr)
+ : "q"(newval), "m"(*((volatile long*)addr)), "1"(oldval)
+ );
return (int)ret;

View File

@ -4,6 +4,7 @@
#
prepend-path PATH @LIBDIR@/bin
prepend-path LD_LIBRARY_PATH @LIBDIR@/lib
prepend-path PYTHONPATH @PYSITEARCH@
setenv MPI_BIN @LIBDIR@/bin
setenv MPI_SYSCONFIG @ETCDIR@
setenv MPI_FORTRAN_MOD_DIR @FMODDIR@

View File

@ -18,22 +18,29 @@
#define _cc_name_suffix -gcc
Name: openmpi%{?_cc_name_suffix}
Version: 1.4
Release: 5%{?dist}
Version: 1.4.1
Release: 4%{?dist}
Summary: Open Message Passing Interface
Group: Development/Libraries
License: BSD
License: BSD, MIT and Romio
URL: http://www.open-mpi.org/
# We can't use %{name} here because of _cc_name_suffix
Source0: http://www.open-mpi.org/software/ompi/v1.3/downloads/openmpi-%{version}.tar.bz2
Source1: openmpi.pc.in
Source2: openmpi.module.in
Source3: macros.openmpi
Patch0: openmpi-changeset_r22324.patch
#Source0: http://www.open-mpi.org/software/ompi/v1.4/downloads/openmpi-%{version}.tar.bz2
# openmpi-1.4.1-RH.tar.bz2 was generated by taking the upstream 1.4.1 tarball
# and removing license-incompatible (ras_loadleveler_module.c contained
# usage requirements that we cannot make our users comply with, and
# MoreDebugging/* is AML but unused in our configuration),
# and packaging-guidelines-incompatable (MUST use system versions of libltdl
# and libplpa, not the (formerly included ones), and also remove the generated
# Makefile.in and configure related files.
Source0: openmpi-%{version}-RH.tar.bz2
Source1: openmpi.module.in
Source2: macros.openmpi
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: gcc-gfortran, libtool, numactl-devel, valgrind-devel
BuildRequires: libibverbs-devel, opensm-devel > 3.3.0
BuildRequires: libibverbs-devel >= 1.1.2, opensm-devel > 3.3.0
BuildRequires: librdmacm librdmacm-devel libibcm libibcm-devel
BuildRequires: python libtool-ltdl-devel plpa-devel
#%ifnarch ppc
#BuildRequires: compat-dapl-devel
#%endif
@ -69,7 +76,6 @@ Summary: Development files for openmpi
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}, gcc-gfortran
Provides: mpi-devel
Obsoletes: openmpi-vt < 1.4
%description devel
Contains development headers and libraries for openmpi
@ -107,11 +113,11 @@ Contains development headers and libraries for openmpi
%prep
%setup -q -n openmpi-%{version}
%patch0 -p2 -b .bz538199
./autogen.sh
%build
%ifarch x86_64
XFLAGS="-fPIC"
%endif
./configure --prefix=%{_libdir}/%{name} --with-libnuma=/usr \
--with-openib=/usr \
--mandir=%{_mandir}/%{namearch} \
@ -131,8 +137,6 @@ XFLAGS="-fPIC"
CXXFLAGS="%{?opt_cxxflags} $RPM_OPT_FLAGS $XFLAGS" \
FC=%{opt_fc} FCFLAGS="%{?opt_fcflags} $RPM_OPT_FLAGS $XFLAGS" \
F77=%{opt_f77} FFLAGS="%{?opt_fflags} $RPM_OPT_FLAGS $XFLAGS"
%build
make %{?_smp_mflags}
%install
@ -145,16 +149,13 @@ rm -f %{buildroot}%{_mandir}/%{namearch}/man1/mpiCC.1
rm -f %{buildroot}%{_libdir}/%{name}/share/vampirtrace/doc/opari/lacsi01.ps.gz
mkdir %{buildroot}%{_mandir}/%{namearch}/man{2,4,5,6,8,9,n}
# Make the pkgconfig file
mkdir -p %{buildroot}%{_libdir}/pkgconfig
sed 's#@NAME@#'%{name}'#g;s#@VERSION@#'%{version}'#g;s#@LIBDIR@#'%{_libdir}/%{name}/lib'#g;s#@CC@#'%{opt_cc}'#g;s#@INCDIR@#'%{_includedir}/%{namearch}'#g;s#@MODEFLAG@#'%{?modeflag}'#g' < %SOURCE1 > %{buildroot}/%{_libdir}/pkgconfig/%{name}.pc
# Make the environment-modules file
mkdir -p %{buildroot}%{_sysconfdir}/modulefiles
# Since we're doing our own substitution here, use our own definitions.
sed 's#@LIBDIR@#'%{_libdir}/%{name}'#g;s#@ETCDIR@#'%{_sysconfdir}/%{namearch}'#g;s#@FMODDIR@#'%{_fmoddir}/%{namearch}'#g;s#@INCDIR@#'%{_includedir}/%{namearch}'#g;s#@MANDIR@#'%{_mandir}/%{namearch}'#g;s#@PYSITEARCH@#'%{python_sitearch}/%{name}'#g;s#@COMPILER@#openmpi-'%{_arch}%{?_cc_name_suffix}'#g;s#@SUFFIX@#'%{?_cc_name_suffix}'_openmpi#g' < %SOURCE2 > %{buildroot}%{_sysconfdir}/modulefiles/%{namearch}
sed 's#@LIBDIR@#'%{_libdir}/%{name}'#g;s#@ETCDIR@#'%{_sysconfdir}/%{namearch}'#g;s#@FMODDIR@#'%{_fmoddir}/%{namearch}'#g;s#@INCDIR@#'%{_includedir}/%{namearch}'#g;s#@MANDIR@#'%{_mandir}/%{namearch}'#g;s#@PYSITEARCH@#'%{python_sitearch}/%{name}'#g;s#@COMPILER@#openmpi-'%{_arch}%{?_cc_name_suffix}'#g;s#@SUFFIX@#'%{?_cc_name_suffix}'_openmpi#g' < %SOURCE1 > %{buildroot}%{_sysconfdir}/modulefiles/%{namearch}
# make the rpm config file
mkdir -p %{buildroot}/%{_sysconfdir}/rpm
cp %SOURCE3 %{buildroot}/%{_sysconfdir}/rpm/macros.%{namearch}
cp %SOURCE2 %{buildroot}/%{_sysconfdir}/rpm/macros.%{namearch}
mkdir -p %{buildroot}/%{_fmoddir}/%{namearch}
mkdir -p %{buildroot}/%{python_sitearch}/openmpi%{?_cc_name_suffix}
@ -200,7 +201,6 @@ rm -rf %{buildroot}
%defattr(-,root,root,-)
%dir %{_includedir}/%{namearch}
%dir %{_libdir}/%{name}/share/vampirtrace
%{_libdir}/pkgconfig/%{name}.pc
%{_libdir}/%{name}/bin/mpi[cCf]*
%{_libdir}/%{name}/bin/vt*
%{_libdir}/%{name}/bin/opal_*
@ -212,13 +212,27 @@ rm -rf %{buildroot}
%{_mandir}/%{namearch}/man1/opal_*
%{_mandir}/%{namearch}/man3/*
%{_mandir}/%{namearch}/man7/opal*
%{_libdir}/%{name}/share/openmpi/openmpi-valgrind.supp
%{_libdir}/%{name}/share/openmpi/mpi*
%{_libdir}/%{name}/share/vampirtrace/*
%{_sysconfdir}/rpm/macros.%{namearch}
%changelog
* Thu Feb 11 2010 Doug Ledford <dledford@redhat.com> - 1.4-5
- Add an obsolete on openmpi-vt to get rid of stale package in repos
* Mon Mar 29 2010 Jay Fenlason <fenlason@redhat.com> - 1.4.1-4
- Update to fix licencing and packaging issues:
Use the system plpa and ltdl librarires rather than the ones in the tarball
Remove licence incompatible files from the tarball.
- update module.in to prepend-path PYTHONPATH
* Tue Mar 9 2010 Jay Fenlason <fenlason@redhat.com> - 1.4.1-3
- remove the pkgconfig file completely like we did in RHEL.
* Tue Jan 26 2010 Jay Fenlason <fenlason@redhat.com> - 1.4.1-2
- BuildRequires: python
* Tue Jan 26 2010 Jay Fenlason <fenlason@redhat.com> - 1.4.1-1
- New upstream version, which includes the changeset_r22324 patch.
- Correct a typo in the Source0 line in this spec file.
* Fri Jan 15 2010 Doug Ledford <dledford@redhat.com> - 1.4-4
- Fix an issue with usage of _cc_name_suffix that cause a broken define in

View File

@ -1 +1 @@
9786ec0698afed9498ce43dc3978a435 openmpi-1.4.tar.bz2
0a343ebe72050f6795a132a8d6df876e openmpi-1.4.1-RH.tar.bz2