Is there a good technical reason why we put the object files for the f77 binding into both libmpich.a and libfmpich.a? We currently don't use the libfmpich.a version in the mpif77 wrapper script, although Rajeev suspects that it might be used somewhere in MPE. Would there be a _technical_ problem with removing those objects from libmpich.a and adding -lfmpich to the link-line of the mpif77 wrapper script? Before going and making this sort of change, I want to make sure that there aren't any Fortran eccentricities that I've never heard of here. There might be other reasons that we put them there, including habit/ history and user convenience for users that don't use our wrapper scripts. But I'm mostly concerned about any technical issues that I don't know about. This is already what we do for Fortran90 so I would be surprised if this was an issue, but of course f77!=f90. The backstory here is that one of our students this summer, Kumud, is implementing parallel make. Part of those changes involve separating ROMIO files out into a separate mpio.a that is added to the various mpiXX wrappers. When the f77 bindings are included in libmpich.a this causes a problem because they are to the right of -lmpio on the link line and thus can't find most of the MPI-I/O symbols. Current mpif77 link line: $F77 $user_args -lmpich -lopa Proposed mpif77 link line: $F77 $user_args -lfmpich -lmpio -lmpich -lopa The alternative is to repeat -lmpio/-lmpich as many times as are needed to make the linker happy. I think this is quite a bit uglier and would prefer the clear separation of the f77 binding library. -Dave
participants (1)
-
Dave Goodell