diff -ur mpich-1.2.0/MPI-2-C++/comm_inln.h mpich-1.2.0/MPI-2-C++/src/comm_inln.h
--- mpich-1.2.0/MPI-2-C++/src/comm_inln.h	Tue Dec 19 16:07:04 2000
+++ mpich-1.2.0/MPI-2-C++/src/comm_inln.h	Thu Jun  1 14:23:29 2000
@@ -352,7 +352,7 @@
 _REAL_MPI_::Comm::Create_errhandler(_REAL_MPI_::Comm::ERRHANDLERFN* function)
 {
   MPI_Errhandler errhandler;
-  (void)MPI_Errhandler_create(errhandler_intercept, &errhandler);
+  (void)MPI_Errhandler_create((void (*)())errhandler_intercept, &errhandler);
   _REAL_MPI_::Errhandler temp(errhandler);
   temp.handler_fn = (void(*)(_REAL_MPI_::Comm&, int*, ...))function;
   return temp;
diff -ur mpich-1.2.0/MPI-2-C++/src/perrhandler.h mpich-1.2.0/MPI-2-C++/src/perrhandler.h
--- mpich-1.2.0/MPI-2-C++/src/perrhandler.h	Tue Dec 19 16:07:05 2000
+++ mpich-1.2.0/MPI-2-C++/src/perrhandler.h	Thu Jun  1 14:22:55 2000
@@ -73,7 +73,7 @@
   //this is called from MPI::Real_init
   // g++ doesn't understand friends so this must be public :(
   inline void init() const {
-    (void)MPI_Errhandler_create(&throw_excptn_fctn,
+    (void)MPI_Errhandler_create((void (*)())&throw_excptn_fctn,
 				(MPI_Errhandler *)&mpi_errhandler); 
   }
 };

