ports/100756: math/scalapack: switch to MPICH2.
Thierry Thomas
thierry at pompo.net
Sun Jul 23 16:30:18 UTC 2006
>Number: 100756
>Category: ports
>Synopsis: math/scalapack: switch to MPICH2.
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Sun Jul 23 16:30:15 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Thierry Thomas
>Release: FreeBSD 6.1-STABLE i386
>Organization:
Kabbale Eros
>Environment:
System: FreeBSD graf.pompo.net 6.1-STABLE FreeBSD 6.1-STABLE #0: Tue Jun 27 06:04:37 CEST 2006 thierry at graf.pompo.net:/usr/obj/usr/src/sys/GRAF060511 i386
>Description:
I'm switching Code_Aster and MUMPS to MPICH2, and I'd like to
apply this update to BLACS and SCALAPACK in the same process.
- Switch to net/mpich2;
- Fix BLASLIB;
- Use SUB_FILES and remove pkg-message.
>How-To-Repeat:
N/A.
>Fix:
Please apply the following patch:
--- scalapack.diff begins here ---
diff -urN math/scalapack.orig/Makefile math/scalapack/Makefile
--- math/scalapack.orig/Makefile Tue Jul 11 23:17:49 2006
+++ math/scalapack/Makefile Sun Jul 23 14:17:29 2006
@@ -7,7 +7,7 @@
PORTNAME= scalapack
PORTVERSION= 1.7
-PORTREVISION= 1
+PORTREVISION= 2
CATEGORIES= math
MASTER_SITES= ftp://ftp.netlib.org/scalapack/
DISTNAME= SCALAPACK
@@ -23,7 +23,7 @@
MAINTAINER= maho at FreeBSD.org
COMMENT= The ScaLAPACK Scalable LAPACK library
-BUILD_DEPENDS= ${LOCALBASE}/mpich/lib/libmpich.a:${PORTSDIR}/net/mpich \
+BUILD_DEPENDS= ${LOCALBASE}/mpich2/lib/libmpich.a:${PORTSDIR}/net/mpich2 \
${LOCALBASE}/lib/libblacs.a:${PORTSDIR}/math/blacs \
${LOCALBASE}/bin/f2c:${PORTSDIR}/lang/f2c
LIB_DEPENDS= lapack:${PORTSDIR}/math/lapack \
@@ -40,6 +40,7 @@
DATADIR= ${PREFIX}/share/${PORTNAME:U}
EXAMPLESDIR= ${PREFIX}/share/examples/${PORTNAME:U}
PKGMESSAGE= ${WRKDIR}/pkg-message
+SUB_FILES= pkg-message
.include "files/manpages"
@@ -57,8 +58,9 @@
CFLAGS+= -O3 -ffast-math -finline-functions -fomit-frame-pointer -funroll-loops -fexpensive-optimizations -Wno-multichar
.endif
.endif
+
post-patch:
- ${REINPLACE_CMD} -e 's, at BLAS@,${BLAS},g; s, at WRKSRC@,${WRKSRC},g ; s, at PREFIX@,${PREFIX},g ; s, at CC@,${CC},g ; s, at CFLAGS@,${CFLAGS},g ; s, at F77@,${F77},g ; s, at FFLAGS@,${FFLAGS},g ; s, at F77EXTRAFLAGS@,${F77EXTRAFLAGS},g ; s,^ARCH *.= ar,ARCMD = ar,' ${WRKSRC}/SLmake.inc
+ ${REINPLACE_CMD} -e 's, at BLAS@,${BLAS},g; s, at WRKSRC@,${WRKSRC},g ; s, at LOCALBASE@,${LOCALBASE},g ; s, at CC@,${CC},g ; s, at CFLAGS@,${CFLAGS},g ; s, at F77@,${F77},g ; s, at FFLAGS@,${FFLAGS},g ; s, at F77EXTRAFLAGS@,${F77EXTRAFLAGS},g ; s,^ARCH *.= ar,ARCMD = ar,' ${WRKSRC}/SLmake.inc
.for mkf in ${ARCH2FIX}
${REINPLACE_CMD} -e 's|\$$(ARCH)|$$(ARCMD)|' ${WRKSRC}/${mkf}/Makefile
.endfor
@@ -98,8 +100,6 @@
.endif
post-install:
- @${SED} -e 's,/usr/local,${PREFIX},g' ${FILESDIR}/pkg-message.in \
- > ${PKGMESSAGE}
@${CAT} ${PKGMESSAGE}
.include <bsd.port.post.mk>
diff -urN math/scalapack.orig/files/patch-SLmake.inc math/scalapack/files/patch-SLmake.inc
--- math/scalapack.orig/files/patch-SLmake.inc Tue Jul 11 23:17:49 2006
+++ math/scalapack/files/patch-SLmake.inc Sun Jul 23 16:33:04 2006
@@ -17,7 +17,7 @@
#
BLACSDBGLVL = 0
-BLACSdir = /usr/local/lib
-+BLACSdir = @PREFIX@/lib
++BLACSdir = @LOCALBASE@/lib
#
# MPI setup; tailor to your system if using MPIBLACS
# Will need to comment out these 6 lines if using PVM
@@ -27,7 +27,7 @@
-BLACSFINIT = $(BLACSdir)/libmpiblacsF77init-p4.a
-BLACSCINIT = $(BLACSdir)/libmpiblacsCinit-p4.a
-BLACSLIB = $(BLACSdir)/libmpiblacs-p4.a
-+SMPLIB = @PREFIX@/mpich/lib/libmpich.a @PREFIX@/mpich/lib/libpmpich.a
++SMPLIB = @LOCALBASE@/mpich2/lib/libmpich.a
+BLACSFINIT = $(BLACSdir)/libblacsf77.a
+BLACSCINIT = $(BLACSdir)/libblacsc.a
+BLACSLIB = $(BLACSdir)/libblacs.a
@@ -56,7 +56,7 @@
#
SCALAPACKLIB = $(home)/libscalapack.a
-BLASLIB = /usr/local/lib/libf77blas.a /usr/local/lib/libatlas.a
-+BLASLIB = -L at PREFIX@/lib @BLAS%
++BLASLIB = -L at LOCALBASE@/lib @BLAS@
#
PBLIBS = $(SCALAPACKLIB) $(FBLACSLIB) $(BLASLIB) $(SMPLIB)
PRLIBS = $(SCALAPACKLIB) $(CBLACSLIB) $(SMPLIB)
diff -urN math/scalapack.orig/files/pkg-message.in math/scalapack/files/pkg-message.in
--- math/scalapack.orig/files/pkg-message.in Sat Oct 2 22:16:39 2004
+++ math/scalapack/files/pkg-message.in Sun Jul 23 14:23:13 2006
@@ -1,21 +1,25 @@
***********************************************************************
Please test your scalapack installation
- Example programs are located at /usr/local/share/SCALAPACK/examples
+ Example programs are located at %%EXAMPLESDIR%%
- Test programs are located at /usr/local/share/SCALAPACK/TESTING
+ Test programs are located at %%DATADIR%%/TESTING
Example:
- % cd /usr/local/share/SCALAPACK/TESTING
- % /usr/local/mpich/bin/mpirun -np 4 xcbrd
- % /usr/local/mpich/bin/mpirun -np 4 xcdblu
+ % cd %%DATADIR%%/TESTING
+ % %%LOCALBASE%%/mpich2/bin/mpd &
+ % %%LOCALBASE%%/mpich2/bin/mpirun -np 4 ./xcbrd
+ % %%LOCALBASE%%/mpich2/bin/mpirun -np 4 ./xcdblu
etc., etc. ...
to perform all the tests,
- % cd /usr/local/share/SCALAPACK/TESTING
+ % cd %%DATADIR%%/TESTING
+ % %%LOCALBASE%%/mpich2/bin/mpd &
% csh
% foreach i (x*)
- ? /usr/local/mpich/bin/mpirun -np 4 $i >& ~/$i.log
+ ? %%LOCALBASE%%/mpich2/bin/mpirun -np 4 ./$i >& ~/$i.log
? end
+ % %%LOCALBASE%%/mpich2/bin/mpdallexit
+
You can change -np 4 to any number to meet your environment.
-See files at /usr/local/share/doc/scalapack for detail.
+See files at %%DOCSDIR%% for detail.
**********************************************************************
diff -urN math/scalapack.orig/pkg-message math/scalapack/pkg-message
--- math/scalapack.orig/pkg-message Mon May 5 05:33:39 2003
+++ math/scalapack/pkg-message Thu Jan 1 01:00:00 1970
@@ -1,21 +0,0 @@
-***********************************************************************
- Please test your blacs installation
- Example programs are located at /usr/local/share/SCALAPACK/examples
-
- Test programs are located at /usr/local/share/SCALAPACK/TESTING
-
- Example:
- % cd /usr/local/share/SCLAPACK/TESTING
- % mpirun -np 4 xcbrd
- % mpirun -np 4 xcdblu
- etc., etc. ...
-
- to perform all the tests,
- % cd /usr/local/share/SCLAPACK/TESTING
- % csh
- % foreach i (x*)
- ? mpirun -np 4 $i >& ~/$i.log
- ? end
-You can change -np 4 to any number to meet your environment.
-See files at /usr/local/share/doc/scalapack for detail.
-**********************************************************************
--- scalapack.diff ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list