From 681a5fe4c388a4539dfe40291e6f3e2e44b6954b Mon Sep 17 00:00:00 2001 From: Jay Fenlason Date: Mar 30 2010 14:29:48 +0000 Subject: Backport from F-14 --- diff --git a/.cvsignore b/.cvsignore index 36e0361..1516f94 100644 --- a/.cvsignore +++ b/.cvsignore @@ -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 diff --git a/openmpi-changeset_r22324.patch b/openmpi-changeset_r22324.patch deleted file mode 100644 index 1a7f7ce..0000000 --- a/openmpi-changeset_r22324.patch +++ /dev/null @@ -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; diff --git a/openmpi.module.in b/openmpi.module.in index 4fbf862..8d0cb66 100644 --- a/openmpi.module.in +++ b/openmpi.module.in @@ -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@ diff --git a/openmpi.spec b/openmpi.spec index 99bd06e..1bf194c 100644 --- a/openmpi.spec +++ b/openmpi.spec @@ -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 - 1.4-5 -- Add an obsolete on openmpi-vt to get rid of stale package in repos +* Mon Mar 29 2010 Jay Fenlason - 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 - 1.4.1-3 +- remove the pkgconfig file completely like we did in RHEL. + +* Tue Jan 26 2010 Jay Fenlason - 1.4.1-2 +- BuildRequires: python + +* Tue Jan 26 2010 Jay Fenlason - 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 - 1.4-4 - Fix an issue with usage of _cc_name_suffix that cause a broken define in diff --git a/sources b/sources index c9f13ff..c275396 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -9786ec0698afed9498ce43dc3978a435 openmpi-1.4.tar.bz2 +0a343ebe72050f6795a132a8d6df876e openmpi-1.4.1-RH.tar.bz2