[MPICH] problems with MPICH2 on a 64 bit platform

William Gropp gropp at mcs.anl.gov
Mon Jul 30 17:46:51 CDT 2007


Hi Paula,

In the first case, the default name of the MPI library for MPICH2 is  
libmpich.a , so you'll need -lmpich instead of -lmpi .  We did this  
to avoid conflicts with vendor-supplied libmpi.a , but if you don't  
have a vendor-supplied mpi library, you can change the name that  
MPICH2 uses for the library (I believe with the environment variable  
MPILIBNAME).

In case 2, MPICH2 has been configured to support threads  
(MPI_THREAD_MULTIPLE), and it is using routines from the pthread  
library to ensure that the threads do not interfere with each other.   
You can either configure MPICH2 with --enable-threads=funneled or add  
-lpthreads to the link line

Bill

On Jul 30, 2007, at 5:30 PM, Paula González wrote:

> Hello!
> My name is Paula González and I'm working on a 64 bit platform,  
> under Ubuntu Feisty Fawn. I compiled MPICH2 using 64-bit  Intel  
> ifort but I believe I got it wrong, since I'm getting different  
> error messages.
>
> 1 case:
>
> ifort time_manager.o spherical_fourier.o mpp_data.o  
> shallow_diagnostics.o atmos_model.o mpp_io.o atmosphere.o fms_io.o  
> tracer_manager.o diag_util.o spectral_damping.o fft.o  
> shallow_physics.o memuse.o memutils.o threadloc.o diag_data.o  
> diag_axis.o get_cal_time.o diag_manager.o transforms.o spherical.o  
> constants.o fms.o mpp_pset.o spec_mpp.o grid_fourier.o  
> field_manager.o diag_output.o gauss_and_legendre.o nsclock.o  
> leapfrog.o mpp_parameter.o platform.o fv_advection.o mpp.o fft99.o  
> mpp_domains.o shallow_dynamics.o -o fms.x -L/usr/local/lib -lnetcdf  
> -lmpi -lsma
> ld: cannot find -lmpi
>
> another case:
>
> /usr/local/lib/libmpich.a(allreduce.o ): In function  
> `MPIR_Allreduce_inter':
> allreduce.c:(.text+0x1ce): undefined reference to  
> `pthread_getspecific'
> allreduce.c:(.text+0x1fe): undefined reference to  
> `pthread_setspecific'
> /usr/local/lib/libmpich.a( allreduce.o): In function `MPIR_Allreduce':
> allreduce.c:(.text+0x54c): undefined reference to  
> `pthread_getspecific'
> allreduce.c:(.text+0x57c): undefined reference to  
> `pthread_setspecific'
>
> and so on.
>
>
> Could these be related to the fact that I did not onfigure my  
> MPICH2 correctly? Can you Help me ?
>
>
> Thanks!!!
>
> Paula González
>
> -- 
> << we are drowning, the small ones, with loose lips and lies ... >>




More information about the mpich-discuss mailing list