The Fortran compiler adds an underscore (or two) to the function name. So the linker will be looking for MPI_Init_ . See the code in mpich/src/binding to see how MPICH handles this. Rajeev On Jan 18, 2014, at 7:44 AM, Matthieu Dorier <[email protected]> wrote:
Hi,
I've overwritten some MPI_* functions in a C library (typically MPI_Init and MPI_Finalize). When I link a C program with this library using gcc, the overwritten symbols are called correctly. However when using a fortran program, it does not work: the original functions are called. When I do "nm myprog" I see that MPI_Init and PMPI_Init have the same address, which is not the case with a C program. I also tried to compile the fortran program into a .o file using gfortran, then use gcc to link it to mpich, but I get the same result? Any workaround? Thanks!
Matthieu Dorier PhD student at ENS Rennes http://people.irisa.fr/Matthieu.Dorier _______________________________________________ discuss mailing list [email protected] To manage subscription options or unsubscribe: https://lists.mpich.org/mailman/listinfo/discuss