rpms/R-RScaLAPACK/devel R-RScaLAPACK-0.5.1-mpicc.patch, NONE, 1.1 R-RScaLAPACK-0.5.1-openmpi.patch, NONE, 1.1 R-RScaLAPACK.spec, 1.27, 1.28

Tom Callaway spot at fedoraproject.org
Wed Sep 24 20:16:13 UTC 2008


Author: spot

Update of /cvs/extras/rpms/R-RScaLAPACK/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv11029

Modified Files:
	R-RScaLAPACK.spec 
Added Files:
	R-RScaLAPACK-0.5.1-mpicc.patch 
	R-RScaLAPACK-0.5.1-openmpi.patch 
Log Message:
apply a lot more duct tape

R-RScaLAPACK-0.5.1-mpicc.patch:

--- NEW FILE R-RScaLAPACK-0.5.1-mpicc.patch ---
diff -up RScaLAPACK/RScaLAPACK/configure.in.orig RScaLAPACK/RScaLAPACK/configure.in
--- RScaLAPACK/RScaLAPACK/configure.in.orig	2008-09-24 15:53:21.000000000 -0400
+++ RScaLAPACK/RScaLAPACK/configure.in	2008-09-24 15:53:48.000000000 -0400
@@ -9,8 +9,8 @@ if test -z "${R_HOME}"; then
    exit 1
 fi
 
-CC=`"${R_HOME}/bin/R" CMD config CC`
-F77=`"${R_HOME}/bin/R" CMD config F77`
+CC="@MPICC@"
+F77="@MPIF77@"
 RCFLAGS=`"${R_HOME}/bin/R" CMD config CFLAGS`
 CFLAGS="${RCFLAGS} ${CFLAGS}"
 
diff -up RScaLAPACK/RScaLAPACK/src/Makefile.in.BAD RScaLAPACK/RScaLAPACK/src/Makefile.in
--- RScaLAPACK/RScaLAPACK/src/Makefile.in.BAD	2008-09-24 16:00:34.000000000 -0400
+++ RScaLAPACK/RScaLAPACK/src/Makefile.in	2008-09-24 16:00:41.000000000 -0400
@@ -8,6 +8,8 @@ CFLAGS=@CFLAGS@
 PALIBS=@PALIBS@
 exec_dir=../exec
 
+CC=@MPICC@
+SHLIB_LD=@MPISHLIB_LD@
 PA_OBJECTS=ParallelAgent.o PAdistData.o 
 CR_OBJECTS=CRscalapack.o callpdgesv.o callpdgeqrf.o callpdgesvd.o callpdgemm.o\
 		callpdpotrf.o callpdpotri.o callpdsyevd.o CRcollectData.o \

R-RScaLAPACK-0.5.1-openmpi.patch:

--- NEW FILE R-RScaLAPACK-0.5.1-openmpi.patch ---
diff -up RScaLAPACK/RScaLAPACK/configure.in.BAD RScaLAPACK/RScaLAPACK/configure.in
--- RScaLAPACK/RScaLAPACK/configure.in.BAD	2008-09-24 15:46:22.000000000 -0400
+++ RScaLAPACK/RScaLAPACK/configure.in	2008-09-24 15:47:12.000000000 -0400
@@ -20,7 +20,7 @@ supply_blacs=no
 supply_blas=no
 supply_scalapack=no
 MPI_LAM=no
-MPI_MPICH=no
+MPI_OPENMPI=no
 ATLAS_BLAS=yes
 
 AC_ARG_WITH(mpi,
@@ -150,62 +150,32 @@ else
 fi
 
 if test "${MPI_LAM}" = no; then
-	AC_MSG_CHECKING([for MPICH])
+	AC_MSG_CHECKING([for OPENMPI])
 
-	if test "${supply_mpi}" = yes; then
-		AC_MSG_CHECKING([MPI Libraries in ${MPI_HOME}])
-		
-		if test -d ${MPI_HOME}/lib; then
-			AC_MSG_NOTICE(MPICH2-lib detected @ ${MPI_HOME}..)
-
-				
-			if test -f ${MPI_HOME}/lib/libmpich.a; then
-				PALIBS="-lmpich ${PALIBS}"
-				MPI_MPICH=yes
-			else
-				AC_MSG_NOTICE(libmpich.a not found)
-				MPI_MPICH=no
-			fi
-
-			if test -f ${MPI_HOME}/lib/libfmpich.a; then
-				LIBS="-lfmpich ${PALIBS} ${LIBS}"
-				MPI_MPICH=yes
-			else
-				AC_MSG_NOTICE(libfmpich.a not found)
-				MPI_MPICH=no
-			fi
-
-		else
-			AC_MSG_NOTICE("MPICH2 libraries were not detected @ ${MPI_HOME} ..")
-			MPI_MPICH=no
-		fi
-	else
-
-		AC_SEARCH_LIBS(MPI_Comm_spawn, mpich fmpich,[
-			AC_CHECK_LIB(mpich, MPI_Intercomm_merge,[
-				PALIBS="-lmpich"	
-dnl				LIBS="-lmpich ${LIBS}"	
-				MPI_MPICH=yes
-				],[
-				AC_MSG_ERROR(libmpich.a not found,-1)
-				])
+	AC_SEARCH_LIBS(MPI_Comm_spawn, mpi,[
+		AC_CHECK_LIB(mpi, MPI_Intercomm_merge,[
+			PALIBS="-lmpi"	
+dnl			LIBS="-lmpi ${LIBS}"	
+			MPI_OPENMPI=yes
+			],[
+			AC_MSG_ERROR(libmpi not found,-1)
+			])
 			
-			AC_CHECK_LIB(fmpich, mpi_comm_create__,[
-				LIBS="-lfmpich ${LIBS}"
-				MPI_MPICH=yes
-				],[
-					AC_MSG_ERROR(libfmpich.a not found,-1)
-				])
-				],[
-				AC_MSG_NOTICE([MPICH-Libraries not found ..])
-				MPI_MPICH=no
-			]
-		)
-	fi		
+		AC_CHECK_LIB(mpi_f77, pmpi_comm_create__,[
+			LIBS="-lmpi_f77 ${LIBS}"
+			MPI_OPENMPI=yes
+			],[
+				AC_MSG_ERROR(libmpi_f77 not found,-1)
+			])
+			],[
+			AC_MSG_NOTICE([OPENMPI-Libraries not found ..])
+			MPI_OPENMPI=no
+		]
+	)	
 fi
 
-if test "${MPI_LAM}" = no && test "${MPI_MPICH}" = no; then
-	AC_MSG_ERROR(Neither MPICH nor LAM found ..exiting, -1)
+if test "${MPI_LAM}" = no && test "${MPI_OPENMPI}" = no; then
+	AC_MSG_ERROR(Neither OPENMPI nor LAM found ..exiting, -1)
 fi
 
 if test "${supply_blas}" = yes || test "${supply_scalapack}" = yes; then
@@ -362,8 +332,6 @@ dnl AC_OUTPUT()
 AC_SUBST(PALIBS)
 AC_OUTPUT(src/Makefile)
 
-if test "${MPI_MPICH}" = yes; then
-	AC_OUTPUT(R/StartUpMpich2.R)
-else
+if test "${MPI_LAM}" = yes; then
 	AC_OUTPUT(R/StartUpLam.R)
 fi


Index: R-RScaLAPACK.spec
===================================================================
RCS file: /cvs/extras/rpms/R-RScaLAPACK/devel/R-RScaLAPACK.spec,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -r1.27 -r1.28
--- R-RScaLAPACK.spec	8 Jul 2008 21:40:50 -0000	1.27
+++ R-RScaLAPACK.spec	24 Sep 2008 20:15:42 -0000	1.28
@@ -1,5 +1,4 @@
 %define packname RScaLAPACK
-%define lamdir %{_libdir}/lam/lib
 
 %ifarch x86_64 ia64 ppc64 sparc64
 %define bitsize 64
@@ -9,24 +8,25 @@
 
 Name: R-%{packname}
 Version: 0.5.1
-Release: 15%{?dist}
+Release: 16%{?dist}
 Source0: ftp://cran.r-project.org/pub/R/contrib/main/%{packname}_%{version}.tar.gz
 License: MIT
 URL: http://cran.r-project.org/contrib
 Group: Applications/Engineering
 Summary: An interface to perform parallel computation on linear algebra problems using ScaLAPACK
-BuildRequires: lam-libs, lam-devel, R-devel, tetex-latex, lapack-devel
+BuildRequires: openmpi-devel, R-devel, tetex-latex, lapack-devel, blas-devel
 BuildRequires: gcc-gfortran, blacs-devel, scalapack-devel, autoconf, automake
-Requires: R, scalapack, lam-libs
+Requires: R, scalapack, openmpi-libs
 Requires(post): R
 Requires(postun): R
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
-Patch0: R-RScaLAPACK-0.4.0-lam-mpi-blacs.patch
+Patch0: R-RScaLAPACK-0.5.1-mpi-blacs.patch
 Patch1: R-RScaLAPACK-0.5.1-gcc4.patch
-Patch2: R-RScaLAPACK-0.4.0-lam-mpi-blacs64.patch
 Patch3: R-RScaLAPACK-0.5.1-configurefix.patch
 Patch4: R-RScaLAPACK-0.5.1-blacsfix.patch
 Patch5: R-RScaLAPACK-0.5.1-mpi_comm_create_.patch
+Patch6: R-RScaLAPACK-0.5.1-mpicc.patch
+Patch7: R-RScaLAPACK-0.5.1-openmpi.patch
 
 %description
 R package:
@@ -36,27 +36,36 @@
 
 %prep
 %setup -q -c -n %{packname}
-%ifarch x86_64 ppc64 sparc64 alpha
-%patch2 -p1
-%else
 %patch0 -p1
-%endif
 %patch1 -p1
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
-
-%build
+%patch6 -p1
+%patch7 -p1
 cd RScaLAPACK
+
+R_CC=`R CMD config CC`
+R_F77=`R CMD config F77`
+R_SHLIB_LD=`R CMD config SHLIB_LD`
+MPICC=`echo $R_CC| sed 's|gcc|mpicc|'`
+MPIF77=`echo $R_F77 | sed 's|gfortran|mpif77|'`
+MPISHLIB_LD=`echo $R_SHLIB_LD | sed 's|gcc|mpicc|'`
+sed -i "s|@MPICC@|$MPICC|g" configure.in
+sed -i "s|@MPIF77@|$MPIF77|g" configure.in
+sed -i "s|@MPICC@|$MPICC|g" src/Makefile.in
+sed -i "s|@MPISHLIB_LD@|$MPISHLIB_LD|" src/Makefile.in
+
 aclocal
 autoconf
 
+%build
+
 %install
 rm -rf $RPM_BUILD_ROOT
 mkdir -p $RPM_BUILD_ROOT%{_libdir}/R/library
 . /etc/profile.d/modules.sh
-module load %{_libdir}/lam/lam.module
-%{_bindir}/R CMD INSTALL --configure-args="CFLAGS='$RPM_OPT_FLAGS -I%{_libdir}/lam/include/ -L%{lamdir} -L%{_libdir}/lam/ -lutil -lmpiblacsCinit -lmpiblacs -llam -llamf77mpi -lmpi -llapack' FFLAGS='$RPM_OPT_FLAGS -I%{_libdir}/lam/include -L%{lamdir} -L%{_libdir}/lam/ -lutil -llapack -lmpi'" -l $RPM_BUILD_ROOT%{_libdir}/R/library %{packname}
+%{_bindir}/R CMD INSTALL --configure-args="--with-blas=%{_libdir} CC='mpicc' F77='mpif77' CFLAGS='$RPM_OPT_FLAGS -lutil -lmpiblacsCinit -lmpiblacs -lmpi -llapack' FFLAGS='$RPM_OPT_FLAGS -lutil -llapack -lmpi'" -l $RPM_BUILD_ROOT%{_libdir}/R/library %{packname}
 # Clean up in advance of check
 test -d %{packname}/src && (cd %{packname}/src; rm -f *.o *.so)
 rm -rf $RPM_BUILD_ROOT%{_libdir}/R/library/R.css
@@ -79,6 +88,9 @@
 %{_libdir}/R/library/%{packname}/
 
 %changelog
+* Wed Sep 24 2008 Tom "spot" Callaway <tcallawa at redhat.com> - 0.5.1-16
+- use openmpi instead of lam
+
 * Tue Jul  8 2008 Tom "spot" Callaway <tcallawa at redhat.com> - 0.5.1-15
 - look for mpi_comm_create_ not mpi_comm_create__
 




More information about the fedora-extras-commits mailing list