[Users] trouble building cactus

Steve White steve.white at aei.mpg.de
Fri Apr 21 05:01:06 CDT 2006


Stephen,

Please try the attached patch.

First, cd to your Cactus directory,

	patch -p 0 < (path to patch file)/MPICH2.diff

Make sure your ~/.cactus/config file's MPI lines are only
	MPI=MPICH
	MPICH_DIR=(path to mpich2 installation)

Then 
	make (your config)-config
	make (your config)

Let me know how it goes!

On 19.04.06, Stephen Siegel wrote:
> Hi,
> I am trying to build cactus for the first time on my x86 Linux
> box with mpich2 installed and I run into trouble as follows:
> 
> 
> bash-2.05b$ gmake Linux-MPI MPI=MPICH MPICH_DIR=/local/scratch/tools/mpich/mpich2-install
> ________________________________________________________________________
> Cactus - version: 4.0.b15
> Setup configuration Linux-MPI (yes)?
>  
> Setting up new configuration Linux-MPI
> Completely new cactus build.  Creating config database
> Creating new configuration Linux-MPI.
> .
> .
> .
> Configuring with MPI
>   MPICH selected
>   Cannot execute /local/scratch/tools/mpich/mpich2-install/bin/tarch
>  
> Error creating configuration Linux-MPI
> gmake: *** [Linux-MPI] Error 2
> bash-2.05b$ 
> 
> 
> Any ideas what the problem is?
> Thanks,
> Steve
> _______________________________________________
> Users mailing list
> Users at cactuscode.org
> http://www.cactuscode.org/mailman/listinfo/users
> 

-- 
Steve White : Programmer
Max-Planck-Institut für Gravitationsphysik      Albert-Einstein-Institut
Am Mühlenberg 1, D-14476 Golm, Germany                  +49-331-567-7625
-------------- next part --------------
Index: lib/make/extras/MPI/MPICH
===================================================================
RCS file: /cactusdevcvs/Cactus/lib/make/extras/MPI/MPICH,v
retrieving revision 1.25
diff -u -r1.25 MPICH
--- lib/make/extras/MPI/MPICH	24 Oct 2005 09:12:21 -0000	1.25
+++ lib/make/extras/MPI/MPICH	21 Apr 2006 09:57:16 -0000
@@ -43,15 +43,23 @@
 # Find the MPICH architecture
 
 if test -z "$MPICH_ARCH" ; then
-  if test -x "$MPICH_DIR/bin/tarch" ; then
-    MPICH_ARCH=`$MPICH_DIR/bin/tarch`
-    echo "  MPICH architecture is $MPICH_ARCH"
-  else
-    echo "  Cannot execute $MPICH_DIR/bin/tarch"
-    exit 2
+  # MPICH2 doesn't install tarch
+  if test ! -x "$MPICH_DIR/bin/mpich2version" ; then
+    if test -x "$MPICH_DIR/bin/tarch" ; then
+      MPICH_ARCH=`$MPICH_DIR/bin/tarch`
+      echo "  MPICH architecture is $MPICH_ARCH"
+    else
+      echo "  Cannot execute $MPICH_DIR/bin/tarch"
+      exit 2
+    fi
   fi
 fi
 
+if test -x "$MPICH_DIR/bin/mpich2version" ; then
+  # see MPICH2 User's Guide, sect. 5.3: Special Issues for C++
+  CXXFLAGS="$CXXFLAGS -DMPICH_IGNORE_CXX_SEEK"
+fi
+
 # Find the MPICH device - this isn't necessary for mpich-1.2.0
 
 if test -d "$MPICH_DIR/build/$MPICH_ARCH" ; then
@@ -176,7 +184,13 @@
 fi
 
 # Set the MPI version name
-MPI_VERSION="MPICH_$MPICH_DEVICE"
+if test -x "$MPICH_DIR/bin/mpich2version" ; then
+  MPICH2_VERSION=`mpich2version -v`
+  MPICH2_DEVICE=`mpich2version -d`
+  MPI_VERSION="MPICH2 ${MPICH2_VERSION} (${MPICH2_DEVICE})"
+else
+  MPI_VERSION="MPICH_$MPICH_DEVICE"
+fi
 
 # Finally set the library lines.
 MPI_LIBS="$MPICH_LIB $MPICH_DEVICE_LIBS"


More information about the Users mailing list