Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Charles Williams (willic3_at_[hidden])
Date: 2005-11-08 13:17:00


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_at_[hidden] wrote:

> Message: 1
> Date: Mon, 7 Nov 2005 14:05:02 -0500
> From: Brian Barrett <brbarret_at_[hidden]>
> Subject: Re: [O-MPI users] Questions about pmpi_wtick and pmpi_wtime
> To: Open MPI Users <users_at_[hidden]>
> Message-ID: <3AE5C826-7EB8-4CA2-A69D-5A29087B63C1_at_[hidden]>
> 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_at_[hidden]