Aaron,

 

Instead of trying to correct it with LDFLAGS at load time, Can you use compiler

options for your code to match the MPI entry points?

 

Joe

 

 


From: lam-bounces@lam-mpi.org [mailto:lam-bounces@lam-mpi.org] On Behalf Of Aaron Thompson
Sent: Monday, July 09, 2007 11:43 AM
To: General LAM/MPI mailing list
Subject: Re: LAM: Undefined MPI symbols linker error with XLF

 

Underscores could be the issue.  My program is calling MPI functions in all caps with no underscoring, e.g. MPI_SEND .  I tried adding -fno_underscoring to my LDFLAGS, but that didn't help.  Are there any other flags can I try using?

 

Thank you,

 

Aaron Thompson

Vanderbilt University

 

 

Could your problem be Case or leading or trailing underscores?

 

Some code has:

 

MPI_Send

mpi_send

mpi_send_

_mpi_send_

 

The code and MPI libs need to have the same Case and underscore policy.

 

Regards,

joe Griffin



 



 

On Jul 9, 2007, at 1:20 PM, lam-request@lam-mpi.org wrote:



              cp /usr/local/lammpi/include/mpif.h .

         $(MAKE) LD="/opt/ibmcmp/xlf/8.1/bin/xlf -o" \

         LDFLAGS="-I/usr/local/lammpi/include -L/usr/local/lammpi/lib  

-llammpio -llamf77mpi -lmpi -llam -ldl" \

         FC="/opt/ibmcmp/xlf/8.1/bin/xlf" \

         FFLAGS="-c -ffast-math -qstrict -O3 -qarch=auto - 

qmaxmem=32768 -I/usr/local/lammpi/include" \

         EX=$(EX) BINROOT=$(BINROOT) $(TYPE)

 

Here's the exact error I'm getting:

/usr/bin/ld: Undefined symbols:

_mpi_allreduce_

_mpi_barrier_

_mpi_comm_rank_

_mpi_comm_size_

_mpi_finalize_

_mpi_init_

_mpi_recv_

_mpi_send_

_mpi_irecv_

_mpi_wait_

 

Thank you!

 

Aaron Thompson

Vanderbilt University

aaron.p.thompson@vanderbilt.edu