A trap we fell into was that our system (Linux, not Tru64) had MPI include files for other MPI implementations tucked away here and there. We had to root out all non-LAM MPI files and "hide" them by moving them into subdirectories. It is possible that you are inadvertently picking up the wrong .h file. Did you compile MPI_C_SAMPLE.o with mpicc, or gcc (or pgcc or icc)? MPICH and LAM include files, for example, are absolutely incompatible with one another.
-----Original Message-----
From: Brian W. Barrett [mailto:brbarret_at_[hidden]]
Sent: Friday, June 13, 2003 7:46 AM
To: General LAM/MPI mailing list
Subject: Re: LAM: link problem with lam-6.5.9 on Tru64 Unix 5.1 on ES45
> mpicc MPI_C_SAMPLE.o -o hello -L/usr/local/mpi/lam-6.5.9/lib
> ld:
> Unresolved:
> lam_mpi_comm_world
> lam_mpi_int
> *** Exit 1
> Stop.
>
> I didn't find my system (Alpha-Tru64 Unix5.1 ) in the system, you
> tested. Are there some known problems on this system?
We don't have any Alpha machines to test on, but there shouldn't be any
problems. This doesn't look like a platform problem, actually.
Did you call MPI_Init somewhere in your application? The unresolved
symbols are actually static data structures, which are included in the
file that contains a function called by MPI_Init. If you don't call
MPI_Init, those structures are never "pulled in" to the final executable
and you get unresolved symbols.
Hope this helps,
Brian
--
Brian Barrett
LAM/MPI developer and all around nice guy
Have a LAM/MPI day: http://www.lam-mpi.org/
_______________________________________________
This list is archived at http://www.lam-mpi.org/MailArchives/lam/
|