Hi Brian,

Thanks for working on this.  I now have a problem building Open MPI, though.  This is from the end of the build log:

 gcc -DHAVE_CONFIG_H -I. -I/Users/willic3/build/openmpi-1.0rc5r8038/ompi/mpi/f77
/profile -I../../../../include -I../../../../include -DOMPI_PROFILE_LAYER=1 -DOM
PI_COMPILING_F77_WRAPPERS=1 -I/Users/willic3/build/openmpi-1.0rc5r8038/include -
I/Users/willic3/build/openmpi-1.0rc5r8038 -I../../../.. -I../../../../include -I
/Users/willic3/build/openmpi-1.0rc5r8038/opal -I/Users/willic3/build/openmpi-1.0
rc5r8038/orte -I/Users/willic3/build/openmpi-1.0rc5r8038/ompi -D_REENTRANT -O3 -
DNDEBUG -fno-strict-aliasing -MT pwaitsome_f.lo -MD -MP -MF .deps/pwaitsome_f.Tp
o -c pwaitsome_f.c  -fno-common -DPIC -o .libs/pwaitsome_f.o
if test ! -r pwtick_f.c ; then \
    pname=`echo pwtick_f.c | cut -b '2-'` ; \
    ln -s /Users/willic3/build/openmpi-1.0rc5r8038/ompi/mpi/f77/$pname pwtick_f.
c ; \
fi
depbase=`echo pwtick_f.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`; \
if /bin/sh ../../../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -
I/Users/willic3/build/openmpi-1.0rc5r8038/ompi/mpi/f77/profile -I../../../../inc
lude -I../../../../include  -DOMPI_PROFILE_LAYER=1 -DOMPI_COMPILING_F77_WRAPPERS
=1 -I/Users/willic3/build/openmpi-1.0rc5r8038/include -I/Users/willic3/build/ope
nmpi-1.0rc5r8038 -I../../../.. -I../../../../include -I/Users/willic3/build/open
mpi-1.0rc5r8038/opal -I/Users/willic3/build/openmpi-1.0rc5r8038/orte -I/Users/wi
llic3/build/openmpi-1.0rc5r8038/ompi  -D_REENTRANT  -O3 -DNDEBUG -fno-strict-ali
asing  -MT pwtick_f.lo -MD -MP -MF "$depbase.Tpo" -c -o pwtick_f.lo pwtick_f.c;
\
then mv -f "$depbase.Tpo" "$depbase.Plo"; else rm -f "$depbase.Tpo"; exit 1; fi
gcc -DHAVE_CONFIG_H -I. -I/Users/willic3/build/openmpi-1.0rc5r8038/ompi/mpi/f77
/profile -I../../../../include -I../../../../include -DOMPI_PROFILE_LAYER=1 -DOM
PI_COMPILING_F77_WRAPPERS=1 -I/Users/willic3/build/openmpi-1.0rc5r8038/include -
I/Users/willic3/build/openmpi-1.0rc5r8038 -I../../../.. -I../../../../include -I
/Users/willic3/build/openmpi-1.0rc5r8038/opal -I/Users/willic3/build/openmpi-1.0
rc5r8038/orte -I/Users/willic3/build/openmpi-1.0rc5r8038/ompi -D_REENTRANT -O3 -
DNDEBUG -fno-strict-aliasing -MT pwtick_f.lo -MD -MP -MF .deps/pwtick_f.Tpo -c p
wtick_f.c  -fno-common -DPIC -o .libs/pwtick_f.o
pwtick_f.c:33: error: conflicting types for 'PMPI_WTICK'
/Users/willic3/build/openmpi-1.0rc5r8038/ompi/mpi/f77/profile/prototypes_pmpi.h:
1483: error: previous declaration of 'PMPI_WTICK' was here
pwtick_f.c: In function 'PMPI_WTICK':
pwtick_f.c:33: error: incompatible types in return
pwtick_f.c: At top level:
pwtick_f.c:34: error: conflicting types for 'pmpi_wtick'
/Users/willic3/build/openmpi-1.0rc5r8038/ompi/mpi/f77/profile/prototypes_pmpi.h:
622: error: previous declaration of 'pmpi_wtick' was here
pwtick_f.c: In function 'pmpi_wtick':
pwtick_f.c:34: error: incompatible types in return
pwtick_f.c: At top level:
pwtick_f.c:35: error: conflicting types for 'pmpi_wtick_'
/Users/willic3/build/openmpi-1.0rc5r8038/ompi/mpi/f77/profile/prototypes_pmpi.h:
909: error: previous declaration of 'pmpi_wtick_' was here

If it would help, I can also send complete configure and build logs.

Thanks,
Charles



On Nov 8, 2005, at 12:00 PM, users-request@open-mpi.org wrote:

Message: 1

Date: Mon, 7 Nov 2005 14:05:02 -0500

From: Brian Barrett <brbarret@open-mpi.org>

Subject: Re: [O-MPI users] Questions about pmpi_wtick and pmpi_wtime

To: Open MPI Users <users@open-mpi.org>

Message-ID: <3AE5C826-7EB8-4CA2-A69D-5A29087B63C1@open-mpi.org>

Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed


On Nov 4, 2005, at 11:41 AM, Charles Williams wrote:


I have been using Open MPI in conjunction with PETSc on OSX 10.4,  

and had been having trouble with undefined symbols when trying  

tests with PETSc:


/usr/bin/ld: Undefined symbols:

_pmpi_wtick__

_pmpi_wtime__


After playing around with things for a while, I realized that these  

undefined symbols only appeared in libmpi_f90.a, and were somehow  

being pulled into the PETSc libraries when they were built.  The  

problem occurred when trying to build an executable that included  

libraries with these undefined symbols.  The simplest solution I  

could think of was to edit include/mpif.h.in.  In the last two  

lines of this file I simply changed:


      double precision MPI_WTIME, MPI_WTICK, PMPI_WTIME, PMPI_WTICK

      external MPI_WTIME, MPI_WTICK, PMPI_WTIME, PMPI_WTICK


to:


<       double precision MPI_WTIME, MPI_WTICK

<       external MPI_WTIME, MPI_WTICK


This fixed the problem for me, and I am wondering whether this is a  

reasonable fix.  My understanding is that the functions are not  

actually part of open-mpi.  Would this approach break anything  

else?  If not, it would be nice to include it, since the only other  

option I can think of for fixing things on OSX 10.4 with the  

current build procedures is to strip libraries of undefined symbols  

before they are used.


Sorry about that.  Some time ago, we decided to make MPI_WTIME and  

MPI_WTICK inline functions in C and not provide a profiling interface  

for them.  Unfortunately, it appears we didn't properly update the  

Fortran or C++ interfaces.  I committed a change so PMPI_WTICK /  

PMPI_WTIME exist and work properly.  That should fix your problem.


The change will be in the next 1.0 release candidate, and the nightly  

tarballs that will be available tomorrow morning.  Release candidates  

and betas will be available at the URL below:


   http://www.open-mpi.org/software/


Hope this helps,


Brian


Charles A. Williams

Dept. of Earth & Environmental Sciences

Science Center, 2C01B

Rensselaer Polytechnic Institute

Troy, NY  12180

Phone:    (518) 276-3369

FAX:        (518) 276-2012

e-mail:    willic3@rpi.edu